@mxpicture/gcp-functions-backend 1.3.63 → 1.3.65

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,6 +1,7 @@
1
1
  import { CloudTasksClient } from "@google-cloud/tasks";
2
- import type { FirebaseTask, FirebaseTaskParams, FirebaseTaskScheduleResult } from "../types/types.tasks.js";
2
+ import type { FirebaseTaskParams, FirebaseTaskScheduleResult } from "../types/types.tasks.js";
3
3
  import type { FirebaseEnv } from "../types/types.env.js";
4
+ import { FirebaseTaskQueueHandler } from "./FirebaseTaskQueueHandler.js";
4
5
  /**
5
6
  * Client wrapper around Google Cloud Tasks for scheduling, retrieving, and managing HTTP-targeted tasks.
6
7
  *
@@ -10,13 +11,15 @@ import type { FirebaseEnv } from "../types/types.env.js";
10
11
  */
11
12
  export declare class FirebaseTaskHandler {
12
13
  protected readonly env: FirebaseEnv;
13
- protected tasksClient: CloudTasksClient;
14
+ protected readonly tasksClient: CloudTasksClient;
15
+ protected readonly queueHandlers: Map<string, FirebaseTaskQueueHandler>;
14
16
  /**
15
17
  * Create a new task handler.
16
18
  *
17
19
  * @param env - Environment configuration containing `projectId`, `region`, and `serviceAccount`.
18
20
  */
19
21
  constructor(env: FirebaseEnv);
22
+ queue(queueId: string): FirebaseTaskQueueHandler;
20
23
  /**
21
24
  * Delete an existing task (if present) and create a new one with the same ID at a new schedule time.
22
25
  *
@@ -33,52 +36,5 @@ export declare class FirebaseTaskHandler {
33
36
  * @returns The created task's resource name.
34
37
  */
35
38
  schedule(p: FirebaseTaskParams): Promise<FirebaseTaskScheduleResult>;
36
- /**
37
- * List all tasks in a queue.
38
- *
39
- * @param queueId - The queue identifier.
40
- * @returns An array of tasks with parsed `nameParts`.
41
- */
42
- getTasks(queueId: string): Promise<FirebaseTask[]>;
43
- /**
44
- * Retrieve a single task by queue and task ID.
45
- *
46
- * @param queueId - The queue identifier.
47
- * @param taskId - The task identifier.
48
- * @returns The task with parsed `nameParts`.
49
- */
50
- getTask(queueId: string, taskId: string): Promise<FirebaseTask>;
51
- /**
52
- * Delete a single task by queue and task ID.
53
- *
54
- * @param queueId - The queue identifier.
55
- * @param taskId - The task identifier.
56
- * @returns The task with parsed `nameParts`.
57
- */
58
- deleteTask(queueId: string, taskId: string): Promise<void>;
59
- /**
60
- * Check whether a task exists (is currently scheduled) in a queue.
61
- *
62
- * @param queueId - The queue identifier.
63
- * @param taskId - The task identifier.
64
- * @returns `true` if the task exists, `false` otherwise.
65
- */
66
- isScheduled(queueId: string, taskId: string): Promise<boolean>;
67
- /**
68
- * Build the fully-qualified Cloud Tasks task resource path.
69
- *
70
- * @param queueId - The queue identifier.
71
- * @param taskId - The task identifier.
72
- * @returns The resource path string.
73
- */
74
- taskPath(queueId: string, taskId: string): string;
75
- /**
76
- * Build the fully-qualified Cloud Tasks queue resource path.
77
- *
78
- * @param queueId - The queue identifier.
79
- * @returns The resource path string.
80
- */
81
- queuePath(queueId: string): string;
82
- protected mapTaskFromFirebase(task: FirebaseTask): FirebaseTask;
83
39
  }
84
40
  //# 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,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAQX,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW;IAPtD,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC;IAExC;;;;OAIG;gBACmC,GAAG,EAAE,WAAW;IAItD;;;;;;OAMG;IACU,UAAU,CACrB,CAAC,EAAE,kBAAkB,GACpB,OAAO,CAAC,0BAA0B,CAAC;IAiBtC;;;;;;OAMG;IACU,QAAQ,CACnB,CAAC,EAAE,kBAAkB,GACpB,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
