@mxpicture/gcp-functions-backend 1.1.20 → 1.1.22

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.
@@ -1,4 +1,4 @@
1
- import type { DocumentData, WithKey, ApiFromRoutes, CrudRoutes, WithoutKey, DocumentKey, ApiFilter } from "@mxpicture/gcp-functions-common/types";
1
+ import type { ApiFromRoutes, CrudRoutes, DocumentKey, ApiFilter, DocumentKeyAdmin, CreateInput, UpdateInput } from "@mxpicture/gcp-functions-common/types";
2
2
  import { Store } from "../store/Store.js";
3
3
  import type { Validation } from "../validation/Validation.js";
4
4
  import { IBackendApi } from "./IBackendApi.js";
@@ -13,10 +13,9 @@ import { IBackendApi } from "./IBackendApi.js";
13
13
  * @typeParam STORE - The store implementation used for persistence.
14
14
  * @typeParam VAL - The validation implementation used for input validation.
15
15
  */
16
- export declare abstract class BackendApi<STORE_DOC extends DocumentData, DTO extends STORE_DOC, STORE extends Store<STORE_DOC> = Store<STORE_DOC>, VAL extends Validation<DTO> = Validation<DTO>> extends IBackendApi<STORE_DOC, DTO, STORE, VAL> implements ApiFromRoutes<CrudRoutes<DTO>> {
17
- protected abstract loadVirtualFields(doc: WithKey<STORE_DOC>): Promise<WithKey<DTO>>;
18
- protected processVirtualFields(doc: WithKey<DTO>): Promise<WithKey<STORE_DOC>>;
19
- protected processVirtualFieldsPartial(doc: WithKey<Partial<DTO>>): Promise<WithKey<Partial<STORE_DOC>>>;
16
+ export declare abstract class BackendApi<STORE_DOC extends DocumentKeyAdmin, DTO extends STORE_DOC, STORE extends Store<STORE_DOC> = Store<STORE_DOC>, VAL extends Validation<DTO> = Validation<DTO>> extends IBackendApi<STORE_DOC, DTO, STORE, VAL> implements ApiFromRoutes<CrudRoutes<DTO>> {
17
+ protected abstract loadVirtualFields(doc: STORE_DOC): Promise<DTO>;
18
+ protected processVirtualFields(doc: DTO): Promise<STORE_DOC>;
20
19
  /**
21
20
  * Delete a document by its key.
22
21
  *
@@ -32,14 +31,14 @@ export declare abstract class BackendApi<STORE_DOC extends DocumentData, DTO ext
32
31
  * @param request - The document key identifying the document to retrieve.
33
32
  * @returns The document including its key metadata.
34
33
  */
35
- get(request: DocumentKey): Promise<WithKey<DTO>>;
34
+ get(request: DocumentKey): Promise<DTO>;
36
35
  /**
37
36
  * Query documents with optional filters.
38
37
  *
39
38
  * @param request - Optional filter criteria to narrow the query results.
40
39
  * @returns An array of documents matching the filter criteria.
41
40
  */
42
- query(request?: ApiFilter | null): Promise<WithKey<DTO>[]>;
41
+ query(request?: ApiFilter | null): Promise<DTO[]>;
43
42
  /**
44
43
  * Count documents matching optional filter criteria.
45
44
  *
@@ -65,7 +64,7 @@ export declare abstract class BackendApi<STORE_DOC extends DocumentData, DTO ext
65
64
  * @returns The newly created document including its generated key.
66
65
  * @throws {@link HttpsError} if validation fails.
67
66
  */
68
- create(request: WithoutKey<DTO>): Promise<WithKey<DTO>>;
67
+ create(request: CreateInput<DTO>): Promise<DTO>;
69
68
  /**
70
69
  * Update an existing document after validating the partial input.
71
70
  *
@@ -73,10 +72,11 @@ export declare abstract class BackendApi<STORE_DOC extends DocumentData, DTO ext
73
72
  * @returns The updated document including its key metadata.
74
73
  * @throws {@link HttpsError} if validation fails.
75
74
  */
76
- update(request: WithKey<Partial<DTO>>): Promise<WithKey<DTO>>;
77
- protected toDto(doc: WithKey<STORE_DOC>): Promise<WithKey<DTO>>;
78
- protected toDtos(docs: WithKey<STORE_DOC>[]): Promise<WithKey<DTO>[]>;
79
- protected fromDtoCreate(dto: WithoutKey<DTO>): Promise<WithKey<STORE_DOC>>;
80
- protected fromDtoUpdate(dto: WithKey<Partial<DTO>>): Promise<WithKey<Partial<STORE_DOC>>>;
75
+ update(request: UpdateInput<DTO>): Promise<DTO>;
76
+ protected toDto(doc: STORE_DOC): Promise<DTO>;
77
+ protected toDtos(docs: STORE_DOC[]): Promise<DTO[]>;
78
+ protected fromDto(dto: DTO): Promise<STORE_DOC>;
79
+ protected fromDtoUpdate(dto: UpdateInput<DTO>): Promise<STORE_DOC>;
80
+ protected fromDtoCreate(dto: CreateInput<DTO>): Promise<STORE_DOC>;
81
81
  }
82
82
  //# sourceMappingURL=BackendApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackendApi.d.ts","sourceRoot":"","sources":["../../src/api/BackendApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,aAAa,EACb,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACV,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAM/C;;;;;;;;;;GAUG;AACH,8BAAsB,UAAU,CAC9B,SAAS,SAAS,YAAY,EAC9B,GAAG,SAAS,SAAS,EACrB,KAAK,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EACjD,GAAG,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAE7C,SAAQ,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAC9C,YAAW,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAEzC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAClC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,GACtB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;cAGR,oBAAoB,CAClC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAChB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;cAKd,2BAA2B,CACzC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAMvC;;;;;OAKG;IACU,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAKrE;;;;;OAKG;IACU,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAI7D;;;;;OAKG;IACU,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IAIvE;;;;;OAKG;IACU,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAI1E;;;;;OAKG;IACU,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAIvE;;;;;;OAMG;IACU,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAOpE;;;;;;OAMG;IACU,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;cAQ1D,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;cAOrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;cAI3D,aAAa,CAC3B,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,GACnB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;cAUd,aAAa,CAC3B,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GACzB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;CAKxC"}
1
+ {"version":3,"file":"BackendApi.d.ts","sourceRoot":"","sources":["../../src/api/BackendApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,WAAW,EACZ,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAM/C;;;;;;;;;;GAUG;AACH,8BAAsB,UAAU,CAC9B,SAAS,SAAS,gBAAgB,EAClC,GAAG,SAAS,SAAS,EACrB,KAAK,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EACjD,GAAG,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAE7C,SAAQ,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAC9C,YAAW,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAEzC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;cAGlD,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IAQlE;;;;;OAKG;IACU,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAKrE;;;;;OAKG;IACU,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAIpD;;;;;OAKG;IACU,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAI9D;;;;;OAKG;IACU,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAI1E;;;;;OAKG;IACU,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAIvE;;;;;;OAMG;IACU,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAO5D;;;;;;OAMG;IACU,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;cAW5C,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;cAOnC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;cAIzC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;cAMrC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;cAKxD,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;CAIzE"}
@@ -14,12 +14,9 @@ import { toDatesDeep, toTimestampsDeep, } from "@mxpicture/gcp-functions-common/
14
14
  export class BackendApi extends IBackendApi {
15
15
  // to be redefined
16
16
  async processVirtualFields(doc) {
17
- return (await this.processVirtualFieldsPartial(doc));
18
- }
19
- // to be redefined
20
- async processVirtualFieldsPartial(doc) {
21
17
  // default strip object
22
18
  for (const { key } of this.virtuals)
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
20
  if (doc[key])
24
21
  delete doc[key];
25
22
  return doc;
@@ -78,7 +75,7 @@ export class BackendApi extends IBackendApi {
78
75
  * @throws {@link HttpsError} if validation fails.
79
76
  */
80
77
  async create(request) {
81
- const validated = this.validation().validate(request);
78
+ const validated = this.validation().validateCreate(request);
82
79
  const storeDoc = await this.fromDtoCreate(validated);
83
80
  const created = await this.store().create(storeDoc);
84
81
  return this.toDto(created);
@@ -91,10 +88,10 @@ export class BackendApi extends IBackendApi {
91
88
  * @throws {@link HttpsError} if validation fails.
92
89
  */
93
90
  async update(request) {
94
- const id = request.id;
95
- const validated = this.validation().validatePartial(request);
96
- const storeDoc = await this.fromDtoUpdate({ ...validated, id });
97
- const updated = await this.store().update(storeDoc.id, storeDoc);
91
+ const validated = this.validation().validateUpdate(request);
92
+ const storeDoc = await this.fromDtoUpdate(validated);
93
+ const { id, ...patch } = storeDoc;
94
+ const updated = await this.store().update(id, patch);
98
95
  return this.toDto(updated);
99
96
  }
100
97
  async toDto(doc) {
@@ -106,19 +103,18 @@ export class BackendApi extends IBackendApi {
106
103
  async toDtos(docs) {
107
104
  return Promise.all(docs.map((doc) => this.toDto(doc)));
108
105
  }
109
- async fromDtoCreate(dto) {
106
+ async fromDto(dto) {
110
107
  const cloned = toDatesDeep(dto, this.datePaths);
111
- const id = this.store().createId();
112
- const loaded = await this.processVirtualFields({
113
- ...cloned,
114
- id,
115
- });
108
+ const loaded = await this.processVirtualFields(cloned);
116
109
  return toTimestampsDeep(loaded, this.datePaths);
117
110
  }
118
111
  async fromDtoUpdate(dto) {
119
- const cloned = toDatesDeep(dto, this.datePaths);
120
- const loaded = await this.processVirtualFieldsPartial(cloned);
121
- return toTimestampsDeep(loaded, this.datePaths);
112
+ const existing = await this.get({ id: dto.id });
113
+ return this.fromDto({ ...existing, ...dto });
114
+ }
115
+ async fromDtoCreate(dto) {
116
+ const keyAdmin = { id: this.store().createId() };
117
+ return this.fromDto({ ...dto, ...keyAdmin });
122
118
  }
123
119
  }
124
120
  //# sourceMappingURL=BackendApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackendApi.js","sourceRoot":"","sources":["../../src/api/BackendApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BackendApi.js","sourceRoot":"","sources":["../../src/api/BackendApi.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DecoPropertyVirtual, DocumentData } from "@mxpicture/gcp-functions-common/types";
1
+ import type { DecoPropertyVirtual, DocumentKeyAdmin } from "@mxpicture/gcp-functions-common/types";
2
2
  import { Store } from "../store/Store.js";
3
3
  import type { Validation } from "../validation/Validation.js";
4
4
  /**
@@ -14,7 +14,7 @@ import type { Validation } from "../validation/Validation.js";
14
14
  * @typeParam STORE - The store implementation used for persistence.
15
15
  * @typeParam VAL - The validation implementation used for input validation.
16
16
  */
17
- export declare abstract class IBackendApi<STORE_DOC extends DocumentData, DTO extends STORE_DOC, STORE extends Store<STORE_DOC> = Store<STORE_DOC>, VAL extends Validation<DTO> = Validation<DTO>> {
17
+ export declare abstract class IBackendApi<STORE_DOC extends DocumentKeyAdmin, DTO extends STORE_DOC, STORE extends Store<STORE_DOC> = Store<STORE_DOC>, VAL extends Validation<DTO> = Validation<DTO>> {
18
18
  readonly name: string;
19
19
  protected readonly datePaths: string[];
20
20
  protected readonly virtuals: DecoPropertyVirtual[];
@@ -1 +1 @@
1
- {"version":3,"file":"IBackendApi.d.ts","sourceRoot":"","sources":["../../src/api/IBackendApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;;;;;;;GAYG;AACH,8BAAsB,WAAW,CAC/B,SAAS,SAAS,YAAY,EAC9B,GAAG,SAAS,SAAS,EACrB,KAAK,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EACjD,GAAG,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;aAY3B,IAAI,EAAE,MAAM;IAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE;IACtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE;IAZpD,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACzB,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC;IAE5B;;;;;OAKG;gBAEe,IAAI,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,mBAAmB,EAAE;IAGpD;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC;;;;OAIG;IACI,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI;IAI3C;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,KAAK;IAQxB;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,GAAG;CAO5B"}
1
+ {"version":3,"file":"IBackendApi.d.ts","sourceRoot":"","sources":["../../src/api/IBackendApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;;;;;;;GAYG;AACH,8BAAsB,WAAW,CAC/B,SAAS,SAAS,gBAAgB,EAClC,GAAG,SAAS,SAAS,EACrB,KAAK,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EACjD,GAAG,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC;aAY3B,IAAI,EAAE,MAAM;IAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE;IACtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE;IAZpD,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACzB,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC;IAE5B;;;;;OAKG;gBAEe,IAAI,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,mBAAmB,EAAE;IAGpD;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC;;;;OAIG;IACI,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI;IAI3C;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,KAAK;IAQxB;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,GAAG;CAO5B"}
@@ -1,4 +1,4 @@
1
- import type { DocumentData, FunctionRequest, FunctionResponse } from "@mxpicture/gcp-functions-common/types";
1
+ import type { DocumentData, DocumentKeyAdmin, FunctionRequest, FunctionResponse } from "@mxpicture/gcp-functions-common/types";
2
2
  import { BackendApi } from "../api/BackendApi.js";
3
3
  import { CallableFunction } from "firebase-functions/v2/https";
4
4
  /**
@@ -12,7 +12,7 @@ import { CallableFunction } from "firebase-functions/v2/https";
12
12
  * @typeParam DTO - The document data transfer object type.
13
13
  * @typeParam API - The backend API implementation that handles route logic.
14
14
  */
15
- export declare abstract class IBackendFunction<STORE_DOC extends DocumentData, DTO extends STORE_DOC, API extends BackendApi<STORE_DOC, DTO>> {
15
+ export declare abstract class IBackendFunction<STORE_DOC extends DocumentKeyAdmin, DTO extends STORE_DOC, API extends BackendApi<STORE_DOC, DTO>> {
16
16
  readonly name: string;
17
17
  readonly region: string;
18
18
  readonly serviceAccount: string;
@@ -1 +1 @@
1
- {"version":3,"file":"IBackendFunction.d.ts","sourceRoot":"","sources":["../../src/function/IBackendFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAMrC;;;;;;;;;;GAUG;AACH,8BAAsB,gBAAgB,CACpC,SAAS,SAAS,YAAY,EAC9B,GAAG,SAAS,SAAS,EACrB,GAAG,SAAS,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;aAcpB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,MAAM;aACd,cAAc,EAAE,MAAM;IACtC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE;IAfxC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IACrB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;;;;;OAOG;gBAEe,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE;IAGxC;;;;OAIG;IACI,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAI7B;;;;OAIG;IACI,SAAS,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,EAAE,GAAG,IAAI;IAIpE;;;;;OAKG;IACH,SAAS,CAAC,GAAG,IAAI,GAAG;IAMpB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,IAAI,MAAM,EAAE;IAQ5B;;;;;;;;;;;;;OAaG;IACU,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,YAAY,EAChD,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAC5B,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAsBjC;;;;;;;;OAQG;IACI,aAAa,IAAI,gBAAgB,CAEtC,eAAe,CAAC,GAAG,CAAC,EAEpB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAC/B;CAMF"}
1
+ {"version":3,"file":"IBackendFunction.d.ts","sourceRoot":"","sources":["../../src/function/IBackendFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAMrC;;;;;;;;;;GAUG;AACH,8BAAsB,gBAAgB,CACpC,SAAS,SAAS,gBAAgB,EAClC,GAAG,SAAS,SAAS,EACrB,GAAG,SAAS,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC;aAcpB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,MAAM;aACd,cAAc,EAAE,MAAM;IACtC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE;IAfxC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IACrB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;;;;;OAOG;gBAEe,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE;IAGxC;;;;OAIG;IACI,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAI7B;;;;OAIG;IACI,SAAS,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,EAAE,GAAG,IAAI;IAIpE;;;;;OAKG;IACH,SAAS,CAAC,GAAG,IAAI,GAAG;IAMpB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,IAAI,MAAM,EAAE;IAQ5B;;;;;;;;;;;;;OAaG;IACU,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,YAAY,EAChD,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAC5B,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAsBjC;;;;;;;;OAQG;IACI,aAAa,IAAI,gBAAgB,CAEtC,eAAe,CAAC,GAAG,CAAC,EAEpB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAC/B;CAMF"}
@@ -1 +1 @@
1
- {"version":3,"file":"IBackendFunction.js","sourceRoot":"","sources":["../../src/function/IBackendFunction.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,MAAM,EAEN,UAAU,GACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,WAAW,EACX,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,gBAAgB;IAiBlB;IACA;IACA;IACG;IAfX,IAAI,CAAO;IACX,OAAO,CAAY;IAE7B;;;;;;;OAOG;IACH,YACkB,IAAY,EACZ,MAAc,EACd,cAAsB,EACnB,SAAmB;QAHtB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAQ;QACnB,cAAS,GAAT,SAAS,CAAU;IACrC,CAAC;IAEJ;;;;OAIG;IACI,MAAM,CAAC,GAAQ;QACpB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,MAA4C;QAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACO,GAAG;QACX,IAAI,CAAC,IAAI,CAAC,IAAI;YACZ,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,yCAAyC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACO,MAAM;QACd,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,IAAI,+CAA+C,CAC5D,CAAC;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,OAAO,CAClB,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC;YAC1C,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,SAAS,OAAO,CAAC,KAAK,gBAAgB,CACvC,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAE9D,8DAA8D;YAC9D,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,GAAG,EAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU;gBAAE,MAAM,KAAK,CAAC;YAC7C,8DAA8D;YAC9D,MAAM,IAAI,UAAU,CAAC,UAAU,EAAG,KAAa,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;YACvE,IAAI;QACN,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACI,aAAa;QAMlB,OAAO,MAAM,CACX,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5D,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CACtC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"IBackendFunction.js","sourceRoot":"","sources":["../../src/function/IBackendFunction.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,MAAM,EAEN,UAAU,GACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,WAAW,EACX,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,gBAAgB;IAiBlB;IACA;IACA;IACG;IAfX,IAAI,CAAO;IACX,OAAO,CAAY;IAE7B;;;;;;;OAOG;IACH,YACkB,IAAY,EACZ,MAAc,EACd,cAAsB,EACnB,SAAmB;QAHtB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAQ;QACnB,cAAS,GAAT,SAAS,CAAU;IACrC,CAAC;IAEJ;;;;OAIG;IACI,MAAM,CAAC,GAAQ;QACpB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,MAA4C;QAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACO,GAAG;QACX,IAAI,CAAC,IAAI,CAAC,IAAI;YACZ,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,yCAAyC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACO,MAAM;QACd,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,IAAI,+CAA+C,CAC5D,CAAC;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,OAAO,CAClB,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC;YAC1C,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,SAAS,OAAO,CAAC,KAAK,gBAAgB,CACvC,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAE9D,8DAA8D;YAC9D,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,GAAG,EAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU;gBAAE,MAAM,KAAK,CAAC;YAC7C,8DAA8D;YAC9D,MAAM,IAAI,UAAU,CAAC,UAAU,EAAG,KAAa,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;YACvE,IAAI;QACN,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACI,aAAa;QAMlB,OAAO,MAAM,CACX,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5D,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CACtC,CAAC;IACJ,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { CollectionReference, DocumentReference, FirestoreDataConverter, Query, QuerySnapshot } from "firebase-admin/firestore";
2
- import type { ApiFilterItems, DocumentData, WithKey } from "@mxpicture/gcp-functions-common/types";
2
+ import type { ApiFilterItems, CreateInput, DocumentKeyAdmin } from "@mxpicture/gcp-functions-common/types";
3
3
  /**
4
4
  * Firestore-backed data store for a document type.
5
5
  *
@@ -9,7 +9,7 @@ import type { ApiFilterItems, DocumentData, WithKey } from "@mxpicture/gcp-funct
9
9
  *
10
10
  * @typeParam DTO - The document data transfer object type.
11
11
  */
12
- export declare class Store<DTO extends DocumentData> {
12
+ export declare class Store<DTO extends DocumentKeyAdmin> {
13
13
  readonly collectionName: string;
14
14
  readonly namespace: string;
15
15
  protected readonly converter?: FirestoreDataConverter<DTO> | undefined;
@@ -34,7 +34,7 @@ export declare class Store<DTO extends DocumentData> {
34
34
  * @param p - Optional filter items; when `parentId` is set, queries by parent.
35
35
  * @returns An array of documents with key metadata.
36
36
  */
37
- query(p?: ApiFilterItems): Promise<WithKey<DTO>[]>;
37
+ query(p?: ApiFilterItems): Promise<DTO[]>;
38
38
  /**
39
39
  * Execute a Firestore query and return the raw snapshot.
40
40
  *
@@ -68,7 +68,7 @@ export declare class Store<DTO extends DocumentData> {
68
68
  * @returns The document data including key metadata.
69
69
  * @throws {@link Error} if the document does not exist or its data is invalid.
70
70
  */
71
- get(id: string): Promise<WithKey<DTO>>;
71
+ get(id: string): Promise<DTO>;
72
72
  /**
73
73
  * Check whether a document exists by ID.
74
74
  *
@@ -82,7 +82,7 @@ export declare class Store<DTO extends DocumentData> {
82
82
  * @param doc - The document data to persist.
83
83
  * @returns The persisted document including its generated key metadata.
84
84
  */
85
- create(doc: DTO | WithKey<DTO>): Promise<WithKey<DTO>>;
85
+ create(doc: CreateInput<DTO>): Promise<DTO>;
86
86
  createId(id?: string): string;
87
87
  /**
88
88
  * Update an existing document by merging partial data.
@@ -91,7 +91,7 @@ export declare class Store<DTO extends DocumentData> {
91
91
  * @param doc - The partial document data to merge.
92
92
  * @returns The updated document including its key metadata.
93
93
  */
94
- update(id: string, doc: Partial<DTO>): Promise<WithKey<DTO>>;
94
+ update(id: string, doc: Partial<DTO>): Promise<DTO>;
95
95
  /**
96
96
  * Delete one or more documents by their IDs.
97
97
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../src/store/Store.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,EACL,aAAa,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,OAAO,EACR,MAAM,uCAAuC,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,KAAK,CAAC,GAAG,SAAS,YAAY;aAWvB,cAAc,EAAE,MAAM;aACtB,SAAS,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC;IAZ5D,SAAS,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEzC;;;;;;OAMG;gBAEe,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,YAAA;IAG5D;;;;OAIG;IACI,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC;IAarC;;;;;OAKG;IACU,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IAc/D;;;;;;;;OAQG;cACa,aAAa,CAC3B,CAAC,CAAC,EAAE,cAAc,GACjB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAc9B;;;;;OAKG;IACU,KAAK,CAAC,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAS9D;;;;;OAKG;IACI,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC;IAI9C;;;;;;OAMG;IACU,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAWnD;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjD;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAO5D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIpC;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAMzE;;;;OAIG;IACU,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;OAIG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM;CAGpC"}
1
+ {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../src/store/Store.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,EACL,aAAa,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,KAAK,CAAC,GAAG,SAAS,gBAAgB;aAW3B,cAAc,EAAE,MAAM;aACtB,SAAS,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC;IAZ5D,SAAS,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEzC;;;;;;OAMG;gBAEe,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,YAAA;IAG5D;;;;OAIG;IACI,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC;IAarC;;;;;OAKG;IACU,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IActD;;;;;;;;OAQG;cACa,aAAa,CAC3B,CAAC,CAAC,EAAE,cAAc,GACjB,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAc9B;;;;;OAKG;IACU,KAAK,CAAC,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAS9D;;;;;OAKG;IACI,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC;IAI9C;;;;;;OAMG;IACU,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAW1C;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjD;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAOjD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAIpC;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAMhE;;;;OAIG;IACU,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;OAIG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM;CAGpC"}
@@ -139,9 +139,9 @@ export class Store {
139
139
  * @returns The persisted document including its generated key metadata.
140
140
  */
141
141
  async create(doc) {
142
- const id = this.createId(doc.id);
142
+ const id = this.createId();
143
143
  const ref = this.ref(id);
144
- await ref.set(doc);
144
+ await ref.set({ ...doc, id });
145
145
  return this.get(id);
146
146
  }
147
147
  createId(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"Store.js","sourceRoot":"","sources":["../../src/store/Store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Store.js","sourceRoot":"","sources":["../../src/store/Store.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type ZodError, type ZodObject, type ZodRawShape } from "zod";
2
- import type { DocumentData, ValidationResult, WithKey, WithoutKey } from "@mxpicture/gcp-functions-common/types";
2
+ import type { CreateInput, DocumentKeyAdmin, UpdateInput, ValidationResult } from "@mxpicture/gcp-functions-common/types";
3
3
  /**
4
4
  * Zod-based validation for document data transfer objects.
5
5
  *
@@ -10,10 +10,11 @@ import type { DocumentData, ValidationResult, WithKey, WithoutKey } from "@mxpic
10
10
  *
11
11
  * @typeParam DTO - The document data transfer object type.
12
12
  */
13
- export declare class Validation<DTO extends DocumentData> {
13
+ export declare class Validation<DTO extends DocumentKeyAdmin> {
14
14
  readonly name: string;
15
15
  protected _createSchema?: ZodObject;
16
16
  protected _updateSchema?: ZodObject;
17
+ protected _updateSchemaWithId?: ZodObject;
17
18
  protected _shape?: ZodRawShape;
18
19
  /**
19
20
  * Create a new Validation instance.
@@ -56,6 +57,12 @@ export declare class Validation<DTO extends DocumentData> {
56
57
  * @returns The Zod object schema for update operations.
57
58
  */
58
59
  protected updateSchema(): ZodObject;
60
+ /**
61
+ * Get or lazily build the Zod schema used for update validation including `id`.
62
+ *
63
+ * @returns The Zod object schema for update operations with required `id`.
64
+ */
65
+ protected updateSchemaWithId(): ZodObject;
59
66
  /**
60
67
  * Validate a complete document for creation.
61
68
  *
@@ -63,7 +70,7 @@ export declare class Validation<DTO extends DocumentData> {
63
70
  * @returns The parsed and validated document data.
64
71
  * @throws {@link HttpsError} with `invalid-argument` if validation fails.
65
72
  */
66
- validate(doc: Partial<WithoutKey<DTO>>): WithKey<DTO>;
73
+ validateCreate(doc: CreateInput<DTO>): CreateInput<DTO>;
67
74
  /**
68
75
  * Validate a partial document for update operations.
69
76
  *
@@ -71,7 +78,7 @@ export declare class Validation<DTO extends DocumentData> {
71
78
  * @returns The parsed and validated partial document data.
72
79
  * @throws {@link HttpsError} with `invalid-argument` if validation fails.
73
80
  */
74
- validatePartial(doc: WithKey<Partial<DTO>>): WithKey<Partial<DTO>>;
81
+ validateUpdate(doc: UpdateInput<DTO>): UpdateInput<DTO>;
75
82
  /**
76
83
  * Convert Zod validation issues into a structured validation result.
77
84
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../../src/validation/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAEzE,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,UAAU,EACX,MAAM,uCAAuC,CAAC;AAG/C;;;;;;;;;GASG;AACH,qBAAa,UAAU,CAAC,GAAG,SAAS,YAAY;aAUX,IAAI,EAAE,MAAM;IAT/C,SAAS,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE/B;;;;OAIG;gBACgC,IAAI,EAAE,MAAM;IAE/C;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIzC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,WAAW;IAQ9B;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,WAAW;IAOrC;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,SAAS;IAKnC;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,IAAI,SAAS;IAKnC;;;;;;OAMG;IACI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAW5D;;;;;;OAMG;IACI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAWzE;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,gBAAgB;CAUvE"}
1
+ {"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../../src/validation/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAEzE,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAG/C;;;;;;;;;GASG;AACH,qBAAa,UAAU,CAAC,GAAG,SAAS,gBAAgB;aAWf,IAAI,EAAE,MAAM;IAV/C,SAAS,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAC1C,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE/B;;;;OAIG;gBACgC,IAAI,EAAE,MAAM;IAE/C;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIzC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,IAAI,WAAW;IAQ9B;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,WAAW;IAOrC;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,SAAS;IAKnC;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,IAAI,SAAS;IAKnC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,IAAI,SAAS;IAMzC;;;;;;OAMG;IACI,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;IAW9D;;;;;;OAMG;IACI,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;IAW9D;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,gBAAgB;CAUvE"}
@@ -15,6 +15,7 @@ export class Validation {
15
15
  name;
16
16
  _createSchema;
17
17
  _updateSchema;
18
+ _updateSchemaWithId;
18
19
  _shape;
19
20
  /**
20
21
  * Create a new Validation instance.
@@ -79,6 +80,16 @@ export class Validation {
79
80
  this._updateSchema = this.createSchema().partial();
80
81
  return this._updateSchema;
81
82
  }
83
+ /**
84
+ * Get or lazily build the Zod schema used for update validation including `id`.
85
+ *
86
+ * @returns The Zod object schema for update operations with required `id`.
87
+ */
88
+ updateSchemaWithId() {
89
+ if (!this._updateSchemaWithId)
90
+ this._updateSchemaWithId = this.updateSchema().extend({ id: z.string() });
91
+ return this._updateSchemaWithId;
92
+ }
82
93
  /**
83
94
  * Validate a complete document for creation.
84
95
  *
@@ -86,7 +97,7 @@ export class Validation {
86
97
  * @returns The parsed and validated document data.
87
98
  * @throws {@link HttpsError} with `invalid-argument` if validation fails.
88
99
  */
89
- validate(doc) {
100
+ validateCreate(doc) {
90
101
  const result = this.createSchema().safeParse(doc);
91
102
  if (!result.success)
92
103
  throw new HttpsError("invalid-argument", "Invalid request data", this.issuesToResult(result.error.issues));
@@ -99,8 +110,8 @@ export class Validation {
99
110
  * @returns The parsed and validated partial document data.
100
111
  * @throws {@link HttpsError} with `invalid-argument` if validation fails.
101
112
  */
102
- validatePartial(doc) {
103
- const result = this.updateSchema().safeParse(doc);
113
+ validateUpdate(doc) {
114
+ const result = this.updateSchemaWithId().safeParse(doc);
104
115
  if (!result.success)
105
116
  throw new HttpsError("invalid-argument", "Invalid request data", this.issuesToResult(result.error.issues));
106
117
  return result.data;
@@ -1 +1 @@
1
- {"version":3,"file":"Validation.js","sourceRoot":"","sources":["../../src/validation/Validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Validation.js","sourceRoot":"","sources":["../../src/validation/Validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/gcp-functions-backend",
3
- "version": "1.1.20",
3
+ "version": "1.1.22",
4
4
  "description": "Utils for google cloud functions, publishing both CommonJS and ESM builds",
5
5
  "type": "module",
6
6
  "author": "MXPicture",
@@ -33,7 +33,7 @@
33
33
  "access": "public"
34
34
  },
35
35
  "dependencies": {
36
- "@mxpicture/gcp-functions-common": "^1.1.20",
36
+ "@mxpicture/gcp-functions-common": "^1.1.22",
37
37
  "firebase-admin": "^13.7.0",
38
38
  "firebase-functions": "^7.0.6",
39
39
  "short-uuid": "^6.0.3",