uityu.shared 1.0.3 → 1.0.5
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/README.md +64 -33
- package/dist/firebase/admin/firebase-admin.cache.d.ts.map +1 -1
- package/dist/firebase/admin/firebase-admin.cache.js +7 -1
- package/dist/firebase/admin/firebase-admin.cache.js.map +1 -1
- package/dist/firebase/admin/firebase-admin.factory.d.ts.map +1 -1
- package/dist/firebase/admin/firebase-admin.factory.js +96 -15
- package/dist/firebase/admin/firebase-admin.factory.js.map +1 -1
- package/dist/firebase/admin/firebase-admin.types.d.ts +17 -7
- package/dist/firebase/admin/firebase-admin.types.d.ts.map +1 -1
- package/dist/firebase/admin/firebase-admin.types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# uityu.shared
|
|
2
2
|
|
|
3
|
-
Paquete compartido para los microservicios de UITYU. Expone infraestructura lista para producción (Firebase Admin, utilidades
|
|
3
|
+
Paquete compartido para los microservicios de UITYU. Expone infraestructura lista para producción (Firebase Admin, utilidades comunes, logging, normalización de texto, búsqueda, HTTP, etc.) con una API predecible y orientada a DDD.
|
|
4
4
|
|
|
5
5
|
## Instalación
|
|
6
6
|
|
|
@@ -21,47 +21,78 @@ import { getOrCreateFirebaseAdmin } from 'uityu.shared/firebase/admin';
|
|
|
21
21
|
```ts
|
|
22
22
|
import { getOrCreateFirebaseAdmin } from 'uityu.shared/firebase/admin';
|
|
23
23
|
|
|
24
|
-
const
|
|
24
|
+
const firebase = getOrCreateFirebaseAdmin({
|
|
25
25
|
projectId: 'my-project',
|
|
26
|
-
|
|
26
|
+
defaultFirestoreAlias: 'primary',
|
|
27
|
+
defaultFirestoreDbId: '(default)'
|
|
27
28
|
});
|
|
28
29
|
|
|
29
|
-
await
|
|
30
|
+
await firebase.defaultFirestore.collection('users').doc('123').get();
|
|
30
31
|
```
|
|
31
32
|
|
|
32
|
-
### Multi Firestore
|
|
33
|
+
### Multi Firestore con alias
|
|
33
34
|
|
|
34
35
|
```ts
|
|
35
36
|
import { getOrCreateFirebaseAdmin } from 'uityu.shared/firebase/admin';
|
|
36
37
|
|
|
37
|
-
const
|
|
38
|
-
projectId: '
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
const firebase = getOrCreateFirebaseAdmin({
|
|
39
|
+
projectId: 'analytics-project',
|
|
40
|
+
firestoreDatabases: [
|
|
41
|
+
{ alias: 'default', dbId: '(default)' },
|
|
42
|
+
{ alias: 'audit', dbId: 'audit-db' },
|
|
43
|
+
{ alias: 'analytics', dbId: 'analytics-db' }
|
|
44
|
+
]
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
const auditDb = firebase.getFirestore('audit');
|
|
48
|
+
const analyticsDb = firebase.getFirestore('analytics');
|
|
49
|
+
|
|
50
|
+
await auditDb.collection('events').add({ type: 'ACCESS', createdAt: Date.now() });
|
|
51
|
+
await analyticsDb.collection('dashboards').doc('overview').set({ views: 420 });
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Alias impulsados por variables de entorno
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
FIREBASE_PROJECT_ID=my-shared-project
|
|
58
|
+
FIRESTORE_DB_DEFAULT=(default)
|
|
59
|
+
FIRESTORE_DB_ALIASES={"audit":"audit-db","analytics":"analytics-db"}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
import { getOrCreateFirebaseAdmin } from 'uityu.shared/firebase/admin';
|
|
64
|
+
|
|
65
|
+
const firebase = getOrCreateFirebaseAdmin({
|
|
66
|
+
env: () => ({
|
|
67
|
+
FIREBASE_PROJECT_ID: process.env.FIREBASE_PROJECT_ID,
|
|
68
|
+
FIRESTORE_DB_DEFAULT: process.env.FIRESTORE_DB_DEFAULT,
|
|
69
|
+
FIRESTORE_DB_ALIASES: process.env.FIRESTORE_DB_ALIASES
|
|
70
|
+
})
|
|
42
71
|
});
|
|
43
72
|
|
|
44
|
-
|
|
45
|
-
|
|
73
|
+
const primaryDb = firebase.getFirestore();
|
|
74
|
+
const auditDb = firebase.getFirestore('audit');
|
|
46
75
|
```
|
|
47
76
|
|
|
48
|
-
### Uso avanzado con credenciales y
|
|
77
|
+
### Uso avanzado con credenciales y Storage
|
|
49
78
|
|
|
50
79
|
```ts
|
|
51
80
|
import { createFirebaseAdmin } from 'uityu.shared/firebase/admin';
|
|
52
|
-
import
|
|
81
|
+
import * as admin from 'firebase-admin';
|
|
53
82
|
|
|
54
|
-
const
|
|
83
|
+
const firebase = createFirebaseAdmin({
|
|
55
84
|
projectId: 'secure-project',
|
|
56
|
-
credential: credential.cert(JSON.parse(process.env.FIREBASE_SA_JSON ?? '{}')),
|
|
57
|
-
tenantDbId: 'tenant',
|
|
58
|
-
securityDbId: 'security',
|
|
85
|
+
credential: admin.credential.cert(JSON.parse(process.env.FIREBASE_SA_JSON ?? '{}')),
|
|
59
86
|
storageBucket: 'secure-project.appspot.com',
|
|
87
|
+
firestoreDbAliases: {
|
|
88
|
+
default: '(default)',
|
|
89
|
+
media: 'media-db'
|
|
90
|
+
},
|
|
60
91
|
appName: 'secure-project::primary'
|
|
61
92
|
});
|
|
62
93
|
|
|
63
|
-
await
|
|
64
|
-
await
|
|
94
|
+
await firebase.auth.getUser('uid');
|
|
95
|
+
await firebase.storage.bucket().file('path/to/file');
|
|
65
96
|
```
|
|
66
97
|
|
|
67
98
|
### Idempotente por diseño
|
|
@@ -73,14 +104,14 @@ await fb.storage.bucket().file('path/to/file');
|
|
|
73
104
|
|
|
74
105
|
Cada factory devuelve un objeto con:
|
|
75
106
|
|
|
76
|
-
- `app`: instancia de `firebase-admin
|
|
77
|
-
- `
|
|
78
|
-
- `
|
|
79
|
-
- `
|
|
80
|
-
- `auth`: `Auth` inicializado
|
|
81
|
-
- `storage`: `Storage` inicializado
|
|
107
|
+
- `app`: instancia de `firebase-admin`.
|
|
108
|
+
- `defaultFirestore`: instancia asociada al alias predeterminado.
|
|
109
|
+
- `firestores`: mapa alias -> instancia lazily inicializada.
|
|
110
|
+
- `getFirestore(alias?)`: helper para resolver una base por alias (usa el alias predeterminado si se omite).
|
|
111
|
+
- `auth`: `Auth` inicializado.
|
|
112
|
+
- `storage`: `Storage` inicializado.
|
|
82
113
|
|
|
83
|
-
## Common utilities (
|
|
114
|
+
## Common utilities (`@uityu/uityu-shared/common/*`)
|
|
84
115
|
|
|
85
116
|
### Logging listo para JSON
|
|
86
117
|
|
|
@@ -121,7 +152,7 @@ const keepCase = normalizeText(' Mixed Value ', { lowercase: false });
|
|
|
121
152
|
// -> 'Mixed Value'
|
|
122
153
|
```
|
|
123
154
|
|
|
124
|
-
## Errores + HTTP (
|
|
155
|
+
## Errores + HTTP (`@uityu/uityu-shared/errors`, `@uityu/uityu-shared/http`)
|
|
125
156
|
|
|
126
157
|
```ts
|
|
127
158
|
import { AppErrorFactory } from 'uityu.shared/errors';
|
|
@@ -163,7 +194,7 @@ export const handler = (req, res, next) => {
|
|
|
163
194
|
};
|
|
164
195
|
```
|
|
165
196
|
|
|
166
|
-
## Búsqueda (
|
|
197
|
+
## Búsqueda (`@uityu/uityu-shared/search`)
|
|
167
198
|
|
|
168
199
|
```ts
|
|
169
200
|
import {
|
|
@@ -185,10 +216,10 @@ for (const prefix of prefixes) {
|
|
|
185
216
|
|
|
186
217
|
## Por qué adoptar este paquete
|
|
187
218
|
|
|
188
|
-
- Sin copy/paste entre microservicios
|
|
189
|
-
- API estable y versionable (semver)
|
|
190
|
-
- Facilita pruebas e inyección de dependencias
|
|
191
|
-
- Alineado con DDD y SOLID
|
|
219
|
+
- Sin copy/paste entre microservicios.
|
|
220
|
+
- API estable y versionable (semver).
|
|
221
|
+
- Facilita pruebas e inyección de dependencias.
|
|
222
|
+
- Alineado con DDD y SOLID.
|
|
192
223
|
- Preparado para extender con `firebase/functions`, `firebase/pubsub`, etc.
|
|
193
224
|
|
|
194
225
|
## Roadmap sugerido
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-admin.cache.d.ts","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAI3H,eAAO,MAAM,kBAAkB;aACpB,qBAAqB,GAAG,mBAAmB,GAAG,SAAS;aAGvD,qBAAqB,UAAU,mBAAmB,GAAG,mBAAmB;aAIxE,qBAAqB,GAAG,OAAO;CAGzC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,6BAA6B,KAAG,
|
|
1
|
+
{"version":3,"file":"firebase-admin.cache.d.ts","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAI3H,eAAO,MAAM,kBAAkB;aACpB,qBAAqB,GAAG,mBAAmB,GAAG,SAAS;aAGvD,qBAAqB,UAAU,mBAAmB,GAAG,mBAAmB;aAIxE,qBAAqB,GAAG,OAAO;CAGzC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,6BAA6B,KAAG,qBAOtE,CAAC"}
|
|
@@ -11,5 +11,11 @@ export const firebaseAdminCache = {
|
|
|
11
11
|
return facadeCache.has(key);
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
|
-
export const createCacheKey = (config) =>
|
|
14
|
+
export const createCacheKey = (config) => {
|
|
15
|
+
const aliases = Object.keys(config.firestore.dbIds)
|
|
16
|
+
.sort()
|
|
17
|
+
.map((alias) => `${alias}:${config.firestore.dbIds[alias]}`)
|
|
18
|
+
.join('|');
|
|
19
|
+
return [config.projectId, config.firestore.defaultAlias, aliases, config.appName].join('::');
|
|
20
|
+
};
|
|
15
21
|
//# sourceMappingURL=firebase-admin.cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-admin.cache.js","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.cache.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8C,CAAC;AAE1E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,CAAC,GAA0B;QAC5B,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,GAAG,CAAC,GAA0B,EAAE,MAA2B;QACzD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,GAAG,CAAC,GAA0B;QAC5B,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAqC,EAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"firebase-admin.cache.js","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.cache.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8C,CAAC;AAE1E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,CAAC,GAA0B;QAC5B,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,GAAG,CAAC,GAA0B,EAAE,MAA2B;QACzD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,GAAG,CAAC,GAA0B;QAC5B,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAqC,EAAyB,EAAE;IAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;SAChD,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/F,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-admin.factory.d.ts","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"firebase-admin.factory.d.ts","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.factory.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAEzB,MAAM,2BAA2B,CAAC;AAOnC,eAAO,MAAM,mBAAmB,GAAI,QAAQ,mBAAmB,KAAG,mBAWjE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,QAAQ,mBAAmB,KAAG,mBAUtE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as admin from 'firebase-admin';
|
|
2
2
|
import { getApp, initializeApp } from 'firebase-admin/app';
|
|
3
3
|
import { getAuth } from 'firebase-admin/auth';
|
|
4
4
|
import { getFirestore } from 'firebase-admin/firestore';
|
|
@@ -6,6 +6,7 @@ import { getStorage } from 'firebase-admin/storage';
|
|
|
6
6
|
import { FirebaseAdminError } from './firebase-admin.types.js';
|
|
7
7
|
import { createCacheKey, firebaseAdminCache } from './firebase-admin.cache.js';
|
|
8
8
|
const DEFAULT_DB = '(default)';
|
|
9
|
+
const DEFAULT_ALIAS = 'default';
|
|
9
10
|
const DEFAULT_APP_PREFIX = 'uityu.shared';
|
|
10
11
|
export const createFirebaseAdmin = (config) => {
|
|
11
12
|
const normalized = normalizeConfig(config);
|
|
@@ -26,13 +27,30 @@ export const getOrCreateFirebaseAdmin = (config) => {
|
|
|
26
27
|
};
|
|
27
28
|
const bootstrapFirebaseAdmin = (config) => {
|
|
28
29
|
const app = getOrInitializeApp(config);
|
|
29
|
-
const
|
|
30
|
-
const
|
|
30
|
+
const firestores = {};
|
|
31
|
+
const { defaultAlias, dbIds } = config.firestore;
|
|
32
|
+
firestores[defaultAlias] = getFirestore(app, dbIds[defaultAlias]);
|
|
33
|
+
const resolveFirestoreByAlias = (alias) => {
|
|
34
|
+
const targetAlias = alias ?? defaultAlias;
|
|
35
|
+
const cached = firestores[targetAlias];
|
|
36
|
+
if (cached) {
|
|
37
|
+
return cached;
|
|
38
|
+
}
|
|
39
|
+
const dbId = dbIds[targetAlias];
|
|
40
|
+
if (!dbId) {
|
|
41
|
+
throw new FirebaseAdminError(`Firestore alias "${targetAlias}" is not configured.`);
|
|
42
|
+
}
|
|
43
|
+
const instance = getFirestore(app, dbId);
|
|
44
|
+
firestores[targetAlias] = instance;
|
|
45
|
+
return instance;
|
|
46
|
+
};
|
|
47
|
+
const defaultFirestore = firestores[defaultAlias];
|
|
31
48
|
return {
|
|
32
49
|
app,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
50
|
+
firestore: defaultFirestore,
|
|
51
|
+
defaultFirestore,
|
|
52
|
+
firestores,
|
|
53
|
+
getFirestore: resolveFirestoreByAlias,
|
|
36
54
|
auth: getAuth(app),
|
|
37
55
|
storage: getStorage(app)
|
|
38
56
|
};
|
|
@@ -60,26 +78,89 @@ const buildAppOptions = (config) => {
|
|
|
60
78
|
options.credential = config.credential;
|
|
61
79
|
}
|
|
62
80
|
else if (config.serviceAccount) {
|
|
63
|
-
options.credential = credential.cert(config.serviceAccount);
|
|
81
|
+
options.credential = admin.credential.cert(config.serviceAccount);
|
|
64
82
|
}
|
|
65
83
|
return options;
|
|
66
84
|
};
|
|
67
85
|
const normalizeConfig = (config) => {
|
|
68
86
|
const envRecord = resolveEnv(config.env, config.useProcessEnvFallback ?? true);
|
|
69
|
-
const projectId = requireValue(config.projectId, envRecord.
|
|
70
|
-
const
|
|
71
|
-
const securityDbId = resolveValue(config.securityDbId, envRecord.FIRESTORE_DB_SECURITY) ?? tenantDbId;
|
|
87
|
+
const projectId = requireValue(config.projectId, envRecord.FIREBASE_PROJECT_ID, envRecord.GCLOUD_PROJECT);
|
|
88
|
+
const firestore = normalizeFirestoreConfig(config, envRecord);
|
|
72
89
|
const appName = resolveValue(config.appName) ?? `${DEFAULT_APP_PREFIX}::${projectId}`;
|
|
73
90
|
return {
|
|
74
91
|
projectId,
|
|
75
|
-
|
|
76
|
-
securityDbId,
|
|
92
|
+
firestore,
|
|
77
93
|
appName,
|
|
78
94
|
storageBucket: resolveValue(config.storageBucket),
|
|
79
95
|
credential: config.credential,
|
|
80
96
|
serviceAccount: config.serviceAccount
|
|
81
97
|
};
|
|
82
98
|
};
|
|
99
|
+
const normalizeFirestoreConfig = (config, envRecord) => {
|
|
100
|
+
const defaultAlias = resolveValue(config.defaultFirestoreAlias) ?? DEFAULT_ALIAS;
|
|
101
|
+
const defaultDbId = resolveValue(config.defaultFirestoreDbId, envRecord.FIRESTORE_DB_DEFAULT) ?? DEFAULT_DB;
|
|
102
|
+
const aliasMap = {};
|
|
103
|
+
applyAliasRecord(aliasMap, parseAliasRecord(envRecord.FIRESTORE_DB_ALIASES));
|
|
104
|
+
applyAliasRecord(aliasMap, config.firestoreDbAliases);
|
|
105
|
+
applyAliasRecord(aliasMap, convertDatabaseArray(config.firestoreDatabases));
|
|
106
|
+
aliasMap[defaultAlias] = defaultDbId;
|
|
107
|
+
return {
|
|
108
|
+
defaultAlias,
|
|
109
|
+
dbIds: aliasMap
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
const convertDatabaseArray = (entries) => {
|
|
113
|
+
if (!entries?.length) {
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
return entries.reduce((acc, entry) => {
|
|
117
|
+
if (!entry) {
|
|
118
|
+
return acc;
|
|
119
|
+
}
|
|
120
|
+
const alias = trim(entry.alias);
|
|
121
|
+
const dbId = trim(entry.dbId);
|
|
122
|
+
if (alias && dbId) {
|
|
123
|
+
acc[alias] = dbId;
|
|
124
|
+
}
|
|
125
|
+
return acc;
|
|
126
|
+
}, {});
|
|
127
|
+
};
|
|
128
|
+
const applyAliasRecord = (target, source) => {
|
|
129
|
+
if (!source) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
for (const [alias, dbId] of Object.entries(source)) {
|
|
133
|
+
const cleanAlias = trim(alias);
|
|
134
|
+
const cleanDbId = trim(dbId);
|
|
135
|
+
if (cleanAlias && cleanDbId) {
|
|
136
|
+
target[cleanAlias] = cleanDbId;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const parseAliasRecord = (raw) => {
|
|
141
|
+
if (!raw) {
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
const parsed = JSON.parse(raw);
|
|
146
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
147
|
+
throw new Error('Alias definition must be an object.');
|
|
148
|
+
}
|
|
149
|
+
return Object.entries(parsed).reduce((acc, [alias, value]) => {
|
|
150
|
+
const cleanAlias = trim(alias);
|
|
151
|
+
const cleanValue = typeof value === 'string' ? trim(value) : undefined;
|
|
152
|
+
if (cleanAlias && cleanValue) {
|
|
153
|
+
acc[cleanAlias] = cleanValue;
|
|
154
|
+
}
|
|
155
|
+
return acc;
|
|
156
|
+
}, {});
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
throw new FirebaseAdminError('Unable to parse FIRESTORE_DB_ALIASES env variable. Expected JSON object string.', {
|
|
160
|
+
cause: error
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
};
|
|
83
164
|
const resolveEnv = (source, allowProcessEnv) => {
|
|
84
165
|
if (source) {
|
|
85
166
|
return sanitizeEnv(typeof source === 'function' ? source() : source);
|
|
@@ -90,10 +171,10 @@ const resolveEnv = (source, allowProcessEnv) => {
|
|
|
90
171
|
return {};
|
|
91
172
|
};
|
|
92
173
|
const sanitizeEnv = (record = {}) => ({
|
|
93
|
-
|
|
174
|
+
FIREBASE_PROJECT_ID: trim(record.FIREBASE_PROJECT_ID),
|
|
94
175
|
GCLOUD_PROJECT: trim(record.GCLOUD_PROJECT),
|
|
95
|
-
|
|
96
|
-
|
|
176
|
+
FIRESTORE_DB_DEFAULT: trim(record.FIRESTORE_DB_DEFAULT),
|
|
177
|
+
FIRESTORE_DB_ALIASES: trim(record.FIRESTORE_DB_ALIASES)
|
|
97
178
|
});
|
|
98
179
|
const resolveValue = (...candidates) => {
|
|
99
180
|
for (const candidate of candidates) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-admin.factory.js","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.factory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"firebase-admin.factory.js","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,23 +3,32 @@ import type { App } from 'firebase-admin/app';
|
|
|
3
3
|
import type { Auth } from 'firebase-admin/auth';
|
|
4
4
|
import type { Firestore } from 'firebase-admin/firestore';
|
|
5
5
|
import type { Storage } from 'firebase-admin/storage';
|
|
6
|
-
export type FirebaseEnvRecord = Partial<Record<'
|
|
6
|
+
export type FirebaseEnvRecord = Partial<Record<'FIREBASE_PROJECT_ID' | 'GCLOUD_PROJECT' | 'FIRESTORE_DB_DEFAULT' | 'FIRESTORE_DB_ALIASES', string | undefined>>;
|
|
7
7
|
export type FirebaseEnvSource = FirebaseEnvRecord | (() => FirebaseEnvRecord);
|
|
8
|
+
export interface FirestoreDatabaseConfig {
|
|
9
|
+
alias: string;
|
|
10
|
+
dbId: string;
|
|
11
|
+
}
|
|
8
12
|
export interface FirebaseAdminConfig {
|
|
9
13
|
projectId?: string;
|
|
10
14
|
credential?: AppOptions['credential'];
|
|
11
15
|
serviceAccount?: ServiceAccount;
|
|
12
16
|
storageBucket?: string;
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
defaultFirestoreAlias?: string;
|
|
18
|
+
defaultFirestoreDbId?: string;
|
|
19
|
+
firestoreDatabases?: FirestoreDatabaseConfig[];
|
|
20
|
+
firestoreDbAliases?: Record<string, string>;
|
|
15
21
|
appName?: string;
|
|
16
22
|
env?: FirebaseEnvSource;
|
|
17
23
|
useProcessEnvFallback?: boolean;
|
|
18
24
|
}
|
|
25
|
+
export interface NormalizedFirestoreConfig {
|
|
26
|
+
defaultAlias: string;
|
|
27
|
+
dbIds: Record<string, string>;
|
|
28
|
+
}
|
|
19
29
|
export interface NormalizedFirebaseAdminConfig {
|
|
20
30
|
projectId: string;
|
|
21
|
-
|
|
22
|
-
securityDbId: string;
|
|
31
|
+
firestore: NormalizedFirestoreConfig;
|
|
23
32
|
appName: string;
|
|
24
33
|
storageBucket?: string;
|
|
25
34
|
credential?: AppOptions['credential'];
|
|
@@ -27,9 +36,10 @@ export interface NormalizedFirebaseAdminConfig {
|
|
|
27
36
|
}
|
|
28
37
|
export interface FirebaseAdminFacade {
|
|
29
38
|
app: App;
|
|
30
|
-
tenantFirestore: Firestore;
|
|
31
|
-
securityFirestore: Firestore;
|
|
32
39
|
firestore: Firestore;
|
|
40
|
+
defaultFirestore: Firestore;
|
|
41
|
+
firestores: Record<string, Firestore>;
|
|
42
|
+
getFirestore(alias?: string): Firestore;
|
|
33
43
|
auth: Auth;
|
|
34
44
|
storage: Storage;
|
|
35
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-admin.types.d.ts","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,MAAM,
|
|
1
|
+
{"version":3,"file":"firebase-admin.types.d.ts","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,MAAM,CACF,qBAAqB,GACrB,gBAAgB,GAChB,sBAAsB,GACtB,sBAAsB,EACxB,MAAM,GAAG,SAAS,CACnB,CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,CAAC,MAAM,iBAAiB,CAAC,CAAC;AAE9E,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,yBAAyB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE3C,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAO3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-admin.types.js","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"firebase-admin.types.js","sourceRoot":"","sources":["../../../src/firebase/admin/firebase-admin.types.ts"],"names":[],"mappings":"AA+DA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YAClB,IAAoC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9D,CAAC;IACH,CAAC;CACF"}
|