+ {"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,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAUX,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW;IATtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAC3D;IAEZ;;;;OAIG;gBACmC,GAAG,EAAE,WAAW;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB;IASvD;;;;;;OAMG;IACU,UAAU,CACrB,CAAC,EAAE,kBAAkB,GACpB,OAAO,CAAC,0BAA0B,CAAC;IAItC;;;;;;OAMG;IACU,QAAQ,CACnB,CAAC,EAAE,kBAAkB,GACpB,OAAO,CAAC,0BAA0B,CAAC;CAGvC"}
@@ -1,6 +1,5 @@
1
1
  import { CloudTasksClient } from "@google-cloud/tasks";
2
- import { fromTaskName } from "./firebase.tasks.js";
3
- import * as uuid from "short-uuid";
2
+ import { FirebaseTaskQueueHandler } from "./FirebaseTaskQueueHandler.js";
4
3
  /**
5
4
  * Client wrapper around Google Cloud Tasks for scheduling, retrieving, and managing HTTP-targeted tasks.
6
5
  *
@@ -11,6 +10,7 @@ import * as uuid from "short-uuid";
11
10
  export class FirebaseTaskHandler {
12
11
  env;
13
12
  tasksClient;
13
+ queueHandlers = new Map();
14
14
  /**
15
15
  * Create a new task handler.
16
16
  *
@@ -20,6 +20,14 @@ export class FirebaseTaskHandler {
20
20
  this.env = env;
21
21
  this.tasksClient = new CloudTasksClient();
22
22
  }
23
+ queue(queueId) {
24
+ let found = this.queueHandlers.get(queueId);
25
+ if (!found) {
26
+ found = new FirebaseTaskQueueHandler(queueId, this.tasksClient, this.env);
27
+ this.queueHandlers.set(queueId, found);
28
+ }
29
+ return found;
30
+ }
23
31
  /**
24
32
  * Delete an existing task (if present) and create a new one with the same ID at a new schedule time.
25
33
  *
@@ -28,20 +36,7 @@ export class FirebaseTaskHandler {
28
36
  * @returns The created task's resource name.
29
37
  */
30
38
  async reschedule(p) {
31
- try {
32
- if (p.taskId)
33
- await this.tasksClient.deleteTask({
34
- name: this.taskPath(p.queueId, p.taskId),
35
- });
36
- }
37
- catch { }
38
- return await this.schedule({
39
- queueId: p.queueId,
40
- taskId: p.taskId,
41
- targetUrl: p.targetUrl,
42
- payload: p.targetUrl,
43
- scheduleTime: p.scheduleTime,
44
- });
39
+ return await this.queue(p.queueId).reschedule(p);
45
40
  }
46
41
  /**
47
42
  * Create a new Cloud Task scheduled for the given time.
@@ -51,109 +46,7 @@ export class FirebaseTaskHandler {
51
46
  * @returns The created task's resource name.
52
47
  */
