@zssz-soft/firebase-functions-shared 1.2.13 → 1.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/modules/user/index.d.ts +1 -0
- package/lib/modules/user/index.d.ts.map +1 -1
- package/lib/modules/user/index.js +1 -0
- package/lib/modules/user/index.js.map +1 -1
- package/lib/modules/user/user-auth.triggers.d.ts +41 -0
- package/lib/modules/user/user-auth.triggers.d.ts.map +1 -0
- package/lib/modules/user/user-auth.triggers.js +137 -0
- package/lib/modules/user/user-auth.triggers.js.map +1 -0
- package/lib/modules/user/user-management.d.ts +33 -3
- package/lib/modules/user/user-management.d.ts.map +1 -1
- package/lib/modules/user/user-management.js +32 -14
- package/lib/modules/user/user-management.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/user/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/user/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./user.models"), exports);
|
|
18
18
|
__exportStar(require("./user"), exports);
|
|
19
19
|
__exportStar(require("./user-management"), exports);
|
|
20
|
+
__exportStar(require("./user-auth.triggers"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/user/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,yCAAuB;AACvB,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/user/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,yCAAuB;AACvB,oDAAkC;AAClC,uDAAqC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Firebase Auth Triggers for User Document Management
|
|
3
|
+
*
|
|
4
|
+
* Creates Firestore user documents automatically when users sign up
|
|
5
|
+
* via Firebase Auth (email/password, Google, etc.)
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for user auth triggers
|
|
9
|
+
*/
|
|
10
|
+
export interface UserAuthTriggerConfig {
|
|
11
|
+
/** Region for the trigger function */
|
|
12
|
+
region?: string;
|
|
13
|
+
/** Collection name for user documents */
|
|
14
|
+
userCollection?: string;
|
|
15
|
+
/** Default role ID for new users */
|
|
16
|
+
defaultRoleId?: string;
|
|
17
|
+
/** Whether to create user document automatically */
|
|
18
|
+
autoCreateUserDocument?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Return type for user auth triggers factory
|
|
22
|
+
* Using generic function signature to avoid firebase-functions internal type dependencies
|
|
23
|
+
*/
|
|
24
|
+
export interface UserAuthTriggers {
|
|
25
|
+
beforeUserCreated: any;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Factory function to create the beforeUserCreated trigger
|
|
29
|
+
*
|
|
30
|
+
* This blocking function runs BEFORE a new user is created in Firebase Auth.
|
|
31
|
+
* It allows us to:
|
|
32
|
+
* 1. Create the Firestore user document with admin privileges
|
|
33
|
+
* 2. Reject the sign-up if something goes wrong
|
|
34
|
+
*
|
|
35
|
+
* Benefits of beforeUserCreated vs onCreate:
|
|
36
|
+
* - Runs synchronously before user is fully created
|
|
37
|
+
* - Can reject the sign-up if Firestore write fails
|
|
38
|
+
* - User document exists immediately when auth flow completes
|
|
39
|
+
*/
|
|
40
|
+
export declare function createUserAuthTriggers(config?: UserAuthTriggerConfig): UserAuthTriggers;
|
|
41
|
+
//# sourceMappingURL=user-auth.triggers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-auth.triggers.d.ts","sourceRoot":"","sources":["../../../src/modules/user/user-auth.triggers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE/B,iBAAiB,EAAE,GAAG,CAAC;CACxB;AAiBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,qBAA0B,GAAG,gBAAgB,CA6E3F"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Firebase Auth Triggers for User Document Management
|
|
4
|
+
*
|
|
5
|
+
* Creates Firestore user documents automatically when users sign up
|
|
6
|
+
* via Firebase Auth (email/password, Google, etc.)
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.createUserAuthTriggers = createUserAuthTriggers;
|
|
43
|
+
const firestore_1 = require("firebase-admin/firestore");
|
|
44
|
+
const identity_1 = require("firebase-functions/v2/identity");
|
|
45
|
+
const logger = __importStar(require("firebase-functions/logger"));
|
|
46
|
+
const config_1 = require("../../config");
|
|
47
|
+
const user_management_1 = require("./user-management");
|
|
48
|
+
const user_models_1 = require("./user.models");
|
|
49
|
+
const DEFAULT_CONFIG = {
|
|
50
|
+
userCollection: user_models_1.USER_FEATURE_KEY,
|
|
51
|
+
defaultRoleId: 'guest',
|
|
52
|
+
autoCreateUserDocument: true,
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Get Firestore instance based on config
|
|
56
|
+
*/
|
|
57
|
+
function getFirestoreInstance() {
|
|
58
|
+
const appConfig = (0, config_1.getConfig)();
|
|
59
|
+
const databaseId = appConfig.firestoreDatabaseId;
|
|
60
|
+
return databaseId ? (0, firestore_1.getFirestore)(databaseId) : (0, firestore_1.getFirestore)();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Factory function to create the beforeUserCreated trigger
|
|
64
|
+
*
|
|
65
|
+
* This blocking function runs BEFORE a new user is created in Firebase Auth.
|
|
66
|
+
* It allows us to:
|
|
67
|
+
* 1. Create the Firestore user document with admin privileges
|
|
68
|
+
* 2. Reject the sign-up if something goes wrong
|
|
69
|
+
*
|
|
70
|
+
* Benefits of beforeUserCreated vs onCreate:
|
|
71
|
+
* - Runs synchronously before user is fully created
|
|
72
|
+
* - Can reject the sign-up if Firestore write fails
|
|
73
|
+
* - User document exists immediately when auth flow completes
|
|
74
|
+
*/
|
|
75
|
+
function createUserAuthTriggers(config = {}) {
|
|
76
|
+
const cfg = Object.assign(Object.assign({}, DEFAULT_CONFIG), config);
|
|
77
|
+
const appConfig = (0, config_1.getConfig)();
|
|
78
|
+
return {
|
|
79
|
+
/**
|
|
80
|
+
* Blocking function that creates Firestore user document before auth user is finalized
|
|
81
|
+
*/
|
|
82
|
+
beforeUserCreated: (0, identity_1.beforeUserCreated)({
|
|
83
|
+
region: cfg.region || appConfig.region,
|
|
84
|
+
}, async (event) => {
|
|
85
|
+
if (!cfg.autoCreateUserDocument) {
|
|
86
|
+
logger.info('Auto-create user document disabled, skipping');
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const user = event.data;
|
|
90
|
+
if (!user) {
|
|
91
|
+
logger.error('No user data in event');
|
|
92
|
+
throw new identity_1.HttpsError('internal', 'No user data provided');
|
|
93
|
+
}
|
|
94
|
+
const uid = user.uid;
|
|
95
|
+
const email = user.email || '';
|
|
96
|
+
const displayName = user.displayName || email.split('@')[0] || 'User';
|
|
97
|
+
logger.info(`Creating user document for new auth user: ${uid} (${email})`);
|
|
98
|
+
try {
|
|
99
|
+
const db = getFirestoreInstance();
|
|
100
|
+
const userDocRef = db.collection(cfg.userCollection).doc(uid);
|
|
101
|
+
// Check if document already exists (shouldn't happen, but be safe)
|
|
102
|
+
const existingDoc = await userDocRef.get();
|
|
103
|
+
if (existingDoc.exists) {
|
|
104
|
+
logger.info(`User document already exists for ${uid}, skipping creation`);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// Parse display name into first/last name
|
|
108
|
+
const nameParts = displayName.split(' ');
|
|
109
|
+
const firstName = nameParts[0] || '';
|
|
110
|
+
const lastName = nameParts.slice(1).join(' ') || '';
|
|
111
|
+
const userDocument = (0, user_management_1.buildBaseUserDocument)({
|
|
112
|
+
uid,
|
|
113
|
+
email,
|
|
114
|
+
displayName,
|
|
115
|
+
firstName,
|
|
116
|
+
lastName,
|
|
117
|
+
roleIds: [cfg.defaultRoleId],
|
|
118
|
+
createdBy: 'auth-trigger',
|
|
119
|
+
phoneNumber: user.phoneNumber || undefined,
|
|
120
|
+
photoURL: user.photoURL || undefined,
|
|
121
|
+
});
|
|
122
|
+
await userDocRef.set(userDocument);
|
|
123
|
+
logger.info(`User document created successfully for ${uid}`);
|
|
124
|
+
// The beforeUserCreated trigger can return custom claims or session claims
|
|
125
|
+
// We don't need any here, just log success
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
logger.error(`Failed to create user document for ${uid}:`, error);
|
|
130
|
+
// Throwing an error here will BLOCK the user creation
|
|
131
|
+
// This ensures we don't have auth users without Firestore documents
|
|
132
|
+
throw new identity_1.HttpsError('internal', 'Failed to create user profile. Please try again.');
|
|
133
|
+
}
|
|
134
|
+
}),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=user-auth.triggers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-auth.triggers.js","sourceRoot":"","sources":["../../../src/modules/user/user-auth.triggers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DH,wDA6EC;AAxID,wDAAmE;AACnE,6DAA+E;AAC/E,kEAAoD;AAEpD,yCAAyC;AACzC,uDAA0D;AAC1D,+CAAiD;AAyBjD,MAAM,cAAc,GAA0B;IAC5C,cAAc,EAAE,8BAAgB;IAChC,aAAa,EAAE,OAAO;IACtB,sBAAsB,EAAE,IAAI;CAC7B,CAAC;AAEF;;GAEG;AACH,SAAS,oBAAoB;IAC3B,MAAM,SAAS,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,mBAAmB,CAAC;IACjD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAY,GAAE,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,sBAAsB,CAAC,SAAgC,EAAE;IACvE,MAAM,GAAG,mCAAQ,cAAc,GAAK,MAAM,CAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,kBAAS,GAAE,CAAC;IAE9B,OAAO;QACL;;WAEG;QACH,iBAAiB,EAAE,IAAA,4BAAiB,EAClC;YACE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM;SACvC,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACtC,MAAM,IAAI,qBAAU,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YAEtE,MAAM,CAAC,IAAI,CAAC,6CAA6C,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC;YAE3E,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,cAAe,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE/D,mEAAmE;gBACnE,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;gBAC3C,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,oCAAoC,GAAG,qBAAqB,CAAC,CAAC;oBAC1E,OAAO;gBACT,CAAC;gBAED,0CAA0C;gBAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAEpD,MAAM,YAAY,GAAG,IAAA,uCAAqB,EAAC;oBACzC,GAAG;oBACH,KAAK;oBACL,WAAW;oBACX,SAAS;oBACT,QAAQ;oBACR,OAAO,EAAE,CAAC,GAAG,CAAC,aAAc,CAAC;oBAC7B,SAAS,EAAE,cAAc;oBACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;oBAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;iBACrC,CAAC,CAAC;gBAEH,MAAM,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;gBAE7D,2EAA2E;gBAC3E,2CAA2C;gBAC3C,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;gBAElE,sDAAsD;gBACtD,oEAAoE;gBACpE,MAAM,IAAI,qBAAU,CAClB,UAAU,EACV,kDAAkD,CACnD,CAAC;YACJ,CAAC;QACH,CAAC,CACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -33,17 +33,47 @@ export declare function validateCreateUserData(data: CreateUserData): void;
|
|
|
33
33
|
*/
|
|
34
34
|
export declare function getUserPassword(providedPassword: string | undefined, defaultPassword: string): string;
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Input for building a base user document
|
|
37
37
|
*/
|
|
38
|
-
export
|
|
38
|
+
export interface BuildUserDocumentInput {
|
|
39
|
+
uid: string;
|
|
40
|
+
email: string;
|
|
41
|
+
displayName: string;
|
|
42
|
+
firstName: string;
|
|
43
|
+
lastName: string;
|
|
44
|
+
roleIds: string[];
|
|
45
|
+
createdBy: string;
|
|
46
|
+
phoneNumber?: string;
|
|
47
|
+
photoURL?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* User document structure for Firestore
|
|
51
|
+
*/
|
|
52
|
+
export interface FirestoreUserDocument {
|
|
39
53
|
id: string;
|
|
54
|
+
email: string;
|
|
55
|
+
displayName: string;
|
|
56
|
+
firstName: string;
|
|
57
|
+
lastName: string;
|
|
58
|
+
roleIds: string[];
|
|
40
59
|
meta: {
|
|
41
60
|
createdAt: string;
|
|
42
61
|
updatedAt: string;
|
|
43
62
|
createdBy: string;
|
|
44
63
|
updatedBy: string;
|
|
45
64
|
};
|
|
46
|
-
|
|
65
|
+
phoneNumber?: string;
|
|
66
|
+
photoURL?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Build base user document for Firestore
|
|
70
|
+
* Reusable function for creating user documents from different contexts
|
|
71
|
+
*/
|
|
72
|
+
export declare function buildBaseUserDocument(input: BuildUserDocumentInput): FirestoreUserDocument;
|
|
73
|
+
/**
|
|
74
|
+
* Build user document for Firestore (admin context)
|
|
75
|
+
*/
|
|
76
|
+
export declare function buildUserDocument(userRecord: UserRecord, data: CreateUserData, defaultRoleId: string): FirestoreUserDocument;
|
|
47
77
|
/**
|
|
48
78
|
* Send welcome email to user
|
|
49
79
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-management.d.ts","sourceRoot":"","sources":["../../../src/modules/user/user-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAgB,MAAM,0BAA0B,CAAC;AAInE,OAAO,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,YAAY,EAAgB,MAAM,wBAAwB,CAAC;AAIpE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAOjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,eAAe,EAAE,MAAM,GACtB,MAAM,CAER;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"user-management.d.ts","sourceRoot":"","sources":["../../../src/modules/user/user-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.validateCreateUserData = validateCreateUserData;
|
|
37
37
|
exports.getUserPassword = getUserPassword;
|
|
38
|
+
exports.buildBaseUserDocument = buildBaseUserDocument;
|
|
38
39
|
exports.buildUserDocument = buildUserDocument;
|
|
39
40
|
exports.sendUserWelcomeEmail = sendUserWelcomeEmail;
|
|
40
41
|
exports.handleCreateUserError = handleCreateUserError;
|
|
@@ -65,32 +66,49 @@ function getUserPassword(providedPassword, defaultPassword) {
|
|
|
65
66
|
return providedPassword && providedPassword.length >= 6 ? providedPassword : defaultPassword;
|
|
66
67
|
}
|
|
67
68
|
/**
|
|
68
|
-
* Build user document for Firestore
|
|
69
|
+
* Build base user document for Firestore
|
|
70
|
+
* Reusable function for creating user documents from different contexts
|
|
69
71
|
*/
|
|
70
|
-
function
|
|
72
|
+
function buildBaseUserDocument(input) {
|
|
71
73
|
const now = new Date().toISOString();
|
|
72
74
|
const doc = {
|
|
73
|
-
id:
|
|
74
|
-
email:
|
|
75
|
-
displayName:
|
|
76
|
-
firstName:
|
|
77
|
-
lastName:
|
|
75
|
+
id: input.uid,
|
|
76
|
+
email: input.email,
|
|
77
|
+
displayName: input.displayName,
|
|
78
|
+
firstName: input.firstName,
|
|
79
|
+
lastName: input.lastName,
|
|
80
|
+
roleIds: input.roleIds,
|
|
78
81
|
meta: {
|
|
79
82
|
createdAt: now,
|
|
80
83
|
updatedAt: now,
|
|
81
|
-
createdBy:
|
|
82
|
-
updatedBy:
|
|
84
|
+
createdBy: input.createdBy,
|
|
85
|
+
updatedBy: input.createdBy,
|
|
83
86
|
},
|
|
84
|
-
roleIds: data.roleIds || [defaultRoleId],
|
|
85
87
|
};
|
|
86
|
-
if (
|
|
87
|
-
doc.phoneNumber =
|
|
88
|
+
if (input.phoneNumber) {
|
|
89
|
+
doc.phoneNumber = input.phoneNumber;
|
|
88
90
|
}
|
|
89
|
-
if (
|
|
90
|
-
doc.photoURL =
|
|
91
|
+
if (input.photoURL) {
|
|
92
|
+
doc.photoURL = input.photoURL;
|
|
91
93
|
}
|
|
92
94
|
return doc;
|
|
93
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Build user document for Firestore (admin context)
|
|
98
|
+
*/
|
|
99
|
+
function buildUserDocument(userRecord, data, defaultRoleId) {
|
|
100
|
+
return buildBaseUserDocument({
|
|
101
|
+
uid: userRecord.uid,
|
|
102
|
+
email: data.email,
|
|
103
|
+
displayName: userRecord.displayName || `${data.firstName} ${data.lastName}`,
|
|
104
|
+
firstName: data.firstName,
|
|
105
|
+
lastName: data.lastName,
|
|
106
|
+
roleIds: data.roleIds || [defaultRoleId],
|
|
107
|
+
createdBy: 'system-bootstrap',
|
|
108
|
+
phoneNumber: data.phoneNumber,
|
|
109
|
+
photoURL: data.photoURL,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
94
112
|
/**
|
|
95
113
|
* Send welcome email to user
|
|
96
114
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-management.js","sourceRoot":"","sources":["../../../src/modules/user/user-management.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,wDAOC;AAKD,0CAKC;AAKD,
|
|
1
|
+
{"version":3,"file":"user-management.js","sourceRoot":"","sources":["../../../src/modules/user/user-management.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED