@zssz-soft/firebase-functions-shared 1.1.2 → 1.2.1

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.
Files changed (31) hide show
  1. package/lib/__tests__/mocks/firebase-admin.mock.d.ts +81 -0
  2. package/lib/__tests__/mocks/firebase-admin.mock.d.ts.map +1 -0
  3. package/lib/__tests__/mocks/firebase-admin.mock.js +111 -0
  4. package/lib/__tests__/mocks/firebase-admin.mock.js.map +1 -0
  5. package/lib/__tests__/mocks/firebase-functions.mock.d.ts +37 -0
  6. package/lib/__tests__/mocks/firebase-functions.mock.d.ts.map +1 -0
  7. package/lib/__tests__/mocks/firebase-functions.mock.js +59 -0
  8. package/lib/__tests__/mocks/firebase-functions.mock.js.map +1 -0
  9. package/lib/config/app.config.d.ts +5 -0
  10. package/lib/config/app.config.d.ts.map +1 -1
  11. package/lib/config/app.config.js.map +1 -1
  12. package/lib/modules/bootstrap/bootstrap.d.ts +61 -2
  13. package/lib/modules/bootstrap/bootstrap.d.ts.map +1 -1
  14. package/lib/modules/bootstrap/bootstrap.js +200 -141
  15. package/lib/modules/bootstrap/bootstrap.js.map +1 -1
  16. package/lib/modules/email/email.d.ts.map +1 -1
  17. package/lib/modules/email/email.js +1 -1
  18. package/lib/modules/email/email.js.map +1 -1
  19. package/lib/modules/email/email.service.js +1 -1
  20. package/lib/modules/email/email.service.js.map +1 -1
  21. package/lib/modules/security/effective-permissions.d.ts.map +1 -1
  22. package/lib/modules/security/effective-permissions.js +7 -6
  23. package/lib/modules/security/effective-permissions.js.map +1 -1
  24. package/lib/modules/storage/thumbnail-functions.d.ts.map +1 -1
  25. package/lib/modules/storage/thumbnail-functions.js +24 -21
  26. package/lib/modules/storage/thumbnail-functions.js.map +1 -1
  27. package/lib/modules/user/user-management.d.ts +42 -7
  28. package/lib/modules/user/user-management.d.ts.map +1 -1
  29. package/lib/modules/user/user-management.js +131 -79
  30. package/lib/modules/user/user-management.js.map +1 -1
  31. package/package.json +1 -1
@@ -1,162 +1,221 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkBootstrapStatus = exports.systemBootstrap = void 0;
3
+ exports.PERMISSION_CREATE_THUMBNAIL = exports.PERMISSION_USER = exports.PERMISSION_ADMIN = void 0;
4
+ exports.getFirestoreInstance = getFirestoreInstance;
5
+ exports.createBootstrapRoles = createBootstrapRoles;
6
+ exports.validateBootstrapData = validateBootstrapData;
7
+ exports.getAdminPassword = getAdminPassword;
8
+ exports.isSystemBootstrapped = isSystemBootstrapped;
9
+ exports.createRolesIfNotExist = createRolesIfNotExist;
10
+ exports.createAdminUserDocument = createAdminUserDocument;
11
+ exports.executeSystemBootstrap = executeSystemBootstrap;
12
+ exports.executeCheckBootstrapStatus = executeCheckBootstrapStatus;
13
+ exports.handleBootstrapStatusError = handleBootstrapStatusError;
14
+ exports.createSystemBootstrapFunction = createSystemBootstrapFunction;
15
+ exports.createCheckBootstrapStatusFunction = createCheckBootstrapStatusFunction;
4
16
  const firestore_1 = require("firebase-admin/firestore");
17
+ const firebase_functions_1 = require("firebase-functions");
5
18
  const https_1 = require("firebase-functions/https");
6
19
  const config_1 = require("../../config");
7
20
  const user_1 = require("../user");
8
- exports.systemBootstrap = (0, https_1.onCall)(async (request) => {
9
- var _a;
10
- try {
11
- const config = (0, config_1.getConfig)();
12
- const { adminEmail, adminDisplayName = 'Bootstrap Admin', adminPassword } = request.data;
13
- if (!adminEmail) {
14
- throw new https_1.HttpsError('invalid-argument', 'Admin email is required for system bootstrap');
15
- }
16
- const password = adminPassword && adminPassword.length >= 6 ? adminPassword : config.defaultAdminPassword;
17
- const firestore = config.firestoreDatabaseId
18
- ? (0, firestore_1.getFirestore)(config.firestoreDatabaseId)
19
- : (0, firestore_1.getFirestore)();
20
- const usersSnapshot = await firestore.collection(user_1.USER_FEATURE_KEY).limit(1).get();
21
- if (!usersSnapshot.empty) {
22
- return {
23
- success: true,
24
- message: 'System already has users - bootstrap not needed',
25
- userCreated: false,
26
- };
27
- }
28
- let userRecord;
29
- try {
30
- userRecord = await (0, user_1.createAuthUser)(adminEmail, adminDisplayName, password);
31
- }
32
- catch (error) {
33
- if (((_a = error === null || error === void 0 ? void 0 : error.errorInfo) === null || _a === void 0 ? void 0 : _a.code) === 'auth/configuration-not-found') {
34
- throw new https_1.HttpsError('failed-precondition', 'Firebase Authentication is not enabled for this project. Please enable it in the Firebase Console: https://console.firebase.google.com/project/pestcontrol-6f622/authentication');
35
- }
36
- throw error;
37
- }
38
- const bootstrapRoles = [
39
- {
40
- id: '66000',
41
- editable: false,
42
- name: 'ADMIN',
43
- permissions: ['ADMIN', 'createThumbnail'],
44
- meta: {
45
- createdAt: new Date().toISOString(),
46
- updatedAt: new Date().toISOString(),
47
- createdBy: 'system-bootstrap',
48
- updatedBy: 'system-bootstrap',
49
- },
50
- },
51
- {
52
- id: '66001',
53
- editable: false,
54
- name: 'USER',
55
- permissions: ['USER'],
56
- meta: {
57
- createdAt: new Date().toISOString(),
58
- updatedAt: new Date().toISOString(),
59
- createdBy: 'system-bootstrap',
60
- updatedBy: 'system-bootstrap',
61
- },
21
+ // Permission constants - exported for testing
22
+ exports.PERMISSION_ADMIN = 'ADMIN';
23
+ exports.PERMISSION_USER = 'USER';
24
+ exports.PERMISSION_CREATE_THUMBNAIL = 'createThumbnail';
25
+ /**
26
+ * Get Firestore instance based on config
27
+ */
28
+ function getFirestoreInstance(config) {
29
+ return config.firestoreDatabaseId ? (0, firestore_1.getFirestore)(config.firestoreDatabaseId) : (0, firestore_1.getFirestore)();
30
+ }
31
+ /**
32
+ * Create bootstrap roles array based on config
33
+ */
34
+ function createBootstrapRoles(config) {
35
+ const now = new Date().toISOString();
36
+ return [
37
+ {
38
+ id: config.defaultAdminRoleId,
39
+ editable: false,
40
+ name: exports.PERMISSION_ADMIN,
41
+ permissions: [exports.PERMISSION_ADMIN, exports.PERMISSION_CREATE_THUMBNAIL],
42
+ meta: {
43
+ createdAt: now,
44
+ updatedAt: now,
45
+ createdBy: 'system-bootstrap',
46
+ updatedBy: 'system-bootstrap',
62
47
  },
63
- ];
64
- for (const role of bootstrapRoles) {
65
- const roleRef = firestore.collection(user_1.ROLE_FEATURE_KEY).doc(role.id);
66
- const roleDoc = await roleRef.get();
67
- if (!roleDoc.exists) {
68
- await roleRef.set(role);
69
- }
70
- }
71
- const adminUserDoc = {
72
- id: userRecord.uid,
73
- email: adminEmail,
74
- displayName: adminDisplayName,
75
- firstName: 'Bootstrap',
76
- lastName: 'Admin',
48
+ },
49
+ {
50
+ id: config.defaultUserRoleId,
51
+ editable: false,
52
+ name: exports.PERMISSION_USER,
53
+ permissions: [exports.PERMISSION_USER],
77
54
  meta: {
78
- createdAt: new Date(),
79
- updatedAt: new Date(),
55
+ createdAt: now,
56
+ updatedAt: now,
80
57
  createdBy: 'system-bootstrap',
58
+ updatedBy: 'system-bootstrap',
81
59
  },
82
- status: 'active',
83
- roleIds: bootstrapRoles.map((role) => role.id),
84
- };
85
- await firestore.collection(user_1.USER_FEATURE_KEY).doc(userRecord.uid).set(adminUserDoc);
86
- return {
87
- success: true,
88
- message: `Admin user created successfully. Login with email: ${adminEmail} and default password: AdminBootstrap2024!`,
89
- userCreated: true,
90
- userId: userRecord.uid,
91
- };
60
+ },
61
+ ];
62
+ }
63
+ /**
64
+ * Validate bootstrap request data
65
+ */
66
+ function validateBootstrapData(data) {
67
+ if (!data.adminEmail) {
68
+ throw new https_1.HttpsError('invalid-argument', 'Admin email is required for system bootstrap');
92
69
  }
93
- catch (error) {
94
- console.error('System bootstrap error:', error);
95
- throw new https_1.HttpsError('internal', 'System bootstrap failed: ' + (error instanceof Error ? error.message : String(error)));
70
+ }
71
+ /**
72
+ * Get password to use for admin user
73
+ */
74
+ function getAdminPassword(providedPassword, defaultPassword) {
75
+ return providedPassword && providedPassword.length >= 6 ? providedPassword : defaultPassword;
76
+ }
77
+ /**
78
+ * Check if system is already bootstrapped
79
+ */
80
+ async function isSystemBootstrapped(firestore) {
81
+ const usersSnapshot = await firestore.collection(user_1.USER_FEATURE_KEY).limit(1).get();
82
+ return !usersSnapshot.empty;
83
+ }
84
+ /**
85
+ * Create roles in Firestore if they don't exist
86
+ */
87
+ async function createRolesIfNotExist(firestore, roles) {
88
+ for (const role of roles) {
89
+ const roleRef = firestore.collection(user_1.ROLE_FEATURE_KEY).doc(role.id);
90
+ const roleDoc = await roleRef.get();
91
+ if (!roleDoc.exists) {
92
+ await roleRef.set(role);
93
+ }
96
94
  }
97
- });
98
- exports.checkBootstrapStatus = (0, https_1.onCall)(async () => {
95
+ }
96
+ /**
97
+ * Create admin user document in Firestore
98
+ */
99
+ function createAdminUserDocument(uid, email, displayName, roleIds) {
100
+ return {
101
+ id: uid,
102
+ email,
103
+ displayName,
104
+ firstName: 'Bootstrap',
105
+ lastName: 'Admin',
106
+ meta: {
107
+ createdAt: new Date(),
108
+ updatedAt: new Date(),
109
+ createdBy: 'system-bootstrap',
110
+ },
111
+ status: 'active',
112
+ roleIds,
113
+ };
114
+ }
115
+ /**
116
+ * Core bootstrap logic - exported for testing
117
+ */
118
+ async function executeSystemBootstrap(data, config) {
99
119
  var _a;
100
- try {
101
- const config = (0, config_1.getConfig)();
102
- const firestore = config.firestoreDatabaseId
103
- ? (0, firestore_1.getFirestore)(config.firestoreDatabaseId)
104
- : (0, firestore_1.getFirestore)();
105
- const usersSnapshot = await firestore.collection(user_1.USER_FEATURE_KEY).get();
106
- const userCount = usersSnapshot.size;
107
- const isBootstrapped = userCount > 0;
120
+ validateBootstrapData(data);
121
+ const { adminEmail, adminDisplayName = 'Bootstrap Admin', adminPassword } = data;
122
+ const password = getAdminPassword(adminPassword, config.defaultAdminPassword);
123
+ const firestore = getFirestoreInstance(config);
124
+ // Check if already bootstrapped
125
+ if (await isSystemBootstrapped(firestore)) {
108
126
  return {
109
127
  success: true,
110
- message: isBootstrapped
111
- ? `System is bootstrapped with ${userCount} user(s)`
112
- : 'System is not bootstrapped - no users found',
113
- data: {
114
- isBootstrapped,
115
- userCount,
116
- },
128
+ message: 'System already has users - bootstrap not needed',
129
+ userCreated: false,
117
130
  };
118
131
  }
132
+ // Create auth user
133
+ let userRecord;
134
+ try {
135
+ userRecord = await (0, user_1.createAuthUser)(adminEmail, adminDisplayName, password);
136
+ }
119
137
  catch (error) {
120
- console.error('Bootstrap status check error:', error);
121
- // Handle database not found error specifically
122
- if ((error === null || error === void 0 ? void 0 : error.code) === 5 || ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes('NOT_FOUND'))) {
123
- const config = (0, config_1.getConfig)();
124
- throw new https_1.HttpsError('failed-precondition', `Firestore database "${config.firestoreDatabaseId || 'default'}" not found. Please check your database ID in the Firebase Console: https://console.firebase.google.com/project/${config.projectId}/firestore/databases`);
138
+ if (((_a = error === null || error === void 0 ? void 0 : error.errorInfo) === null || _a === void 0 ? void 0 : _a.code) === 'auth/configuration-not-found') {
139
+ throw new https_1.HttpsError('failed-precondition', `Firebase Authentication is not enabled for this project. Please enable it in the Firebase Console: https://console.firebase.google.com/project/${config.projectId}/authentication`);
125
140
  }
126
- throw new https_1.HttpsError('internal', 'Failed to check bootstrap status: ' +
127
- (error instanceof Error ? error.message : String(error)));
141
+ throw error;
142
+ }
143
+ // Create roles
144
+ const bootstrapRoles = createBootstrapRoles(config);
145
+ await createRolesIfNotExist(firestore, bootstrapRoles);
146
+ // Create admin user document
147
+ const adminUserDoc = createAdminUserDocument(userRecord.uid, adminEmail, adminDisplayName, bootstrapRoles.map((role) => role.id));
148
+ await firestore.collection(user_1.USER_FEATURE_KEY).doc(userRecord.uid).set(adminUserDoc);
149
+ return {
150
+ success: true,
151
+ message: `Admin user created successfully. Login with email: ${adminEmail}`,
152
+ userCreated: true,
153
+ userId: userRecord.uid,
154
+ };
155
+ }
156
+ /**
157
+ * Core check bootstrap status logic - exported for testing
158
+ */
159
+ async function executeCheckBootstrapStatus(config) {
160
+ const firestore = getFirestoreInstance(config);
161
+ const usersSnapshot = await firestore.collection(user_1.USER_FEATURE_KEY).get();
162
+ const userCount = usersSnapshot.size;
163
+ const isBootstrapped = userCount > 0;
164
+ return {
165
+ success: true,
166
+ message: isBootstrapped
167
+ ? `System is bootstrapped with ${userCount} user(s)`
168
+ : 'System is not bootstrapped - no users found',
169
+ data: {
170
+ isBootstrapped,
171
+ userCount,
172
+ },
173
+ };
174
+ }
175
+ /**
176
+ * Handle bootstrap status check errors
177
+ */
178
+ function handleBootstrapStatusError(error, config) {
179
+ var _a;
180
+ // Handle database not found error specifically
181
+ if ((error === null || error === void 0 ? void 0 : error.code) === 5 || ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes('NOT_FOUND'))) {
182
+ throw new https_1.HttpsError('failed-precondition', `Firestore database "${config.firestoreDatabaseId || 'default'}" not found. Please check your database ID in the Firebase Console: https://console.firebase.google.com/project/${config.projectId}/firestore/databases`);
128
183
  }
129
- });
130
- // Option 2: HTTP Endpoint with manual CORS (uncomment if needed)
131
- // import * as cors from 'cors';
132
- // import { onRequest } from 'firebase-functions/https';
133
- // const corsHandler = cors({ origin: true });
134
- //
135
- // export const checkBootstrapStatusHttp = onRequest((req, res) => {
136
- // corsHandler(req, res, async () => {
137
- // try {
138
- // const firestore = getFirestore();
139
- // const usersSnapshot = await firestore.collection(USER_FEATURE_KEY).get();
140
- // const userCount = usersSnapshot.size;
141
- // const isBootstrapped = userCount > 0;
142
- //
143
- // res.status(200).json({
144
- // success: true,
145
- // message: isBootstrapped
146
- // ? `System is bootstrapped with ${userCount} user(s)`
147
- // : 'System is not bootstrapped - no users found',
148
- // data: {
149
- // isBootstrapped,
150
- // userCount,
151
- // },
152
- // });
153
- // } catch (error: unknown) {
154
- // res.status(500).json({
155
- // success: false,
156
- // message: 'Failed to check bootstrap status: ' +
157
- // (error instanceof Error ? error.message : String(error)),
158
- // });
159
- // }
160
- // });
161
- // });
184
+ throw new https_1.HttpsError('internal', 'Failed to check bootstrap status: ' + (error instanceof Error ? error.message : String(error)));
185
+ }
186
+ // Cloud Function factory - creates systemBootstrap function
187
+ function createSystemBootstrapFunction() {
188
+ const config = (0, config_1.getConfig)();
189
+ return (0, https_1.onCall)({
190
+ region: config.region,
191
+ enforceAppCheck: config.enforceAppCheck,
192
+ }, async (request) => {
193
+ try {
194
+ return await executeSystemBootstrap(request.data, config);
195
+ }
196
+ catch (error) {
197
+ firebase_functions_1.logger.error('System bootstrap error:', error);
198
+ if (error instanceof https_1.HttpsError) {
199
+ throw error;
200
+ }
201
+ throw new https_1.HttpsError('internal', 'System bootstrap failed: ' + (error instanceof Error ? error.message : String(error)));
202
+ }
203
+ });
204
+ }
205
+ // Cloud Function factory - creates checkBootstrapStatus function
206
+ function createCheckBootstrapStatusFunction() {
207
+ const config = (0, config_1.getConfig)();
208
+ return (0, https_1.onCall)({
209
+ region: config.region,
210
+ enforceAppCheck: config.enforceAppCheck,
211
+ }, async () => {
212
+ try {
213
+ return await executeCheckBootstrapStatus(config);
214
+ }
215
+ catch (error) {
216
+ firebase_functions_1.logger.error('Bootstrap status check error:', error);
217
+ handleBootstrapStatusError(error, config);
218
+ }
219
+ });
220
+ }
162
221
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/modules/bootstrap/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/modules/bootstrap/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/modules/email/email.ts"],"names":[],"mappings":"AAQA,wBAAgB,uBAAuB;;;aAyFtC"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/modules/email/email.ts"],"names":[],"mappings":"AAQA,wBAAgB,uBAAuB;;;aA4FtC"}
@@ -41,7 +41,7 @@ const email_service_1 = require("./email.service");
41
41
  const email_validator_1 = require("./email.validator");
42
42
  function createSendEmailFunction() {
43
43
  const config = (0, config_1.getConfig)();
44
- return (0, https_1.onCall)({ region: config.region }, async (request) => {
44
+ return (0, https_1.onCall)({ region: config.region, enforceAppCheck: config.enforceAppCheck }, async (request) => {
45
45
  if (!request.auth) {
46
46
  throw new https_1.HttpsError('unauthenticated', 'A felhasználónak be kell jelentkeznie az email küldéséhez.');
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/modules/email/email.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/modules/email/email.ts"],"names":[],"mappings":"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"}
@@ -78,7 +78,7 @@ class EmailService {
78
78
  };
79
79
  }
80
80
  catch (error) {
81
- console.error('Email sending error:', error);
81
+ firebase_functions_1.logger.error('Email sending error:', error);
82
82
  return {
83
83
  success: false,
84
84
  error: error instanceof Error ? error.message : 'Unknown error',
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../src/modules/email/email.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../src/modules/email/email.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"effective-permissions.d.ts","sourceRoot":"","sources":["../../../src/modules/security/effective-permissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,0BAA0B,EAG3B,MAAM,gCAAgC,CAAC;AAExC;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAC/C,OAAO,CAAC,IAAI,CAAC,CAyDf;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAC/C,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAC/C,OAAO,CAAC,IAAI,CAAC,CAiBf"}
1
+ {"version":3,"file":"effective-permissions.d.ts","sourceRoot":"","sources":["../../../src/modules/security/effective-permissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,0BAA0B,EAG3B,MAAM,gCAAgC,CAAC;AAExC;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAC/C,OAAO,CAAC,IAAI,CAAC,CAyDf;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAC/C,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAC/C,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -42,6 +42,7 @@ exports.calculateEffectivePermissions = calculateEffectivePermissions;
42
42
  exports.deleteEffectivePermissions = deleteEffectivePermissions;
43
43
  exports.batchUpdateEffectivePermissions = batchUpdateEffectivePermissions;
44
44
  const admin = __importStar(require("firebase-admin"));
45
+ const firebase_functions_1 = require("firebase-functions");
45
46
  const effective_permissions_models_1 = require("./effective-permissions.models");
46
47
  /**
47
48
  * Calculate and cache effective permissions for a user
@@ -55,7 +56,7 @@ async function calculateEffectivePermissions(userId, config = {}) {
55
56
  // Fetch user document
56
57
  const userDoc = await db.collection(cfg.userCollection).doc(userId).get();
57
58
  if (!userDoc.exists) {
58
- console.warn(`User ${userId} does not exist, skipping permission calculation`);
59
+ firebase_functions_1.logger.warn(`User ${userId} does not exist, skipping permission calculation`);
59
60
  return;
60
61
  }
61
62
  const userData = userDoc.data();
@@ -92,7 +93,7 @@ async function calculateEffectivePermissions(userId, config = {}) {
92
93
  .collection(userId)
93
94
  .doc('effective_permissions')
94
95
  .set(effectivePermissions, { merge: false });
95
- console.log(`Updated effective permissions for user ${userId}: ${effectivePermissions.permissions.length} permissions, ${effectivePermissions.roles.length} roles`);
96
+ firebase_functions_1.logger.info(`Updated effective permissions for user ${userId}: ${effectivePermissions.permissions.length} permissions, ${effectivePermissions.roles.length} roles`);
96
97
  }
97
98
  /**
98
99
  * Delete effective permissions cache for a user
@@ -109,7 +110,7 @@ async function deleteEffectivePermissions(userId, config = {}) {
109
110
  .collection(userId)
110
111
  .doc('effective_permissions')
111
112
  .delete();
112
- console.log(`Deleted effective permissions for user ${userId}`);
113
+ firebase_functions_1.logger.info(`Deleted effective permissions for user ${userId}`);
113
114
  }
114
115
  /**
115
116
  * Batch update effective permissions for multiple users
@@ -120,14 +121,14 @@ async function deleteEffectivePermissions(userId, config = {}) {
120
121
  async function batchUpdateEffectivePermissions(userIds, config = {}) {
121
122
  const cfg = Object.assign(Object.assign({}, effective_permissions_models_1.DEFAULT_EFFECTIVE_PERMISSIONS_CONFIG), config);
122
123
  const BATCH_SIZE = cfg.batchSize;
123
- console.log(`Batch updating ${userIds.length} users (batch size: ${BATCH_SIZE})`);
124
+ firebase_functions_1.logger.info(`Batch updating ${userIds.length} users (batch size: ${BATCH_SIZE})`);
124
125
  for (let i = 0; i < userIds.length; i += BATCH_SIZE) {
125
126
  const batch = userIds.slice(i, i + BATCH_SIZE);
126
127
  const batchNumber = Math.floor(i / BATCH_SIZE) + 1;
127
128
  const totalBatches = Math.ceil(userIds.length / BATCH_SIZE);
128
- console.log(`Processing batch ${batchNumber}/${totalBatches} (${batch.length} users)`);
129
+ firebase_functions_1.logger.info(`Processing batch ${batchNumber}/${totalBatches} (${batch.length} users)`);
129
130
  await Promise.all(batch.map((userId) => calculateEffectivePermissions(userId, config)));
130
131
  }
131
- console.log(`Completed batch update for ${userIds.length} users`);
132
+ firebase_functions_1.logger.info(`Completed batch update for ${userIds.length} users`);
132
133
  }
133
134
  //# sourceMappingURL=effective-permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effective-permissions.js","sourceRoot":"","sources":["../../../src/modules/security/effective-permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effective-permissions.js","sourceRoot":"","sources":["../../../src/modules/security/effective-permissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"thumbnail-functions.d.ts","sourceRoot":"","sources":["../../../src/modules/storage/thumbnail-functions.ts"],"names":[],"mappings":"AASA,UAAU,wBAAwB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiTD,eAAO,MAAM,iBAAiB,gGAwO7B,CAAC"}
1
+ {"version":3,"file":"thumbnail-functions.d.ts","sourceRoot":"","sources":["../../../src/modules/storage/thumbnail-functions.ts"],"names":[],"mappings":"AAiBA,UAAU,wBAAwB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiTD,eAAO,MAAM,iBAAiB,gGAuO7B,CAAC"}