@go-avro/avro-js 0.0.5 → 0.0.6

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.
@@ -31,6 +31,8 @@ declare module '../../types/api/Job' {
31
31
  }
32
32
  export declare class Job {
33
33
  constructor(init?: Partial<Job>);
34
+ getStatus(): "PENDING_CUSTOMER" | "PENDING_COMPANY" | "ACTIVE" | "ARCHIVED" | "DRAFT" | "PENDING_PAYMENT" | "PENDING_ACTIVATION";
35
+ getStatusLabel(): "Active" | "Draft" | "Archived" | "Pending Activation" | "Customer Approval" | "Company Approval" | "Awaiting Payment";
34
36
  portionDone: (fallback?: Date | null, routeJob?: RouteJob) => number;
35
37
  isDone: (fallback?: Date | null, routeJob?: RouteJob) => boolean;
36
38
  }
@@ -1,4 +1,4 @@
1
- import { Task } from "../../types/api/Task";
1
+ import { Task, TaskStatus } from "../../types/api/Task";
2
2
  import { RouteJob } from "../../types/api/RouteJob";
3
3
  export class Job {
4
4
  constructor(init) {
@@ -20,4 +20,46 @@ export class Job {
20
20
  this.routes = init.routes.map(r => new RouteJob(r));
21
21
  }
22
22
  }
23
+ getStatus() {
24
+ if (this.tasks.some(t => t.status === TaskStatus.ACTIVE)) {
25
+ return TaskStatus.ACTIVE;
26
+ }
27
+ else if (this.tasks.every(t => t.status === TaskStatus.ARCHIVED)) {
28
+ return TaskStatus.ARCHIVED;
29
+ }
30
+ else if (this.tasks.some(t => t.status === TaskStatus.PENDING_CUSTOMER)) {
31
+ return TaskStatus.PENDING_CUSTOMER;
32
+ }
33
+ else if (this.tasks.some(t => t.status === TaskStatus.PENDING_COMPANY)) {
34
+ return TaskStatus.PENDING_COMPANY;
35
+ }
36
+ else if (this.tasks.some(t => t.status === TaskStatus.PENDING_PAYMENT)) {
37
+ return TaskStatus.PENDING_PAYMENT;
38
+ }
39
+ else if (this.tasks.some(t => t.status === TaskStatus.PENDING_ACTIVATION)) {
40
+ return TaskStatus.PENDING_ACTIVATION;
41
+ }
42
+ else {
43
+ return TaskStatus.DRAFT;
44
+ }
45
+ }
46
+ getStatusLabel() {
47
+ const status = this.getStatus();
48
+ switch (status) {
49
+ case TaskStatus.ACTIVE:
50
+ return "Active";
51
+ case TaskStatus.ARCHIVED:
52
+ return "Archived";
53
+ case TaskStatus.PENDING_CUSTOMER:
54
+ return "Customer Approval";
55
+ case TaskStatus.PENDING_COMPANY:
56
+ return "Company Approval";
57
+ case TaskStatus.PENDING_PAYMENT:
58
+ return "Awaiting Payment";
59
+ case TaskStatus.PENDING_ACTIVATION:
60
+ return "Pending Activation";
61
+ default:
62
+ return "Draft";
63
+ }
64
+ }
23
65
  }
@@ -51,6 +51,8 @@ declare module '../../types/api/Task' {
51
51
  }
52
52
  export declare class Task {
53
53
  constructor(init?: Partial<Task>);
54
+ getStatusLabel: () => "Active" | "Draft" | "Archived" | "Pending Customer Approval" | "Pending Company Approval" | "Pending Payment" | "Pending Activation";
55
+ getNextDue: () => number | null;
54
56
  computeNextTaskState: (isCustomer: boolean, action: "accept" | "modify" | "reject") => TaskStatus;
55
57
  getPrepaidEventsRemaining: () => number;
56
58
  getPrepaidMonthsRemaining: () => number;
@@ -10,6 +10,33 @@ export const TaskStatus = {
10
10
  };
11
11
  export class Task {
12
12
  constructor(init) {
13
+ this.getStatusLabel = () => {
14
+ switch (this.status) {
15
+ case TaskStatus.ACTIVE:
16
+ return "Active";
17
+ case TaskStatus.DRAFT:
18
+ return "Draft";
19
+ case TaskStatus.ARCHIVED:
20
+ return "Archived";
21
+ case TaskStatus.PENDING_CUSTOMER:
22
+ return "Pending Customer Approval";
23
+ case TaskStatus.PENDING_COMPANY:
24
+ return "Pending Company Approval";
25
+ case TaskStatus.PENDING_PAYMENT:
26
+ return "Pending Payment";
27
+ case TaskStatus.PENDING_ACTIVATION:
28
+ return "Pending Activation";
29
+ default:
30
+ return this.status;
31
+ }
32
+ };
33
+ this.getNextDue = () => {
34
+ if (this.frequency > 0) {
35
+ const lastEventTime = this.last_completed_event?.time_ended ?? this.time_created;
36
+ return lastEventTime + this.delay + this.frequency;
37
+ }
38
+ return null;
39
+ };
13
40
  this.computeNextTaskState = (isCustomer, action) => {
14
41
  if (action === "accept") {
15
42
  if (this.status === TaskStatus.PENDING_CUSTOMER || this.status === TaskStatus.PENDING_COMPANY) {
@@ -43,8 +43,11 @@ export declare const LoginResponse: {
43
43
  export type LoginResponse = typeof LoginResponse[keyof typeof LoginResponse];
44
44
  export interface ApiInfo {
45
45
  app_semver: string;
46
+ build_time: string;
47
+ commit: string;
46
48
  db_status: string;
47
49
  logged_in_as: string;
50
+ max_images: number;
48
51
  ors_status: string;
49
52
  pelias_status: string;
50
53
  version: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@go-avro/avro-js",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "JS client for Avro backend integration.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",