53
48
  async schedule(p) {
54
- const queuePath = this.queuePath(p.queueId);
55
- const taskPath = this.taskPath(p.queueId, p.taskId ?? uuid.generate());
56
- const headers = {};
57
- let body = null;
58
- if (p.payload) {
59
- body = Buffer.from(p.payload, "utf8").toString("base64");
60
- headers["Content-Type"] = "application/json";
61
- }
62
- const [task] = await this.tasksClient.createTask({
63
- parent: queuePath,
64
- task: {
65
- scheduleTime: p.scheduleTime,
66
- name: taskPath,
67
- httpRequest: {
68
- httpMethod: "POST",
69
- url: p.targetUrl,
70
- headers: Object.keys(headers).length ? headers : null,
71
- body,
72
- oidcToken: {
73
- serviceAccountEmail: this.env.serviceAccount,
74
- // Optional: set audience; often leave unset, or set to the URL depending on your auth expectations
75
- // audience: EXEC_ENDPOINT_URL,
76
- },
77
- },
78
- },
79
- });
80
- return { name: task.name ?? null };
81
- }
82
- /**
83
- * List all tasks in a queue.
84
- *
85
- * @param queueId - The queue identifier.
86
- * @returns An array of tasks with parsed `nameParts`.
87
- */
88
- async getTasks(queueId) {
89
- const tasks = (await this.tasksClient.listTasks({ parent: this.queuePath(queueId) }))[0];
90
- return tasks.map((task) => this.mapTaskFromFirebase(task));
91
- }
92
- /**
93
- * Retrieve a single task by queue and task ID.
94
- *
95
- * @param queueId - The queue identifier.
96
- * @param taskId - The task identifier.
97
- * @returns The task with parsed `nameParts`.
98
- */
99
- async getTask(queueId, taskId) {
100
- const task = (await this.tasksClient.getTask({ name: this.taskPath(queueId, taskId) }))[0];
101
- return this.mapTaskFromFirebase(task);
102
- }
103
- /**
104
- * Delete a single task by queue and task ID.
105
- *
106
- * @param queueId - The queue identifier.
107
- * @param taskId - The task identifier.
108
- * @returns The task with parsed `nameParts`.
109
- */
110
- async deleteTask(queueId, taskId) {
111
- const name = this.taskPath(queueId, taskId);
112
- await this.tasksClient.deleteTask({ name });
113
- }
114
- /**
115
- * Check whether a task exists (is currently scheduled) in a queue.
116
- *
117
- * @param queueId - The queue identifier.
118
- * @param taskId - The task identifier.
119
- * @returns `true` if the task exists, `false` otherwise.
120
- */
121
- async isScheduled(queueId, taskId) {
122
- try {
123
- await this.getTask(queueId, taskId);
124
- return true;
125
- }
126
- catch {
127
- return false;
128
- }
129
- }
130
- /**
131
- * Build the fully-qualified Cloud Tasks task resource path.
132
- *
133
- * @param queueId - The queue identifier.
134
- * @param taskId - The task identifier.
135
- * @returns The resource path string.
136
- */
137
- taskPath(queueId, taskId) {
138
- return this.tasksClient.taskPath(this.env.projectId, this.env.region, queueId, taskId);
139
- }
140
- /**
141
- * Build the fully-qualified Cloud Tasks queue resource path.
142
- *
143
- * @param queueId - The queue identifier.
144
- * @returns The resource path string.
145
- */
146
- queuePath(queueId) {
147
- return this.tasksClient.queuePath(this.env.projectId, this.env.region, queueId);
148
- }
149
- mapTaskFromFirebase(task) {
150
- const cloned = structuredClone(task);
151
- if (!cloned.name)
152
- return cloned;
153
- const parts = fromTaskName(cloned.name);
154
- if (parts)
155
- cloned.nameParts = parts;
156
- return cloned;
49
+ return await this.queue(p.queueId).schedule(p);
157
50
  }
158
51
  }
159
52
  //# sourceMappingURL=FirebaseTaskHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FirebaseTaskHandler.js","sourceRoot":"","sources":["../../src/firebase/FirebaseTaskHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FirebaseTaskHandler.js","sourceRoot":"","sources":["../../src/firebase/FirebaseTaskHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAMvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IAUQ;IATnB,WAAW,CAAmB;IAC9B,aAAa,GAC9B,IAAI,GAAG,EAAE,CAAC;IAEZ;;;;OAIG;IACH,YAAsC,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,OAAe;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,UAAU,CACrB,CAAqB;QAErB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,QAAQ,CACnB,CAAqB;QAErB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;CACF"}
