@mxpicture/gcp-functions-backend 2.1.48 → 2.1.50

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 +1 @@
1
- {"version":3,"file":"BackendBaseApi.d.ts","sourceRoot":"","sources":["../../src/api/BackendBaseApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACV,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAK9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,8BAAsB,cAAc,CAClC,GAAG,SAAS,YAAY,EACxB,SAAS,SAAS,YAAY,GAAG,GAAG,EAEpC,YAAY,SAAS,YAAY,GAAG,YAAY,EAChD,GAAG,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CACzD,YAAW,WAAW;aAeJ,IAAI,EAAE,MAAM;IAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE;IACtC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,EAAE;IACxD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,EAAE;IACvD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;IAlB1C,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC;IAC5B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;;;;;;OAQG;gBAEe,IAAI,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAAE,EACnB,cAAc,EAAE,mBAAmB,EAAE,EACrC,aAAa,EAAE,mBAAmB,EAAE,EACpC,WAAW,EAAE,MAAM,EAAE;IAG1C;;;;;OAKG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKxC;;;;;OAKG;IACH,IAAW,WAAW,IAAI,MAAM,CAG/B;IAED;;;;OAIG;IACI,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI;IAK3C;;;;OAIG;IACI,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAKzC;;;;;OAKG;IACH,IAAW,MAAM,IAAI,MAAM,EAAE,CAM5B;IAED;;;;;OAKG;IACI,UAAU,IAAI,GAAG;IAQxB;;;;;;;;;;;;;;;OAeG;IACU,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,YAAY,EAChD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,GAAG,CAAC;CAWhB"}
1
+ {"version":3,"file":"BackendBaseApi.d.ts","sourceRoot":"","sources":["../../src/api/BackendBaseApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACV,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAK9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD;;;;;;;;;;;;;GAaG;AACH,8BAAsB,cAAc,CAClC,GAAG,SAAS,YAAY,EACxB,SAAS,SAAS,YAAY,GAAG,GAAG,EAEpC,YAAY,SAAS,YAAY,GAAG,YAAY,EAChD,GAAG,SAAS,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CACzD,YAAW,WAAW;aAeJ,IAAI,EAAE,MAAM;IAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE;IACtC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,EAAE;IACxD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,EAAE;IACvD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;IAlB1C,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC;IAC5B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;;;;;;OAQG;gBAEe,IAAI,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAAE,EACnB,cAAc,EAAE,mBAAmB,EAAE,EACrC,aAAa,EAAE,mBAAmB,EAAE,EACpC,WAAW,EAAE,MAAM,EAAE;IAG1C;;;;;OAKG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKxC;;;;;OAKG;IACH,IAAW,WAAW,IAAI,MAAM,CAG/B;IAED;;;;OAIG;IACI,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI;IAK3C;;;;OAIG;IACI,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAKzC;;;;;OAKG;IACH,IAAW,MAAM,IAAI,MAAM,EAAE,CAM5B;IAED;;;;;OAKG;IACI,UAAU,IAAI,GAAG;IAQxB;;;;;;;;;;;;;;;OAeG;IACU,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,YAAY,EAChD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,GAAG,CAAC;CAahB"}
@@ -1,4 +1,5 @@
1
1
  import { toDatesDeep, toTimestampsDeep, } from "@mxpicture/gcp-functions-common/helper";
2
+ import { withNonCrudLogging } from "./nonCrudLogging.js";
2
3
  /**
3
4
  * Abstract base class for backend API implementations.
4
5
  *
@@ -120,8 +121,9 @@ export class BackendBaseApi {
120
121
  if (!routes.includes(route))
121
122
  throw new Error(`Route ${route} not available`);
122
123
  const requestData = toDatesDeep(data, this.datePaths);
124
+ const payload = await withNonCrudLogging(this.name, route, () =>
123
125
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
124
- const payload = await this[route](requestData);
126
+ this[route](requestData));
125
127
  return toTimestampsDeep(payload, this.datePaths);
126
128
  }
127
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BackendBaseApi.js","sourceRoot":"","sources":["../../src/api/BackendBaseApi.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EACX,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAGhD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAgB,cAAc;IAqBhB;IACG;IACA;IACA;IACA;IAlBX,WAAW,CAAO;IAClB,YAAY,CAAU;IACtB,OAAO,CAAY;IAE7B;;;;;;;;OAQG;IACH,YACkB,IAAY,EACT,SAAmB,EACnB,cAAqC,EACrC,aAAoC,EACpC,WAAqB;QAJxB,SAAI,GAAJ,IAAI,CAAQ;QACT,cAAS,GAAT,SAAS,CAAU;QACnB,mBAAc,GAAd,cAAc,CAAuB;QACrC,kBAAa,GAAb,aAAa,CAAuB;QACpC,gBAAW,GAAX,WAAW,CAAU;IACvC,CAAC;IAEJ;;;;;OAKG;IACI,cAAc,CAAC,GAAW;QAC/B,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAW,WAAW;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,UAAe;QAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,MAAiB;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAW,MAAM;QACf,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;;;;;OAKG;IACI,UAAU;QACf,IAAI,CAAC,IAAI,CAAC,WAAW;YACnB,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,IAAI,uDAAuD,CACpE,CAAC;QACJ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,OAAO,CAClB,KAAa,EACb,IAAS;QAET,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC;QAElD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtD,8DAA8D;QAC9D,MAAM,OAAO,GAAG,MAAO,IAAY,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QACxD,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"BackendBaseApi.js","sourceRoot":"","sources":["../../src/api/BackendBaseApi.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EACX,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAgB,cAAc;IAqBhB;IACG;IACA;IACA;IACA;IAlBX,WAAW,CAAO;IAClB,YAAY,CAAU;IACtB,OAAO,CAAY;IAE7B;;;;;;;;OAQG;IACH,YACkB,IAAY,EACT,SAAmB,EACnB,cAAqC,EACrC,aAAoC,EACpC,WAAqB;QAJxB,SAAI,GAAJ,IAAI,CAAQ;QACT,cAAS,GAAT,SAAS,CAAU;QACnB,mBAAc,GAAd,cAAc,CAAuB;QACrC,kBAAa,GAAb,aAAa,CAAuB;QACpC,gBAAW,GAAX,WAAW,CAAU;IACvC,CAAC;IAEJ;;;;;OAKG;IACI,cAAc,CAAC,GAAW;QAC/B,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAW,WAAW;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,UAAe;QAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,MAAiB;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAW,MAAM;QACf,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;;;;;OAKG;IACI,UAAU;QACf,IAAI,CAAC,IAAI,CAAC,WAAW;YACnB,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,IAAI,uDAAuD,CACpE,CAAC;QACJ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,OAAO,CAClB,KAAa,EACb,IAAS;QAET,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC;QAElD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;QACnE,8DAA8D;QAC7D,IAAY,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAClC,CAAC;QACF,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -3,4 +3,5 @@ export * from "./BackendCrudApi.js";
3
3
  export * from "./BackendDefaultApi.js";
4
4
  export * from "./BackendStoreApi.js";
5
5
  export * from "./IBackendApi.js";
6
+ export * from "./nonCrudLogging.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
package/dist/api/index.js CHANGED
@@ -4,4 +4,5 @@ export * from "./BackendCrudApi.js";
4
4
  export * from "./BackendDefaultApi.js";
5
5
  export * from "./BackendStoreApi.js";
6
6
  export * from "./IBackendApi.js";
7
+ export * from "./nonCrudLogging.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Predicate deciding, per request, whether non-CRUD route invocations should
3
+ * be logged.
4
+ *
5
+ * @remarks
6
+ * Returning a promise lets the gate consult a dynamic source (e.g. a settings
7
+ * document) so logging can be toggled at runtime without redeploying.
8
+ *
9
+ * @returns `true` to log the current non-CRUD route invocation.
10
+ */
11
+ export type NonCrudLogGate = () => boolean | Promise<boolean>;
12
+ /**
13
+ * Enable structured logging of non-CRUD (custom) route invocations to Google
14
+ * Cloud Logging.
15
+ *
16
+ * @remarks
17
+ * The gate is evaluated once per non-CRUD request. When it resolves to `true`,
18
+ * the route invocation is logged with its outcome and duration via the Cloud
19
+ * Functions {@link logger}. CRUD routes are never logged. Pass `null` to
20
+ * disable logging entirely.
21
+ *
22
+ * @param newGate - The gate predicate, or `null` to disable.
23
+ */
24
+ export declare const useNonCrudLogging: (newGate: NonCrudLogGate | null) => void;
25
+ /**
26
+ * Runs `fn`, logging the non-CRUD route invocation to Google Cloud Logging when
27
+ * logging is enabled via {@link useNonCrudLogging}.
28
+ *
29
+ * @remarks
30
+ * CRUD routes and the disabled case pass straight through, adding nothing beyond
31
+ * the gate check. A gate that throws is treated as "disabled" so logging can
32
+ * never break request handling.
33
+ *
34
+ * @typeParam RES - The result type produced by `fn`.
35
+ * @param api - Name of the API answering the route (used in the log entry).
36
+ * @param route - The invoked route name.
37
+ * @param fn - The route handler to execute.
38
+ * @returns The result of `fn`.
39
+ */
40
+ export declare const withNonCrudLogging: <RES>(api: string, route: string, fn: () => Promise<RES>) => Promise<RES>;
41
+ //# sourceMappingURL=nonCrudLogging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonCrudLogging.d.ts","sourceRoot":"","sources":["../../src/api/nonCrudLogging.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAI9D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,cAAc,GAAG,IAAI,KAAG,IAElE,CAAC;AAKF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAAU,GAAG,EAC1C,KAAK,MAAM,EACX,OAAO,MAAM,EACb,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC,KACrB,OAAO,CAAC,GAAG,CA+Bb,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { logger } from "firebase-functions";
2
+ import { CRUD_ROUTES } from "@mxpicture/gcp-functions-common/config";
3
+ let gate = null;
4
+ /**
5
+ * Enable structured logging of non-CRUD (custom) route invocations to Google
6
+ * Cloud Logging.
7
+ *
8
+ * @remarks
9
+ * The gate is evaluated once per non-CRUD request. When it resolves to `true`,
10
+ * the route invocation is logged with its outcome and duration via the Cloud
11
+ * Functions {@link logger}. CRUD routes are never logged. Pass `null` to
12
+ * disable logging entirely.
13
+ *
14
+ * @param newGate - The gate predicate, or `null` to disable.
15
+ */
16
+ export const useNonCrudLogging = (newGate) => {
17
+ gate = newGate;
18
+ };
19
+ /** Whether `route` is a non-CRUD (custom) route rather than a standard CRUD one. */
20
+ const isNonCrudRoute = (route) => !CRUD_ROUTES.includes(route);
21
+ /**
22
+ * Runs `fn`, logging the non-CRUD route invocation to Google Cloud Logging when
23
+ * logging is enabled via {@link useNonCrudLogging}.
24
+ *
25
+ * @remarks
26
+ * CRUD routes and the disabled case pass straight through, adding nothing beyond
27
+ * the gate check. A gate that throws is treated as "disabled" so logging can
28
+ * never break request handling.
29
+ *
30
+ * @typeParam RES - The result type produced by `fn`.
31
+ * @param api - Name of the API answering the route (used in the log entry).
32
+ * @param route - The invoked route name.
33
+ * @param fn - The route handler to execute.
34
+ * @returns The result of `fn`.
35
+ */
36
+ export const withNonCrudLogging = async (api, route, fn) => {
37
+ if (!gate || !isNonCrudRoute(route))
38
+ return fn();
39
+ let enabled = false;
40
+ try {
41
+ enabled = await gate();
42
+ }
43
+ catch {
44
+ enabled = false;
45
+ }
46
+ if (!enabled)
47
+ return fn();
48
+ const start = Date.now();
49
+ try {
50
+ const result = await fn();
51
+ logger.info(`non-crud route ${api}.${route}`, {
52
+ api,
53
+ route,
54
+ status: "ok",
55
+ durationMs: Date.now() - start,
56
+ });
57
+ return result;
58
+ }
59
+ catch (error) {
60
+ logger.error(`non-crud route ${api}.${route} failed`, {
61
+ api,
62
+ route,
63
+ status: "error",
64
+ durationMs: Date.now() - start,
65
+ message: error instanceof Error ? error.message : String(error),
66
+ });
67
+ throw error;
68
+ }
69
+ };
70
+ //# sourceMappingURL=nonCrudLogging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonCrudLogging.js","sourceRoot":"","sources":["../../src/api/nonCrudLogging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAcrE,IAAI,IAAI,GAA0B,IAAI,CAAC;AAEvC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAA8B,EAAQ,EAAE;IACxE,IAAI,GAAG,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,oFAAoF;AACpF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,GAAW,EACX,KAAa,EACb,EAAsB,EACR,EAAE;IAChB,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,CAAC;IAEjD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,CAAC;IAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,KAAK,EAAE,EAAE;YAC5C,GAAG;YACH,KAAK;YACL,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SAC/B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,KAAK,SAAS,EAAE;YACpD,GAAG;YACH,KAAK;YACL,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC9B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/gcp-functions-backend",
3
- "version": "2.1.48",
3
+ "version": "2.1.50",
4
4
  "description": "Utils for google cloud functions, publishing both CommonJS and ESM builds",
5
5
  "type": "module",
6
6
  "author": "MXPicture",
@@ -59,7 +59,7 @@
59
59
  },
60
60
  "dependencies": {
61
61
  "@google-cloud/tasks": "^6.2.1",
62
- "@mxpicture/gcp-functions-common": "^2.1.48",
62
+ "@mxpicture/gcp-functions-common": "^2.1.50",
63
63
  "express": "^5.2.1",
64
64
  "firebase-admin": "^13.7.0",
65
65
  "firebase-functions": "^7.0.6",