anbaric-impl-cloud 1.56.9 → 1.58.0
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.
|
@@ -3,8 +3,9 @@ declare class CloudJobPersistence extends JobPersistence implements AppAware {
|
|
|
3
3
|
private client;
|
|
4
4
|
constructor(baseUrl?: string, auditor?: Auditor);
|
|
5
5
|
getAppId(): string;
|
|
6
|
-
protected saveInternal(job: Job): Promise<void>;
|
|
7
|
-
protected retrieveInternal(id: string): Promise<Job>;
|
|
6
|
+
protected saveInternal(job: Job, properties?: Map<string, any>): Promise<void>;
|
|
7
|
+
protected retrieveInternal(id: string, keys?: Array<string>): Promise<Job>;
|
|
8
|
+
private jobPath;
|
|
8
9
|
protected deleteInternal(id: string): Promise<void>;
|
|
9
10
|
protected listInternal(pageSize?: number, page?: number, query?: JobPersistence.Query): Promise<Array<Job>>;
|
|
10
11
|
protected killInternal(id: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloudJobPersistence.d.ts","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAgB,GAAG,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"CloudJobPersistence.d.ts","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAgB,GAAG,EAAE,cAAc,EAA0E,MAAM,eAAe,CAAC;AAG5J,cAAM,mBAAoB,SAAQ,cAAe,YAAW,QAAQ;IAEhE,OAAO,CAAC,MAAM,CAAkB;IAEhC,YAAY,OAAO,GAAG,MAAwC,EAAE,OAAO,GAAG,OAA2B,EAGpG;IAED,QAAQ,IAAK,MAAM,CAElB;IAID,UAAgB,YAAY,CAAC,GAAG,EAAG,GAAG,EAAE,UAAU,CAAC,EAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAI,OAAO,CAAC,IAAI,CAAC,CAGtF;IAID,UAAgB,gBAAgB,CAAC,EAAE,EAAG,MAAM,EAAE,IAAI,CAAC,EAAG,KAAK,CAAC,MAAM,CAAC,GAAI,OAAO,CAAC,GAAG,CAAC,CAYlF;IAED,OAAO,CAAC,OAAO;IAKf,UAAgB,cAAc,CAAC,EAAE,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC,CAE1D;IAED,UAAgB,YAAY,CAAC,QAAQ,GAAG,MAAY,EAAE,IAAI,GAAG,MAAU,EAAE,KAAK,GAAG,cAAc,CAAC,KAAU,GAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAOhI;IAED,UAAgB,YAAY,CAAC,EAAE,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC,CAExD;IAED,UAAgB,qBAAqB,CAAC,iBAAiB,EAAG,IAAI,GAAI,OAAO,CAAC,MAAM,CAAC,CAGhF;IAED,UAAgB,oBAAoB,IAAK,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGjF;CAEJ;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { currentAppId, JobPersistence, NoOpAuditor, deserializeJob, serializeJob } from "anbaric-tsapi";
|
|
1
|
+
import { currentAppId, Job, JobPersistence, JobProperties, NoOpAuditor, deserializeJob, serializeJob } from "anbaric-tsapi";
|
|
2
2
|
import { CloudApiClient } from "./CloudApiClient.js";
|
|
3
3
|
class CloudJobPersistence extends JobPersistence {
|
|
4
4
|
client;
|
|
@@ -9,12 +9,28 @@ class CloudJobPersistence extends JobPersistence {
|
|
|
9
9
|
getAppId() {
|
|
10
10
|
return currentAppId();
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
// The properties in the body are the ones to write: the platform upserts
|
|
13
|
+
// them and leaves the rest of the job's properties as they are.
|
|
14
|
+
async saveInternal(job, properties) {
|
|
15
|
+
const serialized = { ...serializeJob(job), properties: Object.fromEntries(properties ?? []) };
|
|
16
|
+
await this.client.request("PUT", `/jobs/${encodeURIComponent(job.id)}`, serialized);
|
|
17
|
+
}
|
|
18
|
+
/* A job read with `keys` holds those and fetches any other property the
|
|
19
|
+
moment a step asks for it; a job read whole holds everything. */
|
|
20
|
+
async retrieveInternal(id, keys) {
|
|
21
|
+
const serialized = await this.client.request("GET", this.jobPath(id, keys));
|
|
22
|
+
const whole = deserializeJob(serialized);
|
|
23
|
+
if (!keys)
|
|
24
|
+
return whole;
|
|
25
|
+
const loader = async (wanted) => {
|
|
26
|
+
const more = await this.client.request("GET", this.jobPath(id, wanted));
|
|
27
|
+
return new Map(Object.entries(more.properties));
|
|
28
|
+
};
|
|
29
|
+
return new Job(whole.id, new JobProperties(whole.properties.snapshot(), loader, false), whole.state, whole.workflowId, whole.appId, whole.startedBy, whole.startedAt, whole.lastUpdated, whole.killed, whole.status, whole.awaitMetadata, whole.waitingFor);
|
|
30
|
+
}
|
|
31
|
+
jobPath(id, keys) {
|
|
32
|
+
const query = keys ? `?keys=${encodeURIComponent(keys.join(","))}` : "";
|
|
33
|
+
return `/jobs/${encodeURIComponent(id)}${query}`;
|
|
18
34
|
}
|
|
19
35
|
async deleteInternal(id) {
|
|
20
36
|
await this.client.request("DELETE", `/jobs/${encodeURIComponent(id)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloudJobPersistence.js","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,
|
|
1
|
+
{"version":3,"file":"CloudJobPersistence.js","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anbaric-impl-cloud",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.58.0",
|
|
4
4
|
"description": "Public client library for the Anbaric Cloud hosting API, providing JobPersistence and Queue implementations backed by the cloud service",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "chris@anbaric.ai",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"prepublishOnly": "npm run build"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"anbaric-tsapi": "^1.
|
|
23
|
+
"anbaric-tsapi": "^1.58.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "^26.2.0",
|