@dereekb/firebase-server 8.9.1 → 8.10.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 (75) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/package.json +7 -7
  3. package/src/lib/auth/auth.nest.d.ts +2 -2
  4. package/src/lib/firestore/driver.accessor.d.ts +1 -1
  5. package/src/lib/firestore/driver.accessor.js +3 -3
  6. package/src/lib/firestore/driver.accessor.js.map +1 -1
  7. package/src/lib/firestore/driver.js +4 -4
  8. package/src/lib/firestore/driver.js.map +1 -1
  9. package/src/lib/firestore/driver.query.d.ts +1 -1
  10. package/src/lib/firestore/driver.query.js +3 -3
  11. package/src/lib/firestore/driver.query.js.map +1 -1
  12. package/src/lib/firestore/firestore.d.ts +1 -1
  13. package/src/lib/firestore/firestore.js +1 -1
  14. package/src/lib/index.d.ts +1 -0
  15. package/src/lib/index.js +1 -0
  16. package/src/lib/index.js.map +1 -1
  17. package/src/lib/nest/app.d.ts +9 -0
  18. package/src/lib/nest/app.js +9 -1
  19. package/src/lib/nest/app.js.map +1 -1
  20. package/src/lib/nest/nest.provider.d.ts +3 -1
  21. package/src/lib/nest/nest.provider.js +4 -0
  22. package/src/lib/nest/nest.provider.js.map +1 -1
  23. package/src/lib/storage/driver.accessor.d.ts +28 -0
  24. package/src/lib/storage/driver.accessor.js +146 -0
  25. package/src/lib/storage/driver.accessor.js.map +1 -0
  26. package/src/lib/storage/driver.d.ts +3 -0
  27. package/src/lib/storage/driver.js +13 -0
  28. package/src/lib/storage/driver.js.map +1 -0
  29. package/src/lib/storage/index.d.ts +5 -0
  30. package/src/lib/storage/index.js +9 -0
  31. package/src/lib/storage/index.js.map +1 -0
  32. package/src/lib/storage/storage.d.ts +14 -0
  33. package/src/lib/storage/storage.js +20 -0
  34. package/src/lib/storage/storage.js.map +1 -0
  35. package/src/lib/storage/storage.nest.d.ts +44 -0
  36. package/src/lib/storage/storage.nest.js +111 -0
  37. package/src/lib/storage/storage.nest.js.map +1 -0
  38. package/src/lib/storage/storage.service.d.ts +17 -0
  39. package/src/lib/storage/storage.service.js +22 -0
  40. package/src/lib/storage/storage.service.js.map +1 -0
  41. package/test/CHANGELOG.md +13 -0
  42. package/test/package.json +10 -10
  43. package/test/src/lib/firebase/firebase.admin.d.ts +16 -1
  44. package/test/src/lib/firebase/firebase.admin.function.d.ts +5 -1
  45. package/test/src/lib/firebase/firebase.admin.function.js +11 -1
  46. package/test/src/lib/firebase/firebase.admin.function.js.map +1 -1
  47. package/test/src/lib/firebase/firebase.admin.js +35 -2
  48. package/test/src/lib/firebase/firebase.admin.js.map +1 -1
  49. package/test/src/lib/firebase/firebase.admin.nest.d.ts +10 -1
  50. package/test/src/lib/firebase/firebase.admin.nest.js +8 -1
  51. package/test/src/lib/firebase/firebase.admin.nest.js.map +1 -1
  52. package/test/src/lib/firebase/firebase.admin.test.server.js +1 -1
  53. package/test/src/lib/firebase/firebase.admin.test.server.js.map +1 -1
  54. package/test/src/lib/firestore/firestore.admin.d.ts +6 -0
  55. package/test/src/lib/firestore/firestore.admin.js +8 -1
  56. package/test/src/lib/firestore/firestore.admin.js.map +1 -1
  57. package/test/src/lib/firestore/firestore.js.map +1 -1
  58. package/test/src/lib/firestore/index.d.ts +1 -1
  59. package/test/src/lib/firestore/index.js +1 -2
  60. package/test/src/lib/firestore/index.js.map +1 -1
  61. package/test/src/lib/index.d.ts +1 -0
  62. package/test/src/lib/index.js +1 -0
  63. package/test/src/lib/index.js.map +1 -1
  64. package/test/src/lib/storage/index.d.ts +2 -0
  65. package/test/src/lib/storage/index.js +6 -0
  66. package/test/src/lib/storage/index.js.map +1 -0
  67. package/test/src/lib/storage/storage.admin.d.ts +15 -0
  68. package/test/src/lib/storage/storage.admin.js +21 -0
  69. package/test/src/lib/storage/storage.admin.js.map +1 -0
  70. package/test/src/lib/storage/storage.d.ts +21 -0
  71. package/test/src/lib/storage/storage.js +61 -0
  72. package/test/src/lib/storage/storage.js.map +1 -0
  73. package/test/src/lib/firestore/firestore.fixture.admin.d.ts +0 -6
  74. package/test/src/lib/firestore/firestore.fixture.admin.js +0 -12
  75. package/test/src/lib/firestore/firestore.fixture.admin.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [8.10.0](https://github.com/dereekb/dbx-components/compare/v8.9.1-dev...v8.10.0) (2022-07-04)
6
+
7
+
8
+ ### Features
9
+
10
+ * added exists(), uploadStream(), getBytes(), getStream() ([e3fe97e](https://github.com/dereekb/dbx-components/commit/e3fe97e5e985125a5ca653c40fd79c7980845863))
11
+ * added firebase storage testing/mock components ([a2524b7](https://github.com/dereekb/dbx-components/commit/a2524b79b50551ed97186c6cb2692bb072d7af48))
12
+ * added FirebaseServerStorageService ([38bf98a](https://github.com/dereekb/dbx-components/commit/38bf98aa76aaddcd0ae2a9487b9a661f7f9f4e6e))
13
+ * added FirebaseStorageContext ([5a30d46](https://github.com/dereekb/dbx-components/commit/5a30d465181d91ce92e7405636fb5414787ac8aa))
14
+ * added firebaseStorageContextFactory ([e940579](https://github.com/dereekb/dbx-components/commit/e9405795092fe4bc403967a93e0bff3a55fdd278))
15
+ * added list() and list exists() ([388c593](https://github.com/dereekb/dbx-components/commit/388c59350897fcc42d61eb723896e23c42211507))
16
+ * added upload byte types, delete() ([655088b](https://github.com/dereekb/dbx-components/commit/655088b238ef80097a2f09c539a1282a608f246b))
17
+
18
+
19
+
5
20
  ## [8.9.1](https://github.com/dereekb/dbx-components/compare/v8.9.0-dev...v8.9.1) (2022-06-30)
6
21
 
7
22
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "8.9.1",
3
+ "version": "8.10.0",
4
4
  "devDependencies": {
5
5
  "firebase-functions-test": "2.0.2"
6
6
  },
@@ -20,27 +20,27 @@
20
20
  "typings": "./src/index.d.ts",
21
21
  "dependencies": {},
22
22
  "peerDependencies": {
23
- "@dereekb/firebase": "8.9.1",
23
+ "@dereekb/firebase": "8.10.0",
24
24
  "rxfire": "^6.0.3",
25
25
  "rxjs": "^7.0.0",
26
26
  "firebase": "^9.8.0",
27
- "@dereekb/util": "8.9.1",
27
+ "@dereekb/util": "8.10.0",
28
28
  "make-error": "^1.3.0",
29
29
  "ts-essentials": "^9.1.2",
30
30
  "extra-set": "^2.2.11",
31
- "@dereekb/rxjs": "8.9.1",
31
+ "@dereekb/rxjs": "8.10.0",
32
32
  "ms": "^3.0.0-canary.1",
33
- "@dereekb/model": "8.9.1",
33
+ "@dereekb/model": "8.10.0",
34
34
  "class-transformer": "^0.5.1",
35
35
  "class-validator": "^0.13.2",
36
- "@dereekb/date": "8.9.1",
36
+ "@dereekb/date": "8.10.0",
37
37
  "date-fns": "^2.28.0",
38
38
  "date-fns-tz": "^1.3.0",
39
39
  "rrule": "2.7.0",
40
40
  "firebase-functions": "^3.22.0",
41
41
  "firebase-admin": "^11.0.0",
42
42
  "@nestjs/common": "^8.4.0",
43
- "@dereekb/nestjs": "8.9.1",
43
+ "@dereekb/nestjs": "8.10.0",
44
44
  "@nestjs/config": "^2.0.1",
45
45
  "@google-cloud/firestore": "^5.0.2",
46
46
  "@nestjs/core": "^8.4.0",
@@ -11,10 +11,10 @@ export declare const FIREBASE_AUTH_TOKEN: InjectionToken;
11
11
  */
12
12
  export declare class FirebaseServerAuthModule {
13
13
  }
14
- export declare type ProvideFirestoreServerAuthServiceSimple<T extends FirebaseServerAuthService> = Pick<FactoryProvider<T>, 'provide'> & {
14
+ export declare type ProvideFirebaseServerAuthServiceSimple<T extends FirebaseServerAuthService> = Pick<FactoryProvider<T>, 'provide'> & {
15
15
  useFactory: (auth: admin.auth.Auth) => T;
16
16
  };
17
- export declare type ProvideFirebaseServerAuthService<T extends FirebaseServerAuthService> = FactoryProvider<T> | ProvideFirestoreServerAuthServiceSimple<T>;
17
+ export declare type ProvideFirebaseServerAuthService<T extends FirebaseServerAuthService> = FactoryProvider<T> | ProvideFirebaseServerAuthServiceSimple<T>;
18
18
  export declare function provideFirebaseServerAuthService<T extends FirebaseServerAuthService>(provider: ProvideFirebaseServerAuthService<T>): [ProvideFirebaseServerAuthService<T>, Provider<T>];
19
19
  export interface FirebaseServerAuthModuleMetadataConfig<T extends FirebaseServerAuthService> extends AdditionalModuleMetadata {
20
20
  readonly serviceProvider: ProvideFirebaseServerAuthService<T>;
@@ -7,5 +7,5 @@ interface CollectionRefForPathInput {
7
7
  }
8
8
  export declare function collectionRefForPath<T>(start: CollectionRefForPathInput, path: string, pathSegments?: string[]): CollectionReference<T>;
9
9
  export declare function docRefForPath<T>(start: DocRefForPathInput, path?: string, pathSegments?: string[]): DocumentReference<T>;
10
- export declare function firestoreClientAccessorDriver(): FirestoreAccessorDriver;
10
+ export declare function googleCloudFirestoreAccessorDriver(): FirestoreAccessorDriver;
11
11
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firestoreClientAccessorDriver = exports.docRefForPath = exports.collectionRefForPath = void 0;
3
+ exports.googleCloudFirestoreAccessorDriver = exports.docRefForPath = exports.collectionRefForPath = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const util_1 = require("@dereekb/util");
6
6
  const driver_accessor_batch_1 = require("./driver.accessor.batch");
@@ -34,7 +34,7 @@ function docRefForPath(start, path, pathSegments) {
34
34
  return doc;
35
35
  }
36
36
  exports.docRefForPath = docRefForPath;
37
- function firestoreClientAccessorDriver() {
37
+ function googleCloudFirestoreAccessorDriver() {
38
38
  return {
39
39
  doc: (collection, path, ...pathSegments) => docRefForPath(collection, path, pathSegments),
40
40
  docAtPath: (firestore, fullPath) => firestore.doc(fullPath),
@@ -48,5 +48,5 @@ function firestoreClientAccessorDriver() {
48
48
  writeBatchContextFactory: driver_accessor_batch_1.writeBatchDocumentContext
49
49
  };
50
50
  }
51
- exports.firestoreClientAccessorDriver = firestoreClientAccessorDriver;
51
+ exports.googleCloudFirestoreAccessorDriver = googleCloudFirestoreAccessorDriver;
52
52
  //# sourceMappingURL=driver.accessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.ts"],"names":[],"mappings":";;;;AACA,wCAAsC;AAEtC,mEAAoE;AACpE,uEAA4E;AAC5E,+EAA2E;AAY3E,SAAgB,oBAAoB,CAAI,KAAgC,EAAE,IAAY,EAAE,YAAuB;IAC7G,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,KAAK,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,QAAQ,YAAY,GAAG,CAAC,CAAC;SACjH;QAED,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,GAAG,GAAI,GAA+B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAA6B,CAAC;AACvC,CAAC;AAjBD,oDAiBC;AAED,SAAgB,aAAa,CAAI,KAAyB,EAAE,IAAa,EAAE,YAAuB;IAChG,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,KAAwC,CAAC,GAAG,EAAE,CAAiC,CAAC;IAErH,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAA2B,CAAC;AACrC,CAAC;AAdD,sCAcC;AAED,SAAgB,6BAA6B;IAC3C,OAAO;QACL,GAAG,EAAE,CAAI,UAAkC,EAAE,IAAa,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,aAAa,CAAC,UAA4C,EAAE,IAAI,EAAE,YAAY,CAAyB;QACjM,SAAS,EAAE,CAAI,SAAoB,EAAE,QAAgB,EAAE,EAAE,CAAE,SAAkC,CAAC,GAAG,CAAC,QAAQ,CAAyB;QACnI,eAAe,EAAE,CAAI,SAAoB,EAAE,YAAoB,EAAE,EAAE,CAAE,SAAkC,CAAC,eAAe,CAAC,YAAY,CAAuB;QAC3J,UAAU,EAAE,CAAI,SAAoB,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAiC,EAAE,IAAI,EAAE,YAAY,CAA2B;QACvL,aAAa,EAAE,CAAI,QAA2B,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAwC,EAAE,IAAI,EAAE,YAAY,CAA2B;QACxM,8BAA8B,EAC5B,CAAC,SAAS,EAAE,EAAE,CACd,CAAU,EAA0B,EAAE,EAAE,wDACtC,OAAA,MAAO,SAAkC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA,GAAA;QAChE,6BAA6B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAE,SAAkC,CAAC,KAAK,EAAE;QAC/F,qBAAqB,EAAE,yDAA+B;QACtD,yBAAyB,EAAE,wDAAwE;QACnG,wBAAwB,EAAE,iDAAiF;KAC5G,CAAC;AACJ,CAAC;AAhBD,sEAgBC"}
1
+ {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@ const driver_accessor_1 = require("./driver.accessor");
5
5
  const driver_query_1 = require("./driver.query");
6
6
  function googleCloudFirestoreDrivers() {
7
7
  return {
8
- driverIdentifier: '@google-cloud/firestore',
9
- driverType: 'production',
10
- firestoreAccessorDriver: (0, driver_accessor_1.firestoreClientAccessorDriver)(),
11
- firestoreQueryDriver: (0, driver_query_1.firestoreClientQueryDriver)()
8
+ firestoreDriverIdentifier: '@google-cloud/firestore',
9
+ firestoreDriverType: 'production',
10
+ firestoreAccessorDriver: (0, driver_accessor_1.googleCloudFirestoreAccessorDriver)(),
11
+ firestoreQueryDriver: (0, driver_query_1.googleCloudFirestoreQueryDriver)()
12
12
  };
13
13
  }
14
14
  exports.googleCloudFirestoreDrivers = googleCloudFirestoreDrivers;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAClE,iDAA4D;AAI5D,SAAgB,2BAA2B;IACzC,OAAO;QACL,gBAAgB,EAAE,yBAAyB;QAC3C,UAAU,EAAE,YAAY;QACxB,uBAAuB,EAAE,IAAA,+CAA6B,GAAE;QACxD,oBAAoB,EAAE,IAAA,yCAA0B,GAAE;KACnD,CAAC;AACJ,CAAC;AAPD,kEAOC"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.ts"],"names":[],"mappings":";;;AACA,uDAAuE;AACvE,iDAAiE;AAIjE,SAAgB,2BAA2B;IACzC,OAAO;QACL,yBAAyB,EAAE,yBAAyB;QACpD,mBAAmB,EAAE,YAAY;QACjC,uBAAuB,EAAE,IAAA,oDAAkC,GAAE;QAC7D,oBAAoB,EAAE,IAAA,8CAA+B,GAAE;KACxD,CAAC;AACJ,CAAC;AAPD,kEAOC"}
@@ -3,4 +3,4 @@ import { FullFirestoreQueryConstraintHandlersMapping, FirestoreQueryConstraintFu
3
3
  export declare type FirestoreServerQueryBuilder<T = unknown> = GoogleCloudQuery<T>;
4
4
  export declare const FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING: FullFirestoreQueryConstraintHandlersMapping<FirestoreServerQueryBuilder>;
5
5
  export declare function firestoreClientQueryConstraintFunctionsDriver(): FirestoreQueryConstraintFunctionsDriver;
6
- export declare function firestoreClientQueryDriver(): FirestoreQueryDriver;
6
+ export declare function googleCloudFirestoreQueryDriver(): FirestoreQueryDriver;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firestoreClientQueryDriver = exports.firestoreClientQueryConstraintFunctionsDriver = exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = void 0;
3
+ exports.googleCloudFirestoreQueryDriver = exports.firestoreClientQueryConstraintFunctionsDriver = exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = void 0;
4
4
  const firestore_1 = require("@google-cloud/firestore");
5
5
  const firebase_1 = require("@dereekb/firebase");
6
6
  exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = {
@@ -27,7 +27,7 @@ function firestoreClientQueryConstraintFunctionsDriver() {
27
27
  });
28
28
  }
29
29
  exports.firestoreClientQueryConstraintFunctionsDriver = firestoreClientQueryConstraintFunctionsDriver;
30
- function firestoreClientQueryDriver() {
30
+ function googleCloudFirestoreQueryDriver() {
31
31
  return Object.assign(Object.assign({}, firestoreClientQueryConstraintFunctionsDriver()), { getDocs(query, transaction) {
32
32
  let result;
33
33
  if (transaction) {
@@ -42,5 +42,5 @@ function firestoreClientQueryDriver() {
42
42
  return (0, firebase_1.streamFromOnSnapshot)(({ next, error }) => query.onSnapshot(next, error));
43
43
  } });
44
44
  }
45
- exports.firestoreClientQueryDriver = firestoreClientQueryDriver;
45
+ exports.googleCloudFirestoreQueryDriver = googleCloudFirestoreQueryDriver;
46
46
  //# sourceMappingURL=driver.query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.query.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { FirestoreContextFactory } from '@dereekb/firebase';
2
2
  /**
3
- * Creates a FirestoreContextFactory that uses the @firebase/firebase package.
3
+ * Creates a FirestoreContextFactory that uses the @'@google-cloud/firestore package.
4
4
  */
5
5
  export declare const googleCloudFirestoreContextFactory: FirestoreContextFactory;
@@ -4,7 +4,7 @@ exports.googleCloudFirestoreContextFactory = void 0;
4
4
  const firebase_1 = require("@dereekb/firebase");
5
5
  const driver_1 = require("./driver");
6
6
  /**
7
- * Creates a FirestoreContextFactory that uses the @firebase/firebase package.
7
+ * Creates a FirestoreContextFactory that uses the @'@google-cloud/firestore package.
8
8
  */
9
9
  exports.googleCloudFirestoreContextFactory = (0, firebase_1.firestoreContextFactory)((0, driver_1.googleCloudFirestoreDrivers)());
10
10
  //# sourceMappingURL=firestore.js.map
@@ -5,3 +5,4 @@ export * from './firebase';
5
5
  export * from './firestore';
6
6
  export * from './function';
7
7
  export * from './nest';
8
+ export * from './storage';
package/src/lib/index.js CHANGED
@@ -8,4 +8,5 @@ tslib_1.__exportStar(require("./firebase"), exports);
8
8
  tslib_1.__exportStar(require("./firestore"), exports);
9
9
  tslib_1.__exportStar(require("./function"), exports);
10
10
  tslib_1.__exportStar(require("./nest"), exports);
11
+ tslib_1.__exportStar(require("./storage"), exports);
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/firebase-server/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,iDAAuB;AACvB,gDAAsB;AACtB,qDAA2B;AAC3B,sDAA4B;AAC5B,qDAA2B;AAC3B,iDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/firebase-server/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,iDAAuB;AACvB,gDAAsB;AACtB,qDAA2B;AAC3B,sDAA4B;AAC5B,qDAA2B;AAC3B,iDAAuB;AACvB,oDAA0B"}
@@ -2,6 +2,7 @@ import { ClassType, Getter } from '@dereekb/util';
2
2
  import { INestApplicationContext, NestApplicationOptions, Provider } from '@nestjs/common';
3
3
  import * as express from 'express';
4
4
  import * as admin from 'firebase-admin';
5
+ import { StorageBucketId } from '@dereekb/firebase';
5
6
  export interface NestServer {
6
7
  server: express.Express;
7
8
  nest: NestAppPromiseGetter;
@@ -40,6 +41,14 @@ export interface NestServerInstanceConfig<T> {
40
41
  * Whether or not to configure webhook usage. This will configure routes to use
41
42
  */
42
43
  readonly configureWebhooks?: boolean;
44
+ /**
45
+ * Default storage bucket to use. If provided, overrides what the app uses in the default FirebaseServerStorageContextModule and default FirebaseStorageContext.
46
+ */
47
+ readonly defaultStorageBucket?: StorageBucketId;
48
+ /**
49
+ * Whether or not to force using the default storage bucket.
50
+ */
51
+ readonly forceStorageBucket?: boolean;
43
52
  /**
44
53
  * Whether or not to verify with app check. Is true by default.
45
54
  */
@@ -9,14 +9,16 @@ const express = require("express");
9
9
  const firebase_nest_1 = require("../firebase/firebase.nest");
10
10
  const webhook_1 = require("./middleware/webhook");
11
11
  const appcheck_module_1 = require("./middleware/appcheck.module");
12
+ const storage_nest_1 = require("../storage/storage.nest");
12
13
  class FirebaseNestServerRootModule {
13
14
  }
14
15
  exports.FirebaseNestServerRootModule = FirebaseNestServerRootModule;
15
16
  function nestServerInstance(config) {
16
- const { moduleClass, providers: additionalProviders } = config;
17
+ const { moduleClass, providers: additionalProviders, defaultStorageBucket: inputDefaultStorageBucket, forceStorageBucket } = config;
17
18
  const serversCache = new Map();
18
19
  const initNestServer = (firebaseApp) => {
19
20
  const appName = firebaseApp.name;
21
+ const defaultStorageBucket = inputDefaultStorageBucket !== null && inputDefaultStorageBucket !== void 0 ? inputDefaultStorageBucket : firebaseApp.options.storageBucket;
20
22
  let nestServer = serversCache.get(appName);
21
23
  if (!nestServer) {
22
24
  const server = express();
@@ -34,6 +36,12 @@ function nestServerInstance(config) {
34
36
  if (config.appCheckEnabled != false) {
35
37
  imports.push(appcheck_module_1.ConfigureFirebaseAppCheckMiddlewareModule);
36
38
  }
39
+ if (defaultStorageBucket) {
40
+ providers.push((0, storage_nest_1.firebaseServerStorageDefaultBucketIdTokenProvider)({
41
+ defaultBucketId: defaultStorageBucket,
42
+ forceBucket: forceStorageBucket
43
+ }));
44
+ }
37
45
  const providersModule = {
38
46
  module: FirebaseNestServerRootModule,
39
47
  imports,
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/app.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { BuildFunction, Getter } from '@dereekb/util';
3
3
  import { INestApplicationContext } from '@nestjs/common';
4
4
  import { AuthDataRef } from '../auth';
5
5
  import { FirebaseServerAuthService, FirebaseServerAuthServiceRef } from '../auth/auth.service';
6
+ import { FirebaseServerStorageService, FirebaseServerStorageServiceRef } from '../storage';
6
7
  import { FirebaseServerActionsContext } from './function/context';
7
8
  /**
8
9
  * Getter for an INestApplicationContext promise. Nest should be initialized when the promise resolves.
@@ -25,11 +26,12 @@ export declare abstract class AbstractNestContext {
25
26
  readonly nest: INestApplicationContext;
26
27
  constructor(nest: INestApplicationContext);
27
28
  }
28
- export declare abstract class AbstractFirebaseNestContext<A, Y extends FirebaseModelsService<any, FirebaseAppModelContext<A>>> extends AbstractNestContext implements FirebaseServerAuthServiceRef {
29
+ export declare abstract class AbstractFirebaseNestContext<A, Y extends FirebaseModelsService<any, FirebaseAppModelContext<A>>> extends AbstractNestContext implements FirebaseServerAuthServiceRef, FirebaseServerStorageServiceRef {
29
30
  abstract get actionContext(): FirebaseServerActionsContext;
30
31
  abstract get authService(): FirebaseServerAuthService;
31
32
  abstract get firebaseModelsService(): Y;
32
33
  abstract get app(): A;
34
+ get storageService(): FirebaseServerStorageService;
33
35
  /**
34
36
  * Creates a FirebaseAppModelContext instance.
35
37
  *
@@ -4,6 +4,7 @@ exports.AbstractFirebaseNestContext = exports.AbstractNestContext = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const firebase_1 = require("@dereekb/firebase");
6
6
  const util_1 = require("@dereekb/util");
7
+ const storage_1 = require("../storage");
7
8
  const permission_error_1 = require("./model/permission.error");
8
9
  /**
9
10
  * Abstract class that wraps an INestApplicationContext value.
@@ -15,6 +16,9 @@ class AbstractNestContext {
15
16
  }
16
17
  exports.AbstractNestContext = AbstractNestContext;
17
18
  class AbstractFirebaseNestContext extends AbstractNestContext {
19
+ get storageService() {
20
+ return this.nest.get(storage_1.FirebaseServerStorageService);
21
+ }
18
22
  /**
19
23
  * Creates a FirebaseAppModelContext instance.
20
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"nest.provider.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/nest.provider.ts"],"names":[],"mappings":";;;;AAAA,gDAA+W;AAC/W,wCAA6D;AAK7D,+DAAgF;AAmBhF;;GAEG;AACH,MAAsB,mBAAmB;IACvC,YAAqB,IAA6B;QAA7B,SAAI,GAAJ,IAAI,CAAyB;IAAG,CAAC;CACvD;AAFD,kDAEC;AAED,MAAsB,2BAAiG,SAAQ,mBAAmB;IAMhJ;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAiB,EAAE,OAAmD;QACrF,MAAM,IAAI,GAA+B;YACvC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC;YAC5C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,mBAAmB,EAAE,uDAAoC;SAC1D,CAAC;QAEF,OAAO,OAAO;YACZ,CAAC,CAAC,IAAA,YAAK,EAAC;gBACJ,IAAI;gBACJ,KAAK,EAAE,OAAO;aACf,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAoB,EAAE,OAAmD;QAC7E,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,IAAA,gDAAqC,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAsC,CAAC;IACtI,CAAC;IAIK,QAAQ,CAA6C,IAAO,EAAE,MAA0H;;;YAC5L,MAAM,OAAO,GAA+B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAClG,MAAM,UAAU,GAAG,IAAA,mCAAwB,EAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE;gBAC5E,OAAO;gBACP,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aACC,CAAC,CAAC;YAE9C,MAAM,GAAG,GAA0D,MAAC,MAA6D,CAAC,GAAG,mCAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAiB,CAAC,CAAC;YACpK,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;;KACxB;CACF;AAtDD,kEAsDC"}
1
+ {"version":3,"file":"nest.provider.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/nest.provider.ts"],"names":[],"mappings":";;;;AAAA,gDAA+W;AAC/W,wCAA6D;AAI7D,wCAA2F;AAE3F,+DAAgF;AAmBhF;;GAEG;AACH,MAAsB,mBAAmB;IACvC,YAAqB,IAA6B;QAA7B,SAAI,GAAJ,IAAI,CAAyB;IAAG,CAAC;CACvD;AAFD,kDAEC;AAED,MAAsB,2BAAiG,SAAQ,mBAAmB;IAMhJ,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,sCAA4B,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAiB,EAAE,OAAmD;QACrF,MAAM,IAAI,GAA+B;YACvC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC;YAC5C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,mBAAmB,EAAE,uDAAoC;SAC1D,CAAC;QAEF,OAAO,OAAO;YACZ,CAAC,CAAC,IAAA,YAAK,EAAC;gBACJ,IAAI;gBACJ,KAAK,EAAE,OAAO;aACf,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAoB,EAAE,OAAmD;QAC7E,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,IAAA,gDAAqC,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAsC,CAAC;IACtI,CAAC;IAIK,QAAQ,CAA6C,IAAO,EAAE,MAA0H;;;YAC5L,MAAM,OAAO,GAA+B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAClG,MAAM,UAAU,GAAG,IAAA,mCAAwB,EAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE;gBAC5E,OAAO;gBACP,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aACC,CAAC,CAAC;YAE9C,MAAM,GAAG,GAA0D,MAAC,MAA6D,CAAC,GAAG,mCAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAiB,CAAC,CAAC;YACpK,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;;KACxB;CACF;AA1DD,kEA0DC"}
@@ -0,0 +1,28 @@
1
+ import { FirebaseStorageAccessorDriver, FirebaseStorageAccessorFile, FirebaseStorageAccessorFolder, StoragePath, StorageMetadata, StorageBucketId } from '@dereekb/firebase';
2
+ import { SlashPathFolder } from '@dereekb/util';
3
+ import { GetFilesOptions, Storage as GoogleCloudStorage, File as GoogleCloudFile } from '@google-cloud/storage';
4
+ export declare function googleCloudStorageBucketForStorageFilePath(storage: GoogleCloudStorage, path: StoragePath): import("@google-cloud/storage/build/src/bucket").Bucket;
5
+ export declare function googleCloudStorageFileForStorageFilePath(storage: GoogleCloudStorage, path: StoragePath): GoogleCloudFile;
6
+ export declare type GoogleCloudStorageAccessorFile = FirebaseStorageAccessorFile<GoogleCloudFile>;
7
+ export declare function googleCloudStorageAccessorFile(storage: GoogleCloudStorage, storagePath: StoragePath): GoogleCloudStorageAccessorFile;
8
+ export declare type GoogleCloudStorageAccessorFolder = FirebaseStorageAccessorFolder<GoogleCloudFile>;
9
+ export interface GoogleCloudListResult {
10
+ files: GoogleCloudFile[];
11
+ nextQuery?: GetFilesOptions;
12
+ apiResponse: GoogleCloudStorageListApiResponse;
13
+ }
14
+ export interface GoogleCloudStorageListApiResponse {
15
+ prefixes?: SlashPathFolder[];
16
+ items?: GoogleCloudStorageListApiResponseItem[];
17
+ }
18
+ export interface GoogleCloudStorageListApiResponseItem extends Pick<StorageMetadata, 'size' | 'generation' | 'metageneration' | 'contentDisposition' | 'contentType' | 'timeCreated' | 'updated' | 'contentEncoding' | 'md5Hash' | 'cacheControl'> {
19
+ kind: '#storage#object';
20
+ /**
21
+ * For the api response, the name is actually the full path in the bucket.
22
+ */
23
+ name: string;
24
+ bucket: StorageBucketId;
25
+ }
26
+ export declare const googleCloudStorageListFilesResultFactory: import("@dereekb/firebase").StorageListFilesResultFactory<GoogleCloudStorage, GoogleCloudListResult>;
27
+ export declare function googleCloudStorageAccessorFolder(storage: GoogleCloudStorage, storagePath: StoragePath): GoogleCloudStorageAccessorFolder;
28
+ export declare function googleCloudStorageFirebaseStorageAccessorDriver(): FirebaseStorageAccessorDriver;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.googleCloudStorageFirebaseStorageAccessorDriver = exports.googleCloudStorageAccessorFolder = exports.googleCloudStorageListFilesResultFactory = exports.googleCloudStorageAccessorFile = exports.googleCloudStorageFileForStorageFilePath = exports.googleCloudStorageBucketForStorageFilePath = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const firebase_1 = require("@dereekb/firebase");
6
+ const util_1 = require("@dereekb/util");
7
+ const types_1 = require("util/types");
8
+ function googleCloudStorageBucketForStorageFilePath(storage, path) {
9
+ return storage.bucket(path.bucketId);
10
+ }
11
+ exports.googleCloudStorageBucketForStorageFilePath = googleCloudStorageBucketForStorageFilePath;
12
+ function googleCloudStorageFileForStorageFilePath(storage, path) {
13
+ return googleCloudStorageBucketForStorageFilePath(storage, path).file(path.pathString);
14
+ }
15
+ exports.googleCloudStorageFileForStorageFilePath = googleCloudStorageFileForStorageFilePath;
16
+ function googleCloudStorageAccessorFile(storage, storagePath) {
17
+ const file = googleCloudStorageFileForStorageFilePath(storage, storagePath);
18
+ function makeDownloadOptions(maxDownloadSizeBytes) {
19
+ return Object.assign({}, (maxDownloadSizeBytes
20
+ ? {
21
+ // end is inclusive
22
+ end: maxDownloadSizeBytes - 1
23
+ }
24
+ : undefined));
25
+ }
26
+ function makeUploadOptions(options) {
27
+ let metadata;
28
+ if (options === null || options === void 0 ? void 0 : options.contentType) {
29
+ metadata = {
30
+ contentType: options === null || options === void 0 ? void 0 : options.contentType
31
+ };
32
+ }
33
+ return Object.assign({
34
+ // non-resumable
35
+ resumable: false }, (metadata ? { metadata } : undefined));
36
+ }
37
+ return {
38
+ reference: file,
39
+ storagePath,
40
+ exists: () => tslib_1.__awaiter(this, void 0, void 0, function* () { return file.exists().then((x) => x[0]); }),
41
+ getDownloadUrl: () => tslib_1.__awaiter(this, void 0, void 0, function* () { return file.getMetadata().then((x) => file.publicUrl()); }),
42
+ getMetadata: () => file.getMetadata().then((x) => x[0]),
43
+ getBytes: (maxDownloadSizeBytes) => file.download(makeDownloadOptions(maxDownloadSizeBytes)).then((x) => x[0]),
44
+ getStream: (maxDownloadSizeBytes) => file.createReadStream(makeDownloadOptions(maxDownloadSizeBytes)),
45
+ upload: (input, options) => tslib_1.__awaiter(this, void 0, void 0, function* () {
46
+ let dataToUpload;
47
+ if (typeof input === 'string') {
48
+ const parsedStringFormat = (0, firebase_1.assertStorageUploadOptionsStringFormat)(options);
49
+ const stringFormat = parsedStringFormat === 'raw' ? 'utf-8' : parsedStringFormat;
50
+ if (stringFormat === 'data_url') {
51
+ // todo: support this later if necessary. Server should really never see this type.
52
+ throw new Error('"data_url" is unsupported.');
53
+ }
54
+ dataToUpload = Buffer.from(input, stringFormat);
55
+ }
56
+ else {
57
+ if (Buffer.isBuffer(input)) {
58
+ dataToUpload = input;
59
+ }
60
+ else if ((0, types_1.isUint8Array)(input)) {
61
+ dataToUpload = Buffer.from(input);
62
+ }
63
+ else {
64
+ // NOTE: these values shouldn't ever be encountered in the NodeJS environment. May remove later.
65
+ if ((0, types_1.isArrayBuffer)(input)) {
66
+ dataToUpload = Buffer.from(input);
67
+ }
68
+ else {
69
+ dataToUpload = input.arrayBuffer().then((x) => Buffer.from(x));
70
+ }
71
+ }
72
+ }
73
+ const data = yield dataToUpload;
74
+ return file.save(data, makeUploadOptions(options));
75
+ }),
76
+ uploadStream: (options) => file.createWriteStream(makeUploadOptions(options)),
77
+ delete: (options) => file.delete(options).then((x) => undefined)
78
+ };
79
+ }
80
+ exports.googleCloudStorageAccessorFile = googleCloudStorageAccessorFile;
81
+ exports.googleCloudStorageListFilesResultFactory = (0, firebase_1.storageListFilesResultFactory)({
82
+ hasItems(result) {
83
+ return Boolean(result.apiResponse.items || result.apiResponse.prefixes);
84
+ },
85
+ hasNext: (result) => {
86
+ return result.nextQuery != null;
87
+ },
88
+ next(storage, folder, result) {
89
+ return folder.list(result.nextQuery);
90
+ },
91
+ file(storage, fileResult) {
92
+ return googleCloudStorageAccessorFile(storage, fileResult.storagePath);
93
+ },
94
+ folder(storage, folderResult) {
95
+ return googleCloudStorageAccessorFolder(storage, folderResult.storagePath);
96
+ },
97
+ filesFromResult(result) {
98
+ var _a, _b;
99
+ const items = (_b = (_a = result.apiResponse) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : [];
100
+ return items.map((x) => ({ raw: x, name: (0, util_1.slashPathName)(x.name), storagePath: { bucketId: x.bucket, pathString: x.name } }));
101
+ },
102
+ foldersFromResult(result, folder) {
103
+ var _a, _b;
104
+ const items = (_b = (_a = result.apiResponse) === null || _a === void 0 ? void 0 : _a.prefixes) !== null && _b !== void 0 ? _b : [];
105
+ return items.map((prefix) => ({ raw: prefix, name: (0, util_1.slashPathName)(prefix), storagePath: { bucketId: folder.storagePath.bucketId, pathString: prefix } }));
106
+ }
107
+ });
108
+ function googleCloudStorageAccessorFolder(storage, storagePath) {
109
+ const bucket = googleCloudStorageBucketForStorageFilePath(storage, storagePath);
110
+ const file = bucket.file(storagePath.pathString);
111
+ const folder = {
112
+ reference: file,
113
+ storagePath,
114
+ exists: () => tslib_1.__awaiter(this, void 0, void 0, function* () { return folder.list({ maxResults: 1 }).then((x) => x.hasItems()); }),
115
+ list: (options) => {
116
+ return new Promise((resolve, reject) => {
117
+ bucket.getFiles(Object.assign(Object.assign({}, options), { delimiter: util_1.SLASH_PATH_SEPARATOR, autoPaginate: false, versions: false, maxResults: options === null || options === void 0 ? void 0 : options.maxResults,
118
+ // includeTrailingDelimiter: true,
119
+ prefix: (0, util_1.toRelativeSlashPathStartType)((0, util_1.fixMultiSlashesInSlashPath)(storagePath.pathString + '/')) // make sure the folder always ends with a slash
120
+ }), (err, files, nextQuery, apiResponse) => {
121
+ if (err) {
122
+ reject(err);
123
+ }
124
+ else {
125
+ const result = {
126
+ files: files,
127
+ nextQuery,
128
+ apiResponse: apiResponse
129
+ };
130
+ resolve((0, exports.googleCloudStorageListFilesResultFactory)(storage, folder, options, result));
131
+ }
132
+ });
133
+ });
134
+ }
135
+ };
136
+ return folder;
137
+ }
138
+ exports.googleCloudStorageAccessorFolder = googleCloudStorageAccessorFolder;
139
+ function googleCloudStorageFirebaseStorageAccessorDriver() {
140
+ return {
141
+ file: (storage, path) => googleCloudStorageAccessorFile(storage, path),
142
+ folder: (storage, path) => googleCloudStorageAccessorFolder(storage, path)
143
+ };
144
+ }
145
+ exports.googleCloudStorageFirebaseStorageAccessorDriver = googleCloudStorageFirebaseStorageAccessorDriver;
146
+ //# sourceMappingURL=driver.accessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/storage/driver.accessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FirebaseStorageDrivers } from '@dereekb/firebase';
2
+ export declare type GoogleCloudFirebaseStorageDrivers = FirebaseStorageDrivers;
3
+ export declare function googleCloudFirebaseStorageDrivers(): GoogleCloudFirebaseStorageDrivers;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.googleCloudFirebaseStorageDrivers = void 0;
4
+ const driver_accessor_1 = require("./driver.accessor");
5
+ function googleCloudFirebaseStorageDrivers() {
6
+ return {
7
+ storageDriverIdentifier: '@google-cloud/storage',
8
+ storageDriverType: 'production',
9
+ storageAccessorDriver: (0, driver_accessor_1.googleCloudStorageFirebaseStorageAccessorDriver)()
10
+ };
11
+ }
12
+ exports.googleCloudFirebaseStorageDrivers = googleCloudFirebaseStorageDrivers;
13
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/storage/driver.ts"],"names":[],"mappings":";;;AACA,uDAAoF;AAIpF,SAAgB,iCAAiC;IAC/C,OAAO;QACL,uBAAuB,EAAE,uBAAuB;QAChD,iBAAiB,EAAE,YAAY;QAC/B,qBAAqB,EAAE,IAAA,iEAA+C,GAAE;KACzE,CAAC;AACJ,CAAC;AAND,8EAMC"}
@@ -0,0 +1,5 @@
1
+ export * from './driver';
2
+ export * from './driver.accessor';
3
+ export * from './storage.nest';
4
+ export * from './storage.service';
5
+ export * from './storage';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./driver"), exports);
5
+ tslib_1.__exportStar(require("./driver.accessor"), exports);
6
+ tslib_1.__exportStar(require("./storage.nest"), exports);
7
+ tslib_1.__exportStar(require("./storage.service"), exports);
8
+ tslib_1.__exportStar(require("./storage"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/storage/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,4DAAkC;AAClC,yDAA+B;AAC/B,4DAAkC;AAClC,oDAA0B"}
@@ -0,0 +1,14 @@
1
+ import { FirebaseStorageContextFactory } from '@dereekb/firebase';
2
+ import { Storage as FirebaseAdminStorage } from 'firebase-admin/lib/storage/storage';
3
+ import { Storage as GoogleCloudStorage } from '@google-cloud/storage';
4
+ /**
5
+ * Creates a FirestoreContextFactory that uses the @google-cloud/storage package.
6
+ */
7
+ export declare const googleCloudFirebaseStorageContextFactory: FirebaseStorageContextFactory;
8
+ /**
9
+ * Retrieves the GoogleCloudStorage object from the input FirebaseAdmin Storage type.
10
+ *
11
+ * @param storage
12
+ * @returns
13
+ */
14
+ export declare function googleCloudStorageFromFirebaseAdminStorage(storage: FirebaseAdminStorage): GoogleCloudStorage;