@@ -0,0 +1,78 @@
1
+ import type { CloudTasksClient } from "@google-cloud/tasks";
2
+ import type { FirebaseTask, FirebaseTaskQueueParams, FirebaseTaskScheduleResult } from "../types/types.tasks.js";
3
+ import type { FirebaseEnv } from "../types/types.env.js";
4
+ /**
5
+ * Client wrapper around Google Cloud Tasks for scheduling, retrieving, and managing HTTP-targeted tasks.
6
+ *
7
+ * @remarks
8
+ * All queue and task paths are derived from the {@link FirebaseTaskEnv} provided at construction.
9
+ * Task payloads are sent as base64-encoded JSON via `POST` with OIDC authentication.
10
+ */
11
+ export declare class FirebaseTaskQueueHandler {
12
+ readonly queueId: string;
13
+ protected readonly tasksClient: CloudTasksClient;
14
+ protected readonly env: FirebaseEnv;
15
+ constructor(queueId: string, tasksClient: CloudTasksClient, env: FirebaseEnv);
16
+ /**
17
+ * Delete an existing task (if present) and create a new one with the same ID at a new schedule time.
18
+ *
19
+ * @param p - Task parameters including the mandatory `taskId` to reschedule.
20
+ * @param scheduleTime - The new schedule timestamp.
21
+ * @returns The created task's resource name.
22
+ */
23
+ reschedule(p: FirebaseTaskQueueParams): Promise<FirebaseTaskScheduleResult>;
24
+ /**
25
+ * Create a new Cloud Task scheduled for the given time.
26
+ *
27
+ * @param p - Task parameters: target URL, optional payload, optional task ID, queue ID
28
+ * @param scheduleTime - When the task should be dispatched.
29
+ * @returns The created task's resource name.
30
+ */
31
+ schedule(p: FirebaseTaskQueueParams): Promise<FirebaseTaskScheduleResult>;
32
+ /**
33
+ * List all tasks in a queue.
34
+ *
35
+ * @returns An array of tasks with parsed `nameParts`.
36
+ */
37
+ getTasks(): Promise<FirebaseTask[]>;
38
+ /**
39
+ * Retrieve a single task by queue and task ID.
40
+ *
41
+ * @param taskId - The task identifier.
42
+ * @returns The task with parsed `nameParts`.
43
+ */
44
+ getTask(taskId: string): Promise<FirebaseTask>;
45
+ /**
46
+ * Delete a single task by queue and task ID.
47
+ *
48
+ * @param queueId - The queue identifier.
49
+ * @param taskId - The task identifier.
50
+ * @returns The task with parsed `nameParts`.
51
+ */
52
+ deleteTask(taskId: string): Promise<void>;
53
+ /**
54
+ * Check whether a task exists (is currently scheduled) in a queue.
55
+ *
56
+ * @param queueId - The queue identifier.
57
+ * @param taskId - The task identifier.
58
+ * @returns `true` if the task exists, `false` otherwise.
59
+ */
60
+ isScheduled(taskId: string): Promise<boolean>;
61
+ /**
62
+ * Build the fully-qualified Cloud Tasks task resource path.
63
+ *
64
+ * @param queueId - The queue identifier.
65
+ * @param taskId - The task identifier.
66
+ * @returns The resource path string.
67
+ */
68
+ taskPath(taskId: string): string;
69
+ /**
70
+ * Build the fully-qualified Cloud Tasks queue resource path.
71
+ *
72
+ * @param queueId - The queue identifier.
73
+ * @returns The resource path string.
74
+ */
75
+ queuePath(): string;
76
+ protected mapTaskFromFirebase(task: FirebaseTask): FirebaseTask;
77
+ }
78
+ //# sourceMappingURL=FirebaseTaskQueueHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FirebaseTaskQueueHandler.d.ts","sourceRoot":"","sources":["../../src/firebase/FirebaseTaskQueueHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;;;;;GAMG;AACH,qBAAa,wBAAwB;aAEjB,OAAO,EAAE,MAAM;IAC/B,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB;IAChD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW;gBAFnB,OAAO,EAAE,MAAM,EACZ,WAAW,EAAE,gBAAgB,EAC7B,GAAG,EAAE,WAAW;IAGrC;;;;;;OAMG;IACU,UAAU,CACrB,CAAC,EAAE,uBAAuB,GACzB,OAAO,CAAC,0BAA0B,CAAC;IAgBtC;;;;;;OAMG;IACU,QAAQ,CACnB,CAAC,EAAE,uBAAuB,GACzB,OAAO,CAAC,0BAA0B,CAAC;IAiCtC;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAOhD;;;;;OAKG;IACU,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAS3D;;;;;;OAMG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;;;;;OAMG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS1D;;;;;;OAMG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IASvC;;;;;OAKG;IACI,SAAS,IAAI,MAAM;IAQ1B,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;CAOhE"}
@@ -0,0 +1,154 @@
1
+ import * as uuid from "short-uuid";
2
+ import { fromTaskName } from "./firebase.tasks.js";
3
+ /**
4
+ * Client wrapper around Google Cloud Tasks for scheduling, retrieving, and managing HTTP-targeted tasks.
5
+ *
6
+ * @remarks
7
+ * All queue and task paths are derived from the {@link FirebaseTaskEnv} provided at construction.
8
+ * Task payloads are sent as base64-encoded JSON via `POST` with OIDC authentication.
9
+ */
10
+ export class FirebaseTaskQueueHandler {
11
+ queueId;
12
+ tasksClient;
13
+ env;
14
+ constructor(queueId, tasksClient, env) {
15
+ this.queueId = queueId;
16
+ this.tasksClient = tasksClient;
17
+ this.env = env;
18
+ }
19
+ /**
20
+ * Delete an existing task (if present) and create a new one with the same ID at a new schedule time.
21
+ *
22
+ * @param p - Task parameters including the mandatory `taskId` to reschedule.
23
+ * @param scheduleTime - The new schedule timestamp.
24
+ * @returns The created task's resource name.
25
+ */
26
+ async reschedule(p) {
27
+ try {
28
+ if (p.taskId)
29
+ await this.tasksClient.deleteTask({
30
+ name: this.taskPath(p.taskId),
31
+ });
32
+ }
33
+ catch { }
34
+ return await this.schedule({
35
+ taskId: p.taskId,
36
+ targetUrl: p.targetUrl,
37
+ payload: p.targetUrl,
38
+ scheduleTime: p.scheduleTime,
39
+ });
40
+ }
41
+ /**
42
+ * Create a new Cloud Task scheduled for the given time.
43
+ *
44
+ * @param p - Task parameters: target URL, optional payload, optional task ID, queue ID
45
+ * @param scheduleTime - When the task should be dispatched.
46
+ * @returns The created task's resource name.
47
+ */
48
+ async schedule(p) {
49
+ const queuePath = this.queuePath();
50
+ const taskPath = this.taskPath(p.taskId ?? uuid.generate());
51
+ const headers = {};
52
+ let body = null;
53
+ if (p.payload) {
54
+ body = Buffer.from(p.payload, "utf8").toString("base64");
55
+ headers["Content-Type"] = "application/json";
56
+ }
57
+ const [task] = await this.tasksClient.createTask({
58
+ parent: queuePath,
59
+ task: {
60
+ scheduleTime: p.scheduleTime,
61
+ name: taskPath,
62
+ httpRequest: {
63
+ httpMethod: "POST",
64
+ url: p.targetUrl,
65
+ headers: Object.keys(headers).length ? headers : null,
66
+ body,
67
+ oidcToken: {
68
+ serviceAccountEmail: this.env.serviceAccount,
69
+ // Optional: set audience; often leave unset, or set to the URL depending on your auth expectations
70
+ // audience: EXEC_ENDPOINT_URL,
71
+ },
72
+ },
73
+ },
74
+ });
75
+ return { name: task.name ?? null };
76
+ }
77
+ /**
78
+ * List all tasks in a queue.
79
+ *
80
+ * @returns An array of tasks with parsed `nameParts`.
81
+ */
82
+ async getTasks() {
83
+ const tasks = (await this.tasksClient.listTasks({ parent: this.queuePath() }))[0];
84
+ return tasks.map((task) => this.mapTaskFromFirebase(task));
85
+ }
86
+ /**
87
+ * Retrieve a single task by queue and task ID.
88
+ *
89
+ * @param taskId - The task identifier.
90
+ * @returns The task with parsed `nameParts`.
91
+ */
92
+ async getTask(taskId) {
93
+ const task = (await this.tasksClient.getTask({
94
+ name: this.taskPath(taskId),
95
+ }))[0];
96
+ return this.mapTaskFromFirebase(task);
97
+ }
98
+ /**
99
+ * Delete a single task by queue and task ID.
100
+ *
101
+ * @param queueId - The queue identifier.
102
+ * @param taskId - The task identifier.
103
+ * @returns The task with parsed `nameParts`.
104
+ */
105
+ async deleteTask(taskId) {
106
+ const name = this.taskPath(taskId);
107
+ await this.tasksClient.deleteTask({ name });
108
+ }
109
+ /**
110
+ * Check whether a task exists (is currently scheduled) in a queue.
111
+ *
112
+ * @param queueId - The queue identifier.
113
+ * @param taskId - The task identifier.
114
+ * @returns `true` if the task exists, `false` otherwise.
115
+ */
116
+ async isScheduled(taskId) {
117
+ try {
118
+ await this.getTask(taskId);
119
+ return true;
120
+ }
121
+ catch {
122
+ return false;
123
+ }
124
+ }
125
+ /**
126
+ * Build the fully-qualified Cloud Tasks task resource path.
127
+ *
128
+ * @param queueId - The queue identifier.
129
+ * @param taskId - The task identifier.
130
+ * @returns The resource path string.
131
+ */
132
+ taskPath(taskId) {
133
+ return this.tasksClient.taskPath(this.env.projectId, this.env.region, this.queueId, taskId);
134
+ }
135
+ /**
136
+ * Build the fully-qualified Cloud Tasks queue resource path.
137
+ *
138
+ * @param queueId - The queue identifier.
139
+ * @returns The resource path string.
140
+ */
141
+ queuePath() {
142
+ return this.tasksClient.queuePath(this.env.projectId, this.env.region, this.queueId);
143
+ }
144
+ mapTaskFromFirebase(task) {
145
+ const cloned = structuredClone(task);
146
+ if (!cloned.name)
147
+ return cloned;
148
+ const parts = fromTaskName(cloned.name);
149
+ if (parts)
150
+ cloned.nameParts = parts;
151
+ return cloned;
152
+ }
153
+ }
154
+ //# sourceMappingURL=FirebaseTaskQueueHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FirebaseTaskQueueHandler.js","sourceRoot":"","sources":["../../src/firebase/FirebaseTaskQueueHandler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from "./FirebaseTaskHandler.js";
2
+ export * from "./FirebaseTaskQueueHandler.js";
2
3
  export * from "./FirebaseTaskSetup.js";
