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

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 +59 -0
  13. package/lib/modules/bootstrap/bootstrap.d.ts.map +1 -1
  14. package/lib/modules/bootstrap/bootstrap.js +191 -137
  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,216 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkBootstrapStatus = exports.systemBootstrap = void 0;
3
+ exports.checkBootstrapStatus = exports.systemBootstrap = 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;
4
14
  const firestore_1 = require("firebase-admin/firestore");
15
+ const firebase_functions_1 = require("firebase-functions");
5
16
  const https_1 = require("firebase-functions/https");
6
17
  const config_1 = require("../../config");
7
18
  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
- },
19
+ // Permission constants - exported for testing
20
+ exports.PERMISSION_ADMIN = 'ADMIN';
21
+ exports.PERMISSION_USER = 'USER';
22
+ exports.PERMISSION_CREATE_THUMBNAIL = 'createThumbnail';
23
+ /**
24
+ * Get Firestore instance based on config
25
+ */
26
+ function getFirestoreInstance(config) {
27
+ return config.firestoreDatabaseId ? (0, firestore_1.getFirestore)(config.firestoreDatabaseId) : (0, firestore_1.getFirestore)();
28
+ }
29
+ /**
30
+ * Create bootstrap roles array based on config
31
+ */
32
+ function createBootstrapRoles(config) {
33
+ const now = new Date().toISOString();
34
+ return [
35
+ {
36
+ id: config.defaultAdminRoleId,
37
+ editable: false,
38
+ name: exports.PERMISSION_ADMIN,
39
+ permissions: [exports.PERMISSION_ADMIN, exports.PERMISSION_CREATE_THUMBNAIL],
40
+ meta: {
41
+ createdAt: now,
42
+ updatedAt: now,
43
+ createdBy: 'system-bootstrap',
44
+ updatedBy: 'system-bootstrap',
62
45
  },
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',
46
+ },
47
+ {
48
+ id: config.defaultUserRoleId,
49
+ editable: false,
50
+ name: exports.PERMISSION_USER,
51
+ permissions: [exports.PERMISSION_USER],
77
52
  meta: {
78
- createdAt: new Date(),
79
- updatedAt: new Date(),
53
+ createdAt: now,
54
+ updatedAt: now,
80
55
  createdBy: 'system-bootstrap',
56
+ updatedBy: 'system-bootstrap',
81
57
  },
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);
58
+ },
59
+ ];
60
+ }
61
+ /**
62
+ * Validate bootstrap request data
63
+ */
64
+ function validateBootstrapData(data) {
65
+ if (!data.adminEmail) {
66
+ throw new https_1.HttpsError('invalid-argument', 'Admin email is required for system bootstrap');
67
+ }
68
+ }
69
+ /**
70
+ * Get password to use for admin user
71
+ */
72
+ function getAdminPassword(providedPassword, defaultPassword) {
73
+ return providedPassword && providedPassword.length >= 6 ? providedPassword : defaultPassword;
74
+ }
75
+ /**
76
+ * Check if system is already bootstrapped
77
+ */
78
+ async function isSystemBootstrapped(firestore) {
79
+ const usersSnapshot = await firestore.collection(user_1.USER_FEATURE_KEY).limit(1).get();
80
+ return !usersSnapshot.empty;
81
+ }
82
+ /**
83
+ * Create roles in Firestore if they don't exist
84
+ */
85
+ async function createRolesIfNotExist(firestore, roles) {
86
+ for (const role of roles) {
87
+ const roleRef = firestore.collection(user_1.ROLE_FEATURE_KEY).doc(role.id);
88
+ const roleDoc = await roleRef.get();
89
+ if (!roleDoc.exists) {
90
+ await roleRef.set(role);
91
+ }
92
+ }
93
+ }
94
+ /**
95
+ * Create admin user document in Firestore
96
+ */
97
+ function createAdminUserDocument(uid, email, displayName, roleIds) {
98
+ return {
99
+ id: uid,
100
+ email,
101
+ displayName,
102
+ firstName: 'Bootstrap',
103
+ lastName: 'Admin',
104
+ meta: {
105
+ createdAt: new Date(),
106
+ updatedAt: new Date(),
107
+ createdBy: 'system-bootstrap',
108
+ },
109
+ status: 'active',
110
+ roleIds,
111
+ };
112
+ }
113
+ /**
114
+ * Core bootstrap logic - exported for testing
115
+ */
116
+ async function executeSystemBootstrap(data, config) {
117
+ var _a;
118
+ validateBootstrapData(data);
119
+ const { adminEmail, adminDisplayName = 'Bootstrap Admin', adminPassword } = data;
120
+ const password = getAdminPassword(adminPassword, config.defaultAdminPassword);
121
+ const firestore = getFirestoreInstance(config);
122
+ // Check if already bootstrapped
123
+ if (await isSystemBootstrapped(firestore)) {
86
124
  return {
87
125
  success: true,
88
- message: `Admin user created successfully. Login with email: ${adminEmail} and default password: AdminBootstrap2024!`,
89
- userCreated: true,
90
- userId: userRecord.uid,
126
+ message: 'System already has users - bootstrap not needed',
127
+ userCreated: false,
91
128
  };
92
129
  }
130
+ // Create auth user
131
+ let userRecord;
132
+ try {
133
+ userRecord = await (0, user_1.createAuthUser)(adminEmail, adminDisplayName, password);
134
+ }
93
135
  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)));
