anbaric-impl-cloud 1.56.8 → 1.57.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,10 +3,10 @@ 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
8
  protected deleteInternal(id: string): Promise<void>;
9
- protected listInternal(pageSize?: number, page?: number): Promise<Array<Job>>;
9
+ protected listInternal(pageSize?: number, page?: number, query?: JobPersistence.Query): Promise<Array<Job>>;
10
10
  protected killInternal(id: string): Promise<void>;
11
11
  protected killOlderThanInternal(lastUpdatedBefore: Date): Promise<number>;
12
12
  protected countByStateInternal(): Promise<Array<JobPersistence.StateCount>>;
@@ -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,EAA2D,MAAM,eAAe,CAAC;AAG7I,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;IAED,UAAgB,YAAY,CAAC,GAAG,EAAG,GAAG,GAAI,OAAO,CAAC,IAAI,CAAC,CAEtD;IAED,UAAgB,gBAAgB,CAAC,EAAE,EAAG,MAAM,GAAI,OAAO,CAAC,GAAG,CAAC,CAG3D;IAED,UAAgB,cAAc,CAAC,EAAE,EAAG,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC,CAE1D;IAED,UAAgB,YAAY,CAAC,QAAQ,GAAG,MAAY,EAAE,IAAI,GAAG,MAAU,GAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAG7F;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
+ {"version":3,"file":"CloudJobPersistence.d.ts","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAgB,GAAG,EAAE,cAAc,EAA2D,MAAM,eAAe,CAAC;AAG7I,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;IAED,UAAgB,gBAAgB,CAAC,EAAE,EAAG,MAAM,EAAE,IAAI,CAAC,EAAG,KAAK,CAAC,MAAM,CAAC,GAAI,OAAO,CAAC,GAAG,CAAC,CAIlF;IAED,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"}
@@ -9,18 +9,27 @@ class CloudJobPersistence extends JobPersistence {
9
9
  getAppId() {
10
10
  return currentAppId();
11
11
  }
12
- async saveInternal(job) {
13
- await this.client.request("PUT", `/jobs/${encodeURIComponent(job.id)}`, serializeJob(job));
14
- }
15
- async retrieveInternal(id) {
16
- const serialized = await this.client.request("GET", `/jobs/${encodeURIComponent(id)}`);
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
+ async retrieveInternal(id, keys) {
19
+ const query = keys ? `?keys=${encodeURIComponent(keys.join(","))}` : "";
20
+ const serialized = await this.client.request("GET", `/jobs/${encodeURIComponent(id)}${query}`);
17
21
  return deserializeJob(serialized);
18
22
  }
19
23
  async deleteInternal(id) {
20
24
  await this.client.request("DELETE", `/jobs/${encodeURIComponent(id)}`);
21
25
  }
22
- async listInternal(pageSize = 100, page = 0) {
23
- const serialized = await this.client.request("GET", `/jobs?pageSize=${pageSize}&page=${page}`);
26
+ async listInternal(pageSize = 100, page = 0, query = {}) {
27
+ const parameters = new URLSearchParams({ pageSize: String(pageSize), page: String(page) });
28
+ for (const [name, value] of Object.entries(query)) {
29
+ if (value !== undefined)
30
+ parameters.set(name, String(value));
31
+ }
32
+ const serialized = await this.client.request("GET", `/jobs?${parameters}`);
24
33
  return serialized.map(deserializeJob);
25
34
  }
26
35
  async killInternal(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"CloudJobPersistence.js","sourceRoot":"","sources":["../src/CloudJobPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAO,cAAc,EAAE,WAAW,EAAiB,cAAc,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC7I,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD,MAAM,mBAAoB,SAAQ,cAAc;IAEpC,MAAM,CAAkB;IAEhC,YAAY,OAAO,GAAY,cAAc,CAAC,cAAc,EAAE,EAAE,OAAO,GAAa,IAAI,WAAW,EAAE;QACjG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ;QACJ,OAAO,YAAY,EAAE,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,GAAS;QAClC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,EAAW;QACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAkB,CAAC;QACxG,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,EAAW;QACtC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,QAAQ,GAAY,GAAG,EAAE,IAAI,GAAY,CAAC;QACnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,QAAQ,SAAS,IAAI,EAAE,CAAyB,CAAC;QACvH,OAAO,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,EAAW;QACpC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,iBAAwB;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChH,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,oBAAoB;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;CAEJ;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
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.56.8",
3
+ "version": "1.57.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.56.8"
23
+ "anbaric-tsapi": "^1.57.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/node": "^26.2.0",