@goatlab/fluent-firebase 0.6.14 → 0.7.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 (64) hide show
  1. package/dist/Firebase.d.ts +4 -2
  2. package/dist/Firebase.js +7 -5
  3. package/dist/FirebaseConnector.d.ts +31 -36
  4. package/dist/FirebaseConnector.js +349 -345
  5. package/dist/FirebaseInit.d.ts +0 -0
  6. package/dist/FirebaseInit.js +0 -0
  7. package/dist/index.d.ts +0 -0
  8. package/dist/index.js +0 -0
  9. package/dist/test/car.repository.d.ts +8 -0
  10. package/dist/test/car.repository.js +21 -0
  11. package/dist/test/goat.repository.d.ts +3 -4
  12. package/dist/test/goat.repository.js +9 -6
  13. package/dist/test/roles.repository.d.ts +8 -0
  14. package/dist/test/roles.repository.js +21 -0
  15. package/dist/test/roles_user.repository.d.ts +6 -0
  16. package/dist/test/roles_user.repository.js +15 -0
  17. package/dist/test/typeOrm.repository.d.ts +5 -0
  18. package/dist/test/typeOrm.repository.js +15 -0
  19. package/dist/test/user.repository.d.ts +10 -0
  20. package/dist/test/user.repository.js +29 -0
  21. package/dist/tsconfig.tsbuildinfo +1 -1
  22. package/package.json +4 -94
  23. package/dist/firebaseConnector.http_spec.d.ts +0 -1
  24. package/dist/firebaseConnector.http_spec.js +0 -37
  25. package/dist/test/advanced/advancedTestSuite.d.ts +0 -1
  26. package/dist/test/advanced/advancedTestSuite.js +0 -114
  27. package/dist/test/advanced/firebase.repository.d.ts +0 -5
  28. package/dist/test/advanced/firebase.repository.js +0 -12
  29. package/dist/test/advanced/typeOrm.entity.d.ts +0 -16
  30. package/dist/test/advanced/typeOrm.entity.js +0 -57
  31. package/dist/test/basic/basicTestSuite.d.ts +0 -1
  32. package/dist/test/basic/basicTestSuite.js +0 -45
  33. package/dist/test/basic/goat.dto.d.ts +0 -8
  34. package/dist/test/basic/goat.dto.js +0 -18
  35. package/dist/test/basic/goat.entity.d.ts +0 -10
  36. package/dist/test/basic/goat.entity.js +0 -41
  37. package/dist/test/flock.d.ts +0 -4
  38. package/dist/test/flock.js +0 -25
  39. package/dist/test/relations/car/car.dto.d.ts +0 -5
  40. package/dist/test/relations/car/car.dto.js +0 -12
  41. package/dist/test/relations/car/car.entity.d.ts +0 -7
  42. package/dist/test/relations/car/car.entity.js +0 -32
  43. package/dist/test/relations/car/car.repositoryFirebase.d.ts +0 -8
  44. package/dist/test/relations/car/car.repositoryFirebase.js +0 -13
  45. package/dist/test/relations/relationsTestsSuite.d.ts +0 -1
  46. package/dist/test/relations/relationsTestsSuite.js +0 -93
  47. package/dist/test/relations/roles/role.dto.d.ts +0 -5
  48. package/dist/test/relations/roles/role.dto.js +0 -12
  49. package/dist/test/relations/roles/roles.entity.d.ts +0 -6
  50. package/dist/test/relations/roles/roles.entity.js +0 -29
  51. package/dist/test/relations/roles/roles.repositoryFirebase.d.ts +0 -8
  52. package/dist/test/relations/roles/roles.repositoryFirebase.js +0 -14
  53. package/dist/test/relations/roles/roles_user.dto.d.ts +0 -5
  54. package/dist/test/relations/roles/roles_user.dto.js +0 -12
  55. package/dist/test/relations/roles/roles_user.entity.d.ts +0 -5
  56. package/dist/test/relations/roles/roles_user.entity.js +0 -23
  57. package/dist/test/relations/roles/roles_users.repositoryFirebase.d.ts +0 -6
  58. package/dist/test/relations/roles/roles_users.repositoryFirebase.js +0 -11
  59. package/dist/test/relations/user/user.dto.d.ts +0 -5
  60. package/dist/test/relations/user/user.dto.js +0 -12
  61. package/dist/test/relations/user/user.entity.d.ts +0 -14
  62. package/dist/test/relations/user/user.entity.js +0 -56
  63. package/dist/test/relations/user/user.repositoryFirebase.d.ts +0 -10
  64. package/dist/test/relations/user/user.repositoryFirebase.js +0 -16
@@ -1,7 +1,9 @@
1
1
  import * as admin from 'firebase-admin';
2
2
  import { getAuth as firebaseGetAuth } from 'firebase-admin/auth';
3
3
  export declare type FirebaseUser = admin.auth.DecodedIdToken;
4
- export declare const Firebase: Readonly<{
4
+ declare class FirebaseClass {
5
5
  verifyIdToken: (token: string) => Promise<import("firebase-admin/auth").DecodedIdToken>;
6
6
  getAuth: typeof firebaseGetAuth;
7
- }>;
7
+ }
8
+ export declare const Firebase: FirebaseClass;
9
+ export {};
package/dist/Firebase.js CHANGED
@@ -4,8 +4,10 @@ exports.Firebase = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const admin = tslib_1.__importStar(require("firebase-admin"));
6
6
  const auth_1 = require("firebase-admin/auth");