136
+ if (((_a = error === null || error === void 0 ? void 0 : error.errorInfo) === null || _a === void 0 ? void 0 : _a.code) === 'auth/configuration-not-found') {
137
+ 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`);
138
+ }
139
+ throw error;
96
140
  }
97
- });
98
- exports.checkBootstrapStatus = (0, https_1.onCall)(async () => {
141
+ // Create roles
142
+ const bootstrapRoles = createBootstrapRoles(config);
143
+ await createRolesIfNotExist(firestore, bootstrapRoles);
144
+ // Create admin user document
145
+ const adminUserDoc = createAdminUserDocument(userRecord.uid, adminEmail, adminDisplayName, bootstrapRoles.map((role) => role.id));
146
+ await firestore.collection(user_1.USER_FEATURE_KEY).doc(userRecord.uid).set(adminUserDoc);
147
+ return {
148
+ success: true,
149
+ message: `Admin user created successfully. Login with email: ${adminEmail}`,
150
+ userCreated: true,
151
+ userId: userRecord.uid,
152
+ };
153
+ }
154
+ /**
155
+ * Core check bootstrap status logic - exported for testing
156
+ */
157
+ async function executeCheckBootstrapStatus(config) {
158
+ const firestore = getFirestoreInstance(config);
159
+ const usersSnapshot = await firestore.collection(user_1.USER_FEATURE_KEY).get();
160
+ const userCount = usersSnapshot.size;
161
+ const isBootstrapped = userCount > 0;
162
+ return {
163
+ success: true,
164
+ message: isBootstrapped
165
+ ? `System is bootstrapped with ${userCount} user(s)`
166
+ : 'System is not bootstrapped - no users found',
167
+ data: {
168
+ isBootstrapped,
169
+ userCount,
170
+ },
171
+ };
172
+ }
173
+ /**
174
+ * Handle bootstrap status check errors
175
+ */
176
+ function handleBootstrapStatusError(error, config) {
99
177
  var _a;
178
+ // Handle database not found error specifically
179
+ 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'))) {
180
+ 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`);
181
+ }
182
+ throw new https_1.HttpsError('internal', 'Failed to check bootstrap status: ' + (error instanceof Error ? error.message : String(error)));
183
+ }
184
+ // Cloud Function options
185
+ function getOnCallOptions() {
186
+ const config = (0, config_1.getConfig)();
187
+ return {
188
+ region: config.region,
189
+ enforceAppCheck: config.enforceAppCheck,
190
+ };
191
+ }
192
+ // Cloud Functions exports
193
+ exports.systemBootstrap = (0, https_1.onCall)(getOnCallOptions(), async (request) => {
100
194
  try {
101
195
  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;
108
- return {
109
- 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
- },
117
- };
196
+ return await executeSystemBootstrap(request.data, config);
118
197
  }
119
198
  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`);
199
+ firebase_functions_1.logger.error('System bootstrap error:', error);
200
+ if (error instanceof https_1.HttpsError) {
201
+ throw error;
125
202
  }
126
- throw new https_1.HttpsError('internal', 'Failed to check bootstrap status: ' +
127
- (error instanceof Error ? error.message : String(error)));
203
+ throw new https_1.HttpsError('internal', 'System bootstrap failed: ' + (error instanceof Error ? error.message : String(error)));
204
+ }
205
+ });
206
+ exports.checkBootstrapStatus = (0, https_1.onCall)(getOnCallOptions(), async () => {
207
+ try {
208
+ const config = (0, config_1.getConfig)();
209
+ return await executeCheckBootstrapStatus(config);
210
+ }
211
+ catch (error) {
212
+ firebase_functions_1.logger.error('Bootstrap status check error:', error);
213
+ handleBootstrapStatusError(error, (0, config_1.getConfig)());
128
214
  }
129
215
  });
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
- // });
162
216
  //# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA4C;AAC5C,uDAAyC;AAEzC,yCAAyD;AAGzD,MAAa,YAAY;IAAzB;QACU,gBAAW,GAAkC,IAAI,CAAC;IA2M5D,CAAC;IAzMS,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;YAErC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;gBAC5C,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,IAAI,EAAE,WAAW,CAAC,IAAI;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAqB;QACnC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;YACrC,2BAAM,CAAC,IAAI,CACT,0CAA0C,WAAW,CAAC,IAAI,WAAW,WAAW,CAAC,IAAI,EAAE,CACxF,CAAC;YACF,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,IAAI,WAAW,CAAC,QAAQ,MAAM,WAAW,CAAC,SAAS,GAAG;gBAC5D,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;gBAClE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAErD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2BAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,EAAU,EACV,SAAiB,EACjB,QAAiB;QAEjB,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,0BAA0B,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;oBAiBG,MAAM,CAAC,OAAO;;;;0BAIR,QAAQ,IAAI,aAAa;;;yBAG1B,SAAS;;;;;0BAKR,MAAM,CAAC,OAAO;;;;;KAKnC,CAAC;QAEF,MAAM,IAAI,GAAG;eACF,QAAQ,IAAI,aAAa;;;;;QAKhC,SAAS;;;;;;eAMF,MAAM,CAAC,OAAO;KACxB,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU,EAAE,QAAgB,EAAE,SAAiB;QACpE,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,eAAe,MAAM,CAAC,OAAO,eAAe,CAAC;QAC7D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;oBAiBG,MAAM,CAAC,OAAO;;;;0BAIR,QAAQ;8CACY,MAAM,CAAC,OAAO;;yBAEnC,SAAS;;;;0BAIR,MAAM,CAAC,OAAO;;;;;KAKnC,CAAC;QAEF,MAAM,IAAI,GAAG;eACF,QAAQ;;mCAEY,MAAM,CAAC,OAAO;;uBAE1B,SAAS;;;;eAIjB,MAAM,CAAC,OAAO;KACxB,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,EAAqB,EACrB,OAAe,EACf,OAAe;QAEf,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;oBAgBG,MAAM,CAAC,OAAO;;;mBAGf,OAAO;;;0BAGA,MAAM,CAAC,OAAO;;;;;KAKnC,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF;AA5MD,oCA4MC;AAEY,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -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":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,sEA4DC;AAQD,gEAeC;AAQD,0EAoBC;AA7HD,sDAAwC;AACxC,2DAA4C;AAC5C,iFAIwC;AAExC;;;;;GAKG;AACI,KAAK,UAAU,6BAA6B,CACjD,MAAc,EACd,SAA8C,EAAE;IAEhD,MAAM,GAAG,mCAAQ,mEAAoC,GAAK,MAAM,CAAE,CAAC;IACnE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAE7B,sBAAsB;IACtB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;IAE1E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,2BAAM,CAAC,IAAI,CAAC,QAAQ,MAAM,kDAAkD,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAG,CAAC;IACjC,MAAM,OAAO,GAAa,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAE/D,gCAAgC;IAChC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEjD,uCAAuC;IACvC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAS,CAAC;YACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;YAE7D,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,oBAAoB,GAAyB;QACjD,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;QAC9C,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE;QACvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE;KAC1D,CAAC;IAEF,yEAAyE;IACzE,MAAM,EAAE;SACL,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC;SAClC,GAAG,CAAC,OAAO,CAAC;SACZ,UAAU,CAAC,MAAM,CAAC;SAClB,GAAG,CAAC,uBAAuB,CAAC;SAC5B,GAAG,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAE/C,2BAAM,CAAC,IAAI,CACT,0CAA0C,MAAM,KAAK,oBAAoB,CAAC,WAAW,CAAC,MAAM,iBAAiB,oBAAoB,CAAC,KAAK,CAAC,MAAM,QAAQ,CACvJ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,0BAA0B,CAC9C,MAAc,EACd,SAA8C,EAAE;IAEhD,MAAM,GAAG,mCAAQ,mEAAoC,GAAK,MAAM,CAAE,CAAC;IACnE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAE7B,MAAM,EAAE;SACL,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC;SAClC,GAAG,CAAC,OAAO,CAAC;SACZ,UAAU,CAAC,MAAM,CAAC;SAClB,GAAG,CAAC,uBAAuB,CAAC;SAC5B,MAAM,EAAE,CAAC;IAEZ,2BAAM,CAAC,IAAI,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,+BAA+B,CACnD,OAAiB,EACjB,SAA8C,EAAE;IAEhD,MAAM,GAAG,mCAAQ,mEAAoC,GAAK,MAAM,CAAE,CAAC;IACnE,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC;IAEjC,2BAAM,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,MAAM,uBAAuB,UAAU,GAAG,CAAC,CAAC;IAElF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAE5D,2BAAM,CAAC,IAAI,CAAC,oBAAoB,WAAW,IAAI,YAAY,KAAK,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;QAEvF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,2BAAM,CAAC,IAAI,CAAC,8BAA8B,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;AACpE,CAAC"}
@@ -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"}