@@ -8,55 +8,20 @@ an Authorisation header that has a valid JWT
8
8
9
9
"use strict" ;
10
10
const fetch = require ( "node-fetch" ) ;
11
- const faunadb = require ( "faunadb" ) ;
12
- const generator = require ( 'generate-password' ) ;
13
-
14
- /* configure faunaDB Client with our secret
15
- DB Secret key is held within the netlify online UI
16
- */
17
- const q = faunadb . query
18
- const client = new faunadb . Client ( {
19
- secret : process . env . FAUNADB_SERVER_SECRET
20
- } )
21
-
22
- /* create a user in FaunaDB that can connect from the browser */
23
- /**
24
- *
25
- * @param {object } userData
26
- * @property {string } userData.id - netlify id nunmber
27
- * @property {object } userData.user_metadata - additonal arbitary
28
- * @param {string } password
29
- */
30
- function createDbUser ( userData , password ) {
31
- return client . query ( q . Create ( q . Collection ( "users" ) , {
32
- credentials : {
33
- password : password
34
- } ,
35
- data : {
36
- id : userData . id ,
37
- user_metadata : userData . user_metadata
38
- }
39
- } ) )
40
- }
41
-
42
- function obtainToken ( user , password ) {
43
- return client . query (
44
- q . Login ( q . Select ( "ref" , user ) , { password } ) )
45
- }
11
+ const identitySignup = require ( './identity-signup' )
46
12
47
13
/**
48
14
* Update the app_metadata for a netlify user to include add the faunaDB token
49
- *
50
15
* @param {object } appMetaDataObject - object containing any additional arbitary data for the user
51
16
* @param {string } usersAdminUrl - url of eg "<SITE.com>/.netlify/identity/admin/users/123-abc-456"
52
17
* @param {string } adminAuthHeader - authorisation JWT
53
18
*/
54
19
function updateNetlifyUserAppMetaData ( appMetaData , usersAdminUrl , JWT ) {
55
20
56
21
return fetch ( usersAdminUrl , {
57
- method : "PUT" ,
58
- headers : { Authorization : `Bearer ${ JWT } ` } ,
59
- body : JSON . stringify ( { app_metadata : appMetaData } )
22
+ method : "PUT" ,
23
+ headers : { Authorization : `Bearer ${ JWT } ` } ,
24
+ body : JSON . stringify ( { app_metadata : appMetaData } )
60
25
} )
61
26
. then ( response => response . json ( ) )
62
27
. then ( data => data )
@@ -83,16 +48,12 @@ function handler(event, context, callback) {
83
48
id : userID ,
84
49
user_metadata : user . user_metadata
85
50
}
86
- const password = generator . generate ( {
87
- length : 10 ,
88
- numbers : true
89
- } ) ;
90
-
51
+ const password = identitySignup . generatePassword ( )
91
52
console . log ( "admin url check" , usersAdminUrl )
92
53
console . log ( "bearer token check" , JWT )
93
54
94
- createDbUser ( userObject , password )
95
- . then ( ( user ) => obtainToken ( user , password ) )
55
+ identitySignup . createDbUser ( userObject , password )
56
+ . then ( ( user ) => identitySignup . obtainToken ( user , password ) )
96
57
. then ( ( key ) => updateNetlifyUserAppMetaData ( { db_token : key . secret } , usersAdminUrl , JWT ) )
97
58
. then ( ( resp ) => {
98
59
console . log ( "Received response: " , ! ! resp )
@@ -106,9 +67,7 @@ function handler(event, context, callback) {
106
67
console . error ( "Unable to create a user account" , error )
107
68
callback ( null , {
108
69
statusCode : 418 ,
109
- body : JSON . stringify ( {
110
- error : error
111
- } )
70
+ body : JSON . stringify ( { error : error } )
112
71
} )
113
72
} )
114
73
}
0 commit comments