7
- exports.Firebase = (() => {
8
- const verifyIdToken = (token) => admin.auth().verifyIdToken(token);
9
- const getAuth = auth_1.getAuth;
10
- return Object.freeze({ verifyIdToken, getAuth });
11
- })();
7
+ class FirebaseClass {
8
+ constructor() {
9
+ this.verifyIdToken = (token) => admin.auth().verifyIdToken(token);
10
+ this.getAuth = auth_1.getAuth;
11
+ }
12
+ }
13
+ exports.Firebase = new FirebaseClass();
@@ -1,41 +1,36 @@
1
1
  import * as admin from 'firebase-admin';
2
- import { BaseFirestoreRepository } from 'fireorm';
3
- import type { Filter, DaoOutput, BaseDataElement, PaginatedData, Paginator, Sure } from '@goatlab/fluent';
4
- import { BaseConnector, DataSource, FluentConnectorInterface } from '@goatlab/fluent';
5
- export declare const createFirebaseRepository: (Entity: any, dataSource: DataSource) => {
6
- repository: BaseFirestoreRepository<import("fireorm").IEntity>;
7
- name: string;
8
- path: string;
9
- keys: string[];
10
- relations: {};
11
- };
12
- export declare class FirebaseConnector<ModelDTO = BaseDataElement, InputDTO = ModelDTO, OutputDTO = InputDTO> extends BaseConnector<ModelDTO, InputDTO, OutputDTO> implements FluentConnectorInterface<InputDTO, DaoOutput<InputDTO, OutputDTO>> {
13
- private repository;
2
+ import { AnyObject, FluentQuery, LoadedResult, QueryOutput } from '@goatlab/fluent';
3
+ import { BaseConnector, FluentConnectorInterface } from '@goatlab/fluent';
4
+ import { z } from 'zod';
5
+ import { FindByIdFilter } from '@goatlab/fluent';
6
+ import { SingleQueryOutput } from '@goatlab/fluent';
7
+ export interface FirebaseConnectorParams<Input, Output> {
8
+ entity: any;
9
+ inputSchema: z.ZodType<Input>;
10
+ outputSchema?: z.ZodType<Output>;
11
+ }
12
+ export declare class FirebaseConnector<ModelDTO = AnyObject, InputDTO = ModelDTO, OutputDTO = InputDTO> extends BaseConnector<ModelDTO, InputDTO, OutputDTO> implements FluentConnectorInterface<ModelDTO, InputDTO, OutputDTO> {
13
+ private readonly inputSchema;
14
+ private readonly outputSchema;
14
15
  private readonly collection;
15
- constructor(Entity: any, dataSource: DataSource, relationQuery?: any);
16
- get(): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
17
- getPaginated(): Promise<PaginatedData<DaoOutput<InputDTO, OutputDTO>>>;
18
- all(): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
19
- find(filter?: Filter): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
20
- paginate(paginator: Paginator): Promise<PaginatedData<DaoOutput<InputDTO, OutputDTO>>>;
16
+ private readonly entity;
17
+ constructor({ entity, inputSchema, outputSchema }: FirebaseConnectorParams<InputDTO, OutputDTO>);
18
+ insert(data: InputDTO): Promise<OutputDTO>;
19
+ insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
21
20
  raw(): admin.firestore.CollectionReference<ModelDTO>;
22
- insert(data: InputDTO, forcedId?: string | number): Promise<DaoOutput<InputDTO, OutputDTO>>;
23
- insertMany(data: InputDTO[], forcedId?: string | number): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
24
- batchInsert(data: InputDTO[]): Promise<DaoOutput<InputDTO, OutputDTO>[]>;
25
- updateById(id: string, data: InputDTO): Promise<DaoOutput<InputDTO, OutputDTO>>;
26
- replaceById(id: string, data: InputDTO): Promise<DaoOutput<InputDTO, OutputDTO>>;
27
- clear({ sure }: Sure): Promise<unknown>;
28
- deleteById(id: string): Promise<string>;
29
- findById(id: string): Promise<DaoOutput<InputDTO, OutputDTO>>;
30
- findByIds(ids: string[]): Promise<DaoOutput<InputDTO, OutputDTO>[] | null>;
31
- private getPage;
32
- private getPaginatorLimit;
33
- private getPopulate;
34
- private getGeneratedQuery;
35
- private getFilters;
36
- private getOrderBy;
37
- private getLimit;
38
- private getSkip;
39
- private getSelect;
21
+ rawFirebase(): admin.firestore.Firestore;
22
+ protected loadRelatedData(data: any[], loadedKeys: AnyObject): Promise<admin.firestore.DocumentData[]>;
23
+ findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
24
+ loadFirst(query?: FluentQuery<ModelDTO>): FirebaseConnector<ModelDTO, InputDTO, OutputDTO>;
25
+ private getGeneratedQueries;
26
+ private getFirebaseWhereQuery;
27
+ updateById(id: string, data: InputDTO): Promise<OutputDTO>;
28
+ replaceById(id: string, data: InputDTO): Promise<OutputDTO>;
29
+ clear(): Promise<boolean>;
40
30
  private deleteQueryBatch;
31
+ loadById(id: string): LoadedResult<this>;
32
+ protected clone(): any;
33
+ findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO, OutputDTO>>;
34
+ findById<T extends FindByIdFilter<ModelDTO>>(id: string, q?: T): Promise<SingleQueryOutput<T, ModelDTO, OutputDTO>>;
35
+ requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<SingleQueryOutput<FindByIdFilter<ModelDTO>, ModelDTO, OutputDTO>>;
41
36
  }