@mxpicture/gcp-functions-common 1.1.19 → 1.1.21

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.
@@ -10,11 +10,11 @@
10
10
  */
11
11
  export const crudRoutes = (docName) => ({
12
12
  create: {
13
- requestType: `WithoutKey<${docName}>`,
13
+ requestType: `CreateInput<${docName}>`,
14
14
  responseType: `WithKey<${docName}>`,
15
15
  },
16
16
  update: {
17
- requestType: `WithKey<Partial<${docName}>>`,
17
+ requestType: `UpdateInput<${docName}>`,
18
18
  responseType: `WithKey<${docName}>`,
19
19
  },
20
20
  delete: { requestType: "DocumentKey", responseType: "{ deleted: true }" },
@@ -1 +1 @@
1
- {"version":3,"file":"deco.routes.js","sourceRoot":"","sources":["../../src/decorator/deco.routes.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAe,EACyB,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE;QACN,WAAW,EAAE,cAAc,OAAO,GAAG;QACrC,YAAY,EAAE,WAAW,OAAO,GAAG;KACpC;IACD,MAAM,EAAE;QACN,WAAW,EAAE,mBAAmB,OAAO,IAAI;QAC3C,YAAY,EAAE,WAAW,OAAO,GAAG;KACpC;IACD,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,EAAE;IACzE,GAAG,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,OAAO,GAAG,EAAE;IACxE,KAAK,EAAE;QACL,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,WAAW,OAAO,KAAK;KACtC;IACD,KAAK,EAAE;QACL,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,mBAAmB;KAClC;IACD,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE;CAC5E,CAAC,CAAC"}
1
+ {"version":3,"file":"deco.routes.js","sourceRoot":"","sources":["../../src/decorator/deco.routes.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAe,EACyB,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE;QACN,WAAW,EAAE,eAAe,OAAO,GAAG;QACtC,YAAY,EAAE,WAAW,OAAO,GAAG;KACpC;IACD,MAAM,EAAE;QACN,WAAW,EAAE,eAAe,OAAO,GAAG;QACtC,YAAY,EAAE,WAAW,OAAO,GAAG;KACpC;IACD,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,EAAE;IACzE,GAAG,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,OAAO,GAAG,EAAE;IACxE,KAAK,EAAE;QACL,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,WAAW,OAAO,KAAK;KACtC;IACD,KAAK,EAAE;QACL,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,mBAAmB;KAClC;IACD,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE;CAC5E,CAAC,CAAC"}
@@ -36,9 +36,24 @@ export type DocumentKeyAdmin = DocumentKey & DocumentAdmin;
36
36
  */
37
37
  export type WithKey<DTO extends DocumentData> = DocumentKey & DocumentAdmin & DTO;
38
38
  /**
39
+ * Input payload for create operations.
40
+ *
39
41
  * Strips Firestore administrative fields from a DTO type.
40
42
  *
41
43
  * @typeParam DTO - The base document data type.
42
44
  */
43
- export type WithoutKey<DTO extends DocumentData> = Omit<DTO, keyof DocumentKeyAdmin>;
45
+ export type CreateInput<DTO extends DocumentData> = Omit<DTO, keyof DocumentKeyAdmin>;
46
+ /**
47
+ * Input payload for update operations.
48
+ *
49
+ * Requires an `id` while allowing all create fields to be optional.
50
+ * Administrative timestamps remain excluded from the payload.
51
+ *
52
+ * @typeParam DTO - The base document data type.
53
+ */
54
+ export type UpdateInput<DTO extends DocumentData> = DocumentKey & Partial<CreateInput<DTO>>;
55
+ /**
56
+ * @deprecated Use {@link CreateInput} instead.
57
+ */
58
+ export type WithoutKey<DTO extends DocumentData> = CreateInput<DTO>;
44
59
  //# sourceMappingURL=types.document.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.document.d.ts","sourceRoot":"","sources":["../../src/types/types.document.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,aAAa,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,GAAG,SAAS,YAAY,IAAI,WAAW,GACzD,aAAa,GACb,GAAG,CAAC;AAEN;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,YAAY,IAAI,IAAI,CACrD,GAAG,EACH,MAAM,gBAAgB,CACvB,CAAC"}
1
+ {"version":3,"file":"types.document.d.ts","sourceRoot":"","sources":["../../src/types/types.document.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,aAAa,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,GAAG,SAAS,YAAY,IAAI,WAAW,GACzD,aAAa,GACb,GAAG,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,GAAG,SAAS,YAAY,IAAI,IAAI,CACtD,GAAG,EACH,MAAM,gBAAgB,CACvB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,GAAG,SAAS,YAAY,IAAI,WAAW,GAC7D,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,YAAY,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { DocumentData, DocumentKey, WithKey, WithoutKey } from "./types.document.js";
1
+ import type { DocumentData, DocumentKey, CreateInput, UpdateInput, WithKey } from "./types.document.js";
2
2
  import { ApiFilter } from "./types.filter.js";
3
3
  /**
4
4
  * Defines the request and response types for a single API route.
@@ -32,8 +32,8 @@ export type WithRoutes<R extends RoutesMap> = R;
32
32
  * @typeParam DTO - The base document data type.
33
33
  */
34
34
  export type CrudRoutes<DTO extends DocumentData> = WithRoutes<{
35
- create: RouteDef<WithoutKey<DTO>, WithKey<DTO>>;
36
- update: RouteDef<WithKey<Partial<DTO>>, WithKey<DTO>>;
35
+ create: RouteDef<CreateInput<DTO>, WithKey<DTO>>;
36
+ update: RouteDef<UpdateInput<DTO>, WithKey<DTO>>;
37
37
  delete: RouteDef<DocumentKey, {
38
38
  deleted: true;
39
39
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.routes.d.ts","sourceRoot":"","sources":["../../src/types/types.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,OAAO,EACP,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI;IAC/B,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAEF;;;;GAIG;AAEH,MAAM,MAAM,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,YAAY,IAAI,UAAU,CAAC;IAC5D,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACjD,GAAG,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtE,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,IAAI;KAC9C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CACxE,CAAC"}
1
+ {"version":3,"file":"types.routes.d.ts","sourceRoot":"","sources":["../../src/types/types.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI;IAC/B,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAEF;;;;GAIG;AAEH,MAAM,MAAM,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,YAAY,IAAI,UAAU,CAAC;IAC5D,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IACjD,GAAG,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtE,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,IAAI;KAC9C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CACxE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/gcp-functions-common",
3
- "version": "1.1.19",
3
+ "version": "1.1.21",
4
4
  "description": "Utils for google cloud functions, publishing both CommonJS and ESM builds",
5
5
  "type": "module",
6
6
  "author": "MXPicture",