@mxpicture/gcp-functions-backend 1.3.25 → 1.3.26

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,5 +1,5 @@
1
1
  import { CloudTasksClient } from "@google-cloud/tasks";
2
- import type { FirebaseQueueNameParts, FirebaseTask, FirebaseTaskEnv, FirebaseTaskNameParts, FirebaseTaskParams, FirebaseTaskScheduleResult, FirebaseTaskTimestamp } from "../types/types.tasks.js";
2
+ import type { FirebaseTask, FirebaseTaskEnv, FirebaseTaskParams, FirebaseTaskScheduleResult, FirebaseTaskTimestamp } from "../types/types.tasks.js";
3
3
  import { FirebaseTaskQueueHandler } from "./FirebaseTaskQueueHandler.js";
4
4
  /**
5
5
  * Client wrapper around Google Cloud Tasks for scheduling, retrieving, and managing HTTP-targeted tasks.
@@ -52,6 +52,14 @@ export declare class FirebaseTaskHandler {
52
52
  * @returns The task with parsed `nameParts`.
53
53
  */
54
54
  getTask(queueId: string, taskId: string): Promise<FirebaseTask>;
55
+ /**
56
+ * Delete a single task by queue and task ID.
57
+ *
58
+ * @param queueId - The queue identifier.
59
+ * @param taskId - The task identifier.
60
+ * @returns The task with parsed `nameParts`.
61
+ */
62
+ deleteTask(queueId: string, taskId: string): Promise<void>;
55
63
  /**
56
64
  * Check whether a task exists (is currently scheduled) in a queue.
57
65
  *
@@ -68,13 +76,6 @@ export declare class FirebaseTaskHandler {
68
76
  * @returns The resource path string.
69
77
  */
70
78
  taskPath(queueId: string, taskId: string): string;
71
- /**
72
- * Parse a fully-qualified task resource path into its constituent parts.
73
- *
74
- * @param path - The task resource path to parse.
75
- * @returns The parsed parts, or `null` if the path does not match the expected format.
76
- */
77
- taskFromPath(path: string): FirebaseTaskNameParts | null;
78
79
  /**
79
80
  * Build the fully-qualified Cloud Tasks queue resource path.
80
81
  *
@@ -82,13 +83,6 @@ export declare class FirebaseTaskHandler {
82
83
  * @returns The resource path string.
83
84
  */
84
85
  queuePath(queueId: string): string;
85
- /**
86
- * Parse a fully-qualified queue resource path into its constituent parts.
87
- *
88
- * @param path - The queue resource path to parse.
89
- * @returns The parsed parts, or `null` if the path does not match the expected format.
90
- */
91
- queueFromPath(path: string): FirebaseQueueNameParts | null;
92
86
  protected mapTaskFromFirebase(task: FirebaseTask): FirebaseTask;
93
87
  }
94
88
  //# sourceMappingURL=FirebaseTaskHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FirebaseTaskHandler.d.ts","sourceRoot":"","sources":["../../src/firebase/FirebaseTaskHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAOzE;;;;;;GAMG;AACH,qBAAa,mBAAmB;IASX,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe;IAR1D,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACxC,SAAS,CAAC,aAAa,EAAE,wBAAwB,EAAE,CAAM;IAEzD;;;;OAIG;gBACmC,GAAG,EAAE,eAAe;IAInD,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB;IAYjE;;;;;;OAMG;IACU,UAAU,CACrB,CAAC,EAAE,kBAAkB,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAC1C,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAgBtC;;;;;;OAMG;IACU,QAAQ,CACnB,CAAC,EAAE,kBAAkB,EACrB,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAiCtC;;;;;OAKG;IACU,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAO/D;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAO5E;;;;;;OAMG;IACU,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3E;;;;;;OAMG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IASxD;;;;;OAKG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAW/D;;;;;OAKG;IACI,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQzC;;;;;OAKG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI;IAUjE,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;CAOhE"}
