@zssz-soft/firebase-functions-shared 1.1.1 → 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.
- package/lib/__tests__/mocks/firebase-admin.mock.d.ts +81 -0
- package/lib/__tests__/mocks/firebase-admin.mock.d.ts.map +1 -0
- package/lib/__tests__/mocks/firebase-admin.mock.js +111 -0
- package/lib/__tests__/mocks/firebase-admin.mock.js.map +1 -0
- package/lib/__tests__/mocks/firebase-functions.mock.d.ts +37 -0
- package/lib/__tests__/mocks/firebase-functions.mock.d.ts.map +1 -0
- package/lib/__tests__/mocks/firebase-functions.mock.js +59 -0
- package/lib/__tests__/mocks/firebase-functions.mock.js.map +1 -0
- package/lib/config/app.config.d.ts +5 -0
- package/lib/config/app.config.d.ts.map +1 -1
- package/lib/config/app.config.js.map +1 -1
- package/lib/modules/bootstrap/bootstrap.d.ts +59 -0
- package/lib/modules/bootstrap/bootstrap.d.ts.map +1 -1
- package/lib/modules/bootstrap/bootstrap.js +191 -137
- package/lib/modules/bootstrap/bootstrap.js.map +1 -1
- package/lib/modules/email/email.d.ts.map +1 -1
- package/lib/modules/email/email.js +1 -1
- package/lib/modules/email/email.js.map +1 -1
- package/lib/modules/email/email.service.js +1 -1
- package/lib/modules/email/email.service.js.map +1 -1
- package/lib/modules/security/effective-permissions.d.ts.map +1 -1
- package/lib/modules/security/effective-permissions.js +7 -6
- package/lib/modules/security/effective-permissions.js.map +1 -1
- package/lib/modules/security/effective-permissions.triggers.d.ts.map +1 -1
- package/lib/modules/security/effective-permissions.triggers.js +17 -4
- package/lib/modules/security/effective-permissions.triggers.js.map +1 -1
- package/lib/modules/storage/thumbnail-functions.d.ts.map +1 -1
- package/lib/modules/storage/thumbnail-functions.js +24 -21
- package/lib/modules/storage/thumbnail-functions.js.map +1 -1
- package/lib/modules/user/user-management.d.ts +42 -7
- package/lib/modules/user/user-management.d.ts.map +1 -1
- package/lib/modules/user/user-management.js +131 -79
- package/lib/modules/user/user-management.js.map +1 -1
- package/package.json +3 -2
|
@@ -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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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:
|
|
79
|
-
updatedAt:
|
|
53
|
+
createdAt: now,
|
|
54
|
+
updatedAt: now,
|
|
80
55
|
createdBy: 'system-bootstrap',
|
|
56
|
+
updatedBy: 'system-bootstrap',
|
|
81
57
|
},
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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:
|
|
89
|
-
userCreated:
|
|
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
|
-
|
|
95
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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', '
|
|
127
|
-
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/modules/bootstrap/bootstrap.ts"],"names":[],"mappings":";;;AAoBA,oDAEC;AAKD,oDA4BC;AAKD,sDAIC;AAKD,4CAKC;AAKD,oDAGC;AAKD,sDAQC;AAKD,0DAoBC;AAKD,wDAoDC;AAKD,kEAkBC;AAKD,gEAaC;AA1ND,wDAAmE;AACnE,2DAA4C;AAC5C,oDAA+E;AAE/E,yCAAoD;AACpD,kCAAmF;AAOnF,8CAA8C;AACjC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,2BAA2B,GAAG,iBAAiB,CAAC;AAE7D;;GAEG;AACH,SAAgB,oBAAoB,CAAC,MAAiB;IACpD,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAA,wBAAY,EAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAY,GAAE,CAAC;AAChG,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,MAAiB;IACpD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL;YACE,EAAE,EAAE,MAAM,CAAC,kBAAkB;YAC7B,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,wBAAgB;YACtB,WAAW,EAAE,CAAC,wBAAgB,EAAE,mCAA2B,CAAC;YAC5D,IAAI,EAAE;gBACJ,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,kBAAkB;gBAC7B,SAAS,EAAE,kBAAkB;aAC9B;SACF;QACD;YACE,EAAE,EAAE,MAAM,CAAC,iBAAiB;YAC5B,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,uBAAe;YACrB,WAAW,EAAE,CAAC,uBAAe,CAAC;YAC9B,IAAI,EAAE;gBACJ,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,kBAAkB;gBAC7B,SAAS,EAAE,kBAAkB;aAC9B;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAyB;IAC7D,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,IAAI,kBAAU,CAAC,kBAAkB,EAAE,8CAA8C,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,gBAAoC,EACpC,eAAuB;IAEvB,OAAO,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;AAC/F,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CAAC,SAAoB;IAC7D,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,uBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAClF,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;AAC9B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,qBAAqB,CAAC,SAAoB,EAAE,KAAa;IAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,uBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,GAAW,EACX,KAAa,EACb,WAAmB,EACnB,OAAiB;IAEjB,OAAO;QACL,EAAE,EAAE,GAAG;QACP,KAAK;QACL,WAAW;QACX,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,kBAAkB;SAC9B;QACD,MAAM,EAAE,QAAQ;QAChB,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAyB,EACzB,MAAiB;;IAEjB,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE5B,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,iBAAiB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACjF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE/C,gCAAgC;IAChC,IAAI,MAAM,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,iDAAiD;YAC1D,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,UAAU,CAAC;IACf,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,IAAA,qBAAc,EAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,0CAAE,IAAI,MAAK,8BAA8B,EAAE,CAAC;YAC9D,MAAM,IAAI,kBAAU,CAClB,qBAAqB,EACrB,kJAAkJ,MAAM,CAAC,SAAS,iBAAiB,CACpL,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,eAAe;IACf,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,qBAAqB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAEvD,6BAA6B;IAC7B,MAAM,YAAY,GAAG,uBAAuB,CAC1C,UAAU,CAAC,GAAG,EACd,UAAU,EACV,gBAAgB,EAChB,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CACtC,CAAC;IACF,MAAM,SAAS,CAAC,UAAU,CAAC,uBAAgB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEnF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,sDAAsD,UAAU,EAAE;QAC3E,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,UAAU,CAAC,GAAG;KACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,2BAA2B,CAC/C,MAAiB;IAEjB,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,uBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC;IACzE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC;IACrC,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;IAErC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,cAAc;YACrB,CAAC,CAAC,+BAA+B,SAAS,UAAU;YACpD,CAAC,CAAC,6CAA6C;QACjD,IAAI,EAAE;YACJ,cAAc;YACd,SAAS;SACV;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,0BAA0B,CAAC,KAAU,EAAE,MAAiB;;IACtE,+CAA+C;IAC/C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,CAAC,KAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,QAAQ,CAAC,WAAW,CAAC,CAAA,EAAE,CAAC;QAC/D,MAAM,IAAI,kBAAU,CAClB,qBAAqB,EACrB,uBAAuB,MAAM,CAAC,mBAAmB,IAAI,SAAS,mHAAmH,MAAM,CAAC,SAAS,sBAAsB,CACxN,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,kBAAU,CAClB,UAAU,EACV,oCAAoC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAChG,CAAC;AACJ,CAAC;AAED,yBAAyB;AACzB,SAAS,gBAAgB;IACvB,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC;AAED,0BAA0B;AACb,QAAA,eAAe,GAAG,IAAA,cAAM,EACnC,gBAAgB,EAAE,EAClB,KAAK,EAAE,OAA6C,EAAkC,EAAE;IACtF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,OAAO,MAAM,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,2BAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,KAAK,YAAY,kBAAU,EAAE,CAAC;YAChC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,kBAAU,CAClB,UAAU,EACV,2BAA2B,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACvF,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEW,QAAA,oBAAoB,GAAG,IAAA,cAAM,EACxC,gBAAgB,EAAE,EAClB,KAAK,IAAoC,EAAE;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,OAAO,MAAM,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,2BAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACrD,0BAA0B,CAAC,KAAK,EAAE,IAAA,kBAAS,GAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/modules/email/email.ts"],"names":[],"mappings":"AAQA,wBAAgB,uBAAuB;;;
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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":"effective-permissions.triggers.d.ts","sourceRoot":"","sources":["../../../src/modules/security/effective-permissions.triggers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,EACL,0BAA0B,EAE3B,MAAM,gCAAgC,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAIzF;;;OAGG;;;;IAcH;;;OAGG;;;;IA8BH;;;OAGG;;;;EAcN;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAIzF;;;OAGG;;;;IA6CH;;;OAGG;;;;EA2BN;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM,EAChD,cAAc,GAAE,MAAuB;
|
|
1
|
+
{"version":3,"file":"effective-permissions.triggers.d.ts","sourceRoot":"","sources":["../../../src/modules/security/effective-permissions.triggers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,EACL,0BAA0B,EAE3B,MAAM,gCAAgC,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAIzF;;;OAGG;;;;IAcH;;;OAGG;;;;IA8BH;;;OAGG;;;;EAcN;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM;IAIzF;;;OAGG;;;;IA6CH;;;OAGG;;;;EA2BN;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,GAAE,OAAO,CAAC,0BAA0B,CAAM,EAChD,cAAc,GAAE,MAAuB;IAkCrC;;;;OAIG;;IA6DH;;;;;OAKG;;EAiDN"}
|
|
@@ -194,10 +194,23 @@ function createAdminPermissionEndpoints(config = {}, adminSecretKey = 'admin.sec
|
|
|
194
194
|
function validateAdminSecret(req) {
|
|
195
195
|
var _a;
|
|
196
196
|
const providedSecret = (_a = req.headers.authorization) === null || _a === void 0 ? void 0 : _a.replace('Bearer ', '');
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
197
|
+
// Try environment variable first (v2 style: ADMIN_SECRET)
|
|
198
|
+
const envVarName = adminSecretKey.toUpperCase().replace(/\./g, '_');
|
|
199
|
+
let secret = process.env[envVarName];
|
|
200
|
+
// Fallback to functions.config() for v1 compatibility (if available)
|
|
201
|
+
if (!secret) {
|
|
202
|
+
try {
|
|
203
|
+
const configPath = adminSecretKey.split('.');
|
|
204
|
+
let config = require('firebase-functions').config();
|
|
205
|
+
for (const key of configPath) {
|
|
206
|
+
config = config === null || config === void 0 ? void 0 : config[key];
|
|
207
|
+
}
|
|
208
|
+
secret = config;
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
// functions.config() not available in v2, which is fine
|
|
212
|
+
console.warn('functions.config() not available, using environment variables only');
|
|
213
|
+
}
|
|
201
214
|
}
|
|
202
215
|
return providedSecret === secret;
|
|
203
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective-permissions.triggers.js","sourceRoot":"","sources":["../../../src/modules/security/effective-permissions.triggers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BH,oEAuEC;AASD,oEAkFC;AASD,
|
|
1
|
+
{"version":3,"file":"effective-permissions.triggers.js","sourceRoot":"","sources":["../../../src/modules/security/effective-permissions.triggers.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":"
|
|
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"}
|