3
4
  export * from "./firebase.backend.js";
4
5
  export * from "./firebase.express.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/firebase/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/firebase/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // This file is auto-generated by build-cli. Do not edit manually.
2
2
  export * from "./FirebaseTaskHandler.js";
3
+ export * from "./FirebaseTaskQueueHandler.js";
3
4
  export * from "./FirebaseTaskSetup.js";
4
5
  export * from "./firebase.backend.js";
5
6
  export * from "./firebase.express.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/firebase/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/firebase/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
@@ -1,11 +1,13 @@
1
1
  /** Parameters for creating or rescheduling a Cloud Task. */
2
- export interface FirebaseTaskParams {
3
- queueId: string;
2
+ export interface FirebaseTaskQueueParams {
4
3
  taskId?: string;
5
4
  targetUrl: string;
6
5
  payload?: string;
7
6
  scheduleTime: FirebaseTaskTimestamp;
8
7
  }
8
+ export interface FirebaseTaskParams extends FirebaseTaskQueueParams {
9
+ queueId: string;
10
+ }
9
11
  /** Result of scheduling a task with optional callback metadata. */
10
12
  export interface FirebaseTaskScheduleResult {
11
13
  /** Full Cloud Tasks resource name, or `null` if the created task has no name. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.tasks.d.ts","sourceRoot":"","sources":["../../src/types/types.tasks.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAED,mEAAmE;AACnE,MAAM,WAAW,0BAA0B;IACzC,iFAAiF;IACjF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,6EAA6E;AAC7E,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,6EAA6E;AAC7E,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wBAAwB;IACxB,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,sBAAsB;IACtB,UAAU,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC1C,4BAA4B;IAC5B,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC/C,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wBAAwB;IACxB,YAAY,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,uBAAuB;IACvB,WAAW,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC1C;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC5C;AAED,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEzD,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
1
+ {"version":3,"file":"types.tasks.d.ts","sourceRoot":"","sources":["../../src/types/types.tasks.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mEAAmE;AACnE,MAAM,WAAW,0BAA0B;IACzC,iFAAiF;IACjF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,6EAA6E;AAC7E,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,6EAA6E;AAC7E,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wBAAwB;IACxB,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,sBAAsB;IACtB,UAAU,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC1C,4BAA4B;IAC5B,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC/C,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wBAAwB;IACxB,YAAY,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,uBAAuB;IACvB,WAAW,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC1C;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC5C;AAED,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEzD,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/gcp-functions-backend",
3
- "version": "1.3.63",
3
+ "version": "1.3.65",
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.63",
57
+ "@mxpicture/gcp-functions-common": "^1.3.65",
58
58
  "express": "^5.2.1",
59
59
  "firebase-admin": "^13.7.0",
60
60
  "firebase-functions": "^7.0.6",