1
+ {"version":3,"file":"FirebaseTaskHandler.d.ts","sourceRoot":"","sources":["../../src/firebase/FirebaseTaskHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE;;;;;;GAMG;AACH,qBAAa,mBAAmB;IASX,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe;IAR1D,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACxC,SAAS,CAAC,aAAa,EAAE,wBAAwB,EAAE,CAAM;IAEzD;;;;OAIG;gBACmC,GAAG,EAAE,eAAe;IAInD,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB;IAYjE;;;;;;OAMG;IACU,UAAU,CACrB,CAAC,EAAE,kBAAkB,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAC1C,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAgBtC;;;;;;OAMG;IACU,QAAQ,CACnB,CAAC,EAAE,kBAAkB,EACrB,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAiCtC;;;;;OAKG;IACU,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAO/D;;;;;;OAMG;IACU,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAO5E;;;;;;OAMG;IACU,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE;;;;;;OAMG;IACU,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3E;;;;;;OAMG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IASxD;;;;;OAKG;IACI,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQzC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;CAOhE"}
@@ -1,7 +1,6 @@
1
1
  import { CloudTasksClient } from "@google-cloud/tasks";
2
2
  import { FirebaseTaskQueueHandler } from "./FirebaseTaskQueueHandler.js";
3
- const taskPathRegex = /^projects\/([a-zA-Z0-9-_]+)\/locations\/([a-zA-Z0-9-_]+)\/queues\/([a-zA-Z0-9-_]+)\/tasks\/([a-zA-Z0-9-_]+)$/;
4
- const queuePathRegex = /^projects\/([a-zA-Z0-9-_]+)\/locations\/([a-zA-Z0-9-_]+)\/queues\/([a-zA-Z0-9-_]+)$/;
3
+ import { fromTaskPath } from "./firebase.tasks.js";
5
4
  /**
6
5
  * Client wrapper around Google Cloud Tasks for scheduling, retrieving, and managing HTTP-targeted tasks.
7
6
  *
@@ -108,6 +107,17 @@ export class FirebaseTaskHandler {
108
107
  const task = (await this.tasksClient.getTask({ name: this.taskPath(queueId, taskId) }))[0];
109
108
  return this.mapTaskFromFirebase(task);
110
109
  }
110
+ /**
111
+ * Delete a single task by queue and task ID.
112
+ *
113
+ * @param queueId - The queue identifier.
114
+ * @param taskId - The task identifier.
115
+ * @returns The task with parsed `nameParts`.
116
+ */
117
+ async deleteTask(queueId, taskId) {
118
+ const name = this.taskPath(queueId, taskId);
119
+ await this.tasksClient.deleteTask({ name });
120
+ }
111
121
  /**
112
122
  * Check whether a task exists (is currently scheduled) in a queue.
113
123
  *
@@ -134,23 +144,6 @@ export class FirebaseTaskHandler {
134
144
  taskPath(queueId, taskId) {
135
145
  return this.tasksClient.taskPath(this.env.projectId, this.env.region, queueId, taskId);
136
146
  }
137
- /**
138
- * Parse a fully-qualified task resource path into its constituent parts.
139
- *
140
- * @param path - The task resource path to parse.
141
- * @returns The parsed parts, or `null` if the path does not match the expected format.
142
- */
143
- taskFromPath(path) {
144
- const found = path.match(taskPathRegex);
145
- if (!found)
146
- return null;
147
- return {
148
- projectId: found[1],
149
- region: found[2],
150
- queueId: found[3],
151
- taskId: found[4],
152
- };
153
- }
154
147
  /**
155
148
  * Build the fully-qualified Cloud Tasks queue resource path.
156
149
  *
@@ -160,27 +153,11 @@ export class FirebaseTaskHandler {
160
153
  queuePath(queueId) {
161
154
  return this.tasksClient.queuePath(this.env.projectId, this.env.region, queueId);
162
155
  }
163
- /**
164
- * Parse a fully-qualified queue resource path into its constituent parts.
165
- *
166
- * @param path - The queue resource path to parse.
167
- * @returns The parsed parts, or `null` if the path does not match the expected format.
168
- */
169
- queueFromPath(path) {
170
- const found = path.match(queuePathRegex);
171
- if (!found)
172
- return null;
173
- return {
174
- projectId: found[1],
175
- region: found[2],
176
- queueId: found[3],
177
- };
178
- }
179
156
  mapTaskFromFirebase(task) {
180
157
  const cloned = structuredClone(task);
181
158
  if (!cloned.name)
182
159
  return cloned;
183
- const parts = this.taskFromPath(cloned.name);
160
+ const parts = fromTaskPath(cloned.name);
184
161
  if (parts)
185
162
  cloned.nameParts = parts;
186
163
  return cloned;
@@ -1 +1 @@
1
- {"version":3,"file":"FirebaseTaskHandler.js","sourceRoot":"","sources":["../../src/firebase/FirebaseTaskHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,aAAa,GACjB,8GAA8G,CAAC;AACjH,MAAM,cAAc,GAClB,qFAAqF,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IASQ;IAR5B,WAAW,CAAmB;IAC9B,aAAa,GAA+B,EAAE,CAAC;IAEzD;;;;OAIG;IACH,YAAsC,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC5C,CAAC;IAEM,eAAe,CAAC,OAAe;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACnC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CACzC,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,UAAU,CACrB,CAA0C,EAC1C,YAAmC;QAEnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,OAAO,IAAI,CAAC,QAAQ,CAClB;YACE,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,EACD,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,QAAQ,CACnB,CAAqB,EACrB,YAAmC;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtE,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,IAAI,IAAI,GAAkB,IAAI,CAAC;QAE/B,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC/C,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE;gBACJ,YAAY;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,UAAU,EAAE,MAAM;oBAClB,GAAG,EAAE,CAAC,CAAC,SAAS;oBAChB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBACrD,IAAI;oBACJ,SAAS,EAAE;wBACT,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc;wBAC5C,mGAAmG;wBACnG,+BAA+B;qBAChC;iBACF;aACF;SACF,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,CAAC,OAAe;QACnC,MAAM,KAAK,GAAG,CACZ,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CACtE,CAAC,CAAC,CAAC,CAAC;QACL,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,MAAc;QAClD,MAAM,IAAI,GAAG,CACX,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CACzE,CAAC,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAc;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,OAAe,EAAE,MAAc;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC9B,IAAI,CAAC,GAAG,CAAC,SAAS,EAClB,IAAI,CAAC,GAAG,CAAC,MAAM,EACf,OAAO,EACP,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,IAAY;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;SACjB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,OAAe;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAC/B,IAAI,CAAC,GAAG,CAAC,SAAS,EAClB,IAAI,CAAC,GAAG,CAAC,MAAM,EACf,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,aAAa,CAAC,IAAY;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;SAClB,CAAC;IACJ,CAAC;IAES,mBAAmB,CAAC,IAAkB;QAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK;YAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"FirebaseTaskHandler.js","sourceRoot":"","sources":["../../src/firebase/FirebaseTaskHandler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { FirebaseTaskDurationParams, FirebaseTaskTimestamp } from "../types/types.tasks.js";
1
+ import type { FirebaseQueueNameParts, FirebaseTaskDurationParams, FirebaseTaskNameParts, FirebaseTaskTimestamp } from "../types/types.tasks.js";
2
2
  /**
3
3
  * Compute a Cloud Tasks schedule timestamp from a duration specification or an absolute `Date`.
4
4
  *
@@ -13,4 +13,20 @@ import type { FirebaseTaskDurationParams, FirebaseTaskTimestamp } from "../types
13
13
  * @returns A {@link FirebaseTaskTimestamp} containing the computed `seconds` value.
14
14
  */
15
15
  export declare const taskScheduleTimestamp: (duration_date: FirebaseTaskDurationParams | Date) => FirebaseTaskTimestamp;
16
+ export declare const taskPathRegex: RegExp;
17
+ export declare const queuePathRegex: RegExp;
18
+ /**
19
+ * Parse a fully-qualified task resource path into its constituent parts.
20
+ *
21
+ * @param path - The task resource path to parse.
22
+ * @returns The parsed parts, or `null` if the path does not match the expected format.
23
+ */
24
+ export declare const fromTaskPath: (path: string) => FirebaseTaskNameParts | null;
25
+ /**
26
+ * Parse a fully-qualified queue resource path into its constituent parts.
27
+ *
28
+ * @param path - The queue resource path to parse.
29
+ * @returns The parsed parts, or `null` if the path does not match the expected format.
30
+ */
31
+ export declare const fromQueuePath: (path: string) => FirebaseQueueNameParts | null;
16
32
  //# sourceMappingURL=firebase.tasks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.tasks.d.ts","sourceRoot":"","sources":["../../src/firebase/firebase.tasks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,GAChC,eAAe,0BAA0B,GAAG,IAAI,KAC/C,qBAuBF,CAAC"}
1
+ {"version":3,"file":"firebase.tasks.d.ts","sourceRoot":"","sources":["../../src/firebase/firebase.tasks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,GAChC,eAAe,0BAA0B,GAAG,IAAI,KAC/C,qBAuBF,CAAC;AAEF,eAAO,MAAM,aAAa,QACsF,CAAC;AACjH,eAAO,MAAM,cAAc,QAC4D,CAAC;AAExF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,qBAAqB,GAAG,IASnE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,sBAAsB,GAAG,IAQrE,CAAC"}
@@ -30,4 +30,39 @@ export const taskScheduleTimestamp = (duration_date) => {
30
30
  }
31
31
  return { seconds: Math.floor(targetAt.getTime() / 1000) };
32
32
  };
33
+ export const taskPathRegex = /^projects\/([a-zA-Z0-9-_]+)\/locations\/([a-zA-Z0-9-_]+)\/queues\/([a-zA-Z0-9-_]+)\/tasks\/([a-zA-Z0-9-_]+)$/;
34
+ export const queuePathRegex = /^projects\/([a-zA-Z0-9-_]+)\/locations\/([a-zA-Z0-9-_]+)\/queues\/([a-zA-Z0-9-_]+)$/;
35
+ /**
36
+ * Parse a fully-qualified task resource path into its constituent parts.
37
+ *
38
+ * @param path - The task resource path to parse.
39
+ * @returns The parsed parts, or `null` if the path does not match the expected format.
40
+ */
41
+ export const fromTaskPath = (path) => {
42
+ const found = path.match(taskPathRegex);
43
+ if (!found)
44
+ return null;
45
+ return {
46
+ projectId: found[1],
47
+ region: found[2],
48
+ queueId: found[3],
49
+ taskId: found[4],
50
+ };
51
+ };
52
+ /**
53
+ * Parse a fully-qualified queue resource path into its constituent parts.
54
+ *
55
+ * @param path - The queue resource path to parse.
56
+ * @returns The parsed parts, or `null` if the path does not match the expected format.
57
+ */
58
+ export const fromQueuePath = (path) => {
59
+ const found = path.match(queuePathRegex);
60
+ if (!found)
61
+ return null;
62
+ return {
63
+ projectId: found[1],
64
+ region: found[2],
65
+ queueId: found[3],
66
+ };
67
+ };
33
68
  //# sourceMappingURL=firebase.tasks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.tasks.js","sourceRoot":"","sources":["../../src/firebase/firebase.tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAMhF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,aAAgD,EACzB,EAAE;IACzB,IAAI,QAAQ,GAAgB,IAAI,CAAC;IAEjC,IAAI,aAAa,YAAY,IAAI,EAAE,CAAC;QAClC,QAAQ,GAAG,aAAa,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACzD,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAClD,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAC/C,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAE1C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACvC,QAAQ;YACN,CAAC,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,CAAC,aAAa,CAAC,aAAa;gBAC9D,CAAC,CAAC,sBAAsB,CACpB,IAAI,EACJ,aAAa,CAAC,eAAe,EAC7B,aAAa,CAAC,aAAa,CAC5B;gBACH,CAAC,CAAC,IAAI,CAAC;IACb,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AAC5D,CAAC,CAAC"}
1
+ {"version":3,"file":"firebase.tasks.js","sourceRoot":"","sources":["../../src/firebase/firebase.tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAQhF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,aAAgD,EACzB,EAAE;IACzB,IAAI,QAAQ,GAAgB,IAAI,CAAC;IAEjC,IAAI,aAAa,YAAY,IAAI,EAAE,CAAC;QAClC,QAAQ,GAAG,aAAa,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACzD,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAClD,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAC/C,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAE1C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACvC,QAAQ;YACN,CAAC,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,CAAC,aAAa,CAAC,aAAa;gBAC9D,CAAC,CAAC,sBAAsB,CACpB,IAAI,EACJ,aAAa,CAAC,eAAe,EAC7B,aAAa,CAAC,aAAa,CAC5B;gBACH,CAAC,CAAC,IAAI,CAAC;IACb,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GACxB,8GAA8G,CAAC;AACjH,MAAM,CAAC,MAAM,cAAc,GACzB,qFAAqF,CAAC;AAExF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAgC,EAAE;IACzE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAChB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACjB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;KACjB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAiC,EAAE;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAChB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;KAClB,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/gcp-functions-backend",
3
- "version": "1.3.25",
3
+ "version": "1.3.26",
4
4
  "description": "Utils for google cloud functions, publishing both CommonJS and ESM builds",
5
5
  "type": "module",
6
6
  "author": "MXPicture",
@@ -54,7 +54,7 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "@google-cloud/tasks": "^6.2.1",
57
- "@mxpicture/gcp-functions-common": "^1.3.25",
57
+ "@mxpicture/gcp-functions-common": "^1.3.26",
58
58
  "express": "^5.2.1",
59
59
  "firebase-admin": "^13.7.0",
60
60
  "firebase-functions": "^7.0.6",