@autologix-engineering/shared 1.2.389 → 1.2.390

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autologix-engineering/shared",
3
- "version": "1.2.389",
3
+ "version": "1.2.390",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0"
6
6
  },
@@ -16,6 +16,30 @@ export declare class UpdateGlobalConfigBillingDTO {
16
16
  */
17
17
  perMinuteBillingStr?: boolean;
18
18
  perMinuteBillingLtr?: boolean;
19
+ /**
20
+ * AD-3433 QA round 2 (Bhoomika R) — the Booking Billing Type Matrix now
21
+ * has a delete action, so an operator can legitimately remove the last
22
+ * remaining row.
23
+ *
24
+ * `@ArrayMinSize(1)` made that unexpressible: an emptied matrix was
25
+ * rejected by validation, and the only alternative — omitting the field —
26
+ * means "leave the stored matrix alone" to the handler, so deleting the
27
+ * last row would have looked like it saved and come back on reload. An
28
+ * empty array is a meaningful instruction here ("no matrix rows"), and the
29
+ * handler already writes whatever array it is given; omission remains the
30
+ * way to leave the matrix untouched. Nothing replaces the constraint —
31
+ * `@ArrayMinSize(0)` would accept exactly what `@IsArray()` already
32
+ * accepts (review).
33
+ *
34
+ * Every consumer treats an empty matrix exactly as it treats an absent
35
+ * one, which is what makes clearing it safe:
36
+ * `getAutoCloseBookingForRequest` returns `undefined` from `find()` when
37
+ * nothing matches, `evaluateMMIPushGate` reads that as "auto-close to MMI
38
+ * is off for this booking" and declines the push, and
39
+ * `process.ext.trip.sheet.controller` resolves `generateInvoice` to a
40
+ * falsy value and does not auto-generate. None of them index into the
41
+ * array or assume a row exists.
42
+ */
19
43
  billingMatrix?: BillMatrixDTO[];
20
44
  }
21
45
  export declare class BillMatrixDTO {
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { RequestType } from '../../enums/src';
3
3
  import { BillingAdjustmentStorage } from '../../models/src/configurations.model';
4
- import { ArrayMinSize, IsArray, IsBoolean, IsEnum, IsNotEmpty, IsNumber, IsOptional, IsString, IsUUID, ValidateNested, } from 'class-validator';
4
+ import { IsArray, IsBoolean, IsEnum, IsNotEmpty, IsNumber, IsOptional, IsString, IsUUID, ValidateNested, } from 'class-validator';
5
5
  import { Type } from 'class-transformer';
6
6
  export class UpdateGlobalConfigBillingDTO {
7
7
  }
@@ -37,7 +37,6 @@ __decorate([
37
37
  __decorate([
38
38
  IsOptional(),
39
39
  IsArray(),
40
- ArrayMinSize(1),
41
40
  Type(() => BillMatrixDTO),
42
41
  ValidateNested({ each: true }),
43
42
  __metadata("design:type", Array)
@@ -1 +1 @@
1
- {"version":3,"file":"update.global.config.billing.dto.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/data-transfer-objects/src/update.global.config.billing.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACN,YAAY,EACZ,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,MAAM,EACN,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,OAAO,4BAA4B;CAuCxC;AArCA;IADC,MAAM,EAAE;;+DACS;AAIlB;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;uEACgB;AAI5B;IAFC,MAAM,CAAC,wBAAwB,CAAC;IAChC,UAAU,EAAE;;8EACuC;AAIpD;IAFC,QAAQ,EAAE;IACV,UAAU,EAAE;;+EACsB;AAanC;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;yEACkB;AAI9B;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;yEACkB;AAO9B;IALC,UAAU,EAAE;IACZ,OAAO,EAAE;IACT,YAAY,CAAC,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC;IACzB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;mEACC;AAGjC,MAAM,OAAO,aAAa;CAezB;AAbA;IADC,MAAM,CAAC,WAAW,CAAC;;8CACC;AAMrB;IAFC,QAAQ,EAAE;IACV,UAAU,EAAE;;iDACM;AAGnB;IADC,SAAS,EAAE;;uDACc;AAG1B;IADC,SAAS,EAAE;;0DACiB"}
1
+ {"version":3,"file":"update.global.config.billing.dto.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/data-transfer-objects/src/update.global.config.billing.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,MAAM,EACN,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,OAAO,4BAA4B;CA8DxC;AA5DA;IADC,MAAM,EAAE;;+DACS;AAIlB;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;uEACgB;AAI5B;IAFC,MAAM,CAAC,wBAAwB,CAAC;IAChC,UAAU,EAAE;;8EACuC;AAIpD;IAFC,QAAQ,EAAE;IACV,UAAU,EAAE;;+EACsB;AAanC;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;yEACkB;AAI9B;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;yEACkB;AA8B9B;IAJC,UAAU,EAAE;IACZ,OAAO,EAAE;IACT,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC;IACzB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;mEACC;AAGjC,MAAM,OAAO,aAAa;CAezB;AAbA;IADC,MAAM,CAAC,WAAW,CAAC;;8CACC;AAMrB;IAFC,QAAQ,EAAE;IACV,UAAU,EAAE;;iDACM;AAGnB;IADC,SAAS,EAAE;;uDACc;AAG1B;IADC,SAAS,EAAE;;0DACiB"}
@@ -74,6 +74,16 @@ export declare enum TripField {
74
74
  TraceImage = "traceImg",
75
75
  TraceImageId = "traceImgId",
76
76
  TraceImgHash = "traceImgHash",
77
+ /**
78
+ * AD-3436 — a static map of the route the vehicle ACTUALLY drove, from the
79
+ * driver's logged GPS fixes. Separate from {@link TraceImage}, the planned
80
+ * pickup/drop map: that one is regenerated lazily whenever TraceImgHash goes
81
+ * stale and is nulled out when the planned stops have no coordinates, either
82
+ * of which would destroy a GPS image sharing the column. Written once, by
83
+ * ProcessTripTraceHandler, on trip end.
84
+ */
85
+ GpsTraceImage = "gpsTraceImg",
86
+ GpsTraceImageId = "gpsTraceImgId",
77
87
  TripExpenses = "tripExpenses",
78
88
  PassengerName = "psngrName",
79
89
  Feedbacks = "feedbacks",
@@ -193,6 +203,8 @@ export interface ITrip extends TypedModel {
193
203
  [TripField.TraceImage]: IFile;
194
204
  [TripField.TraceImageId]: string;
195
205
  [TripField.TraceImgHash]: string;
206
+ [TripField.GpsTraceImage]: IFile;
207
+ [TripField.GpsTraceImageId]: string;
196
208
  [TripField.CreatedAt]: Date;
197
209
  [TripField.UpdatedAt]: Date;
198
210
  [TripField.TripExpenses]: ITripExpense[];
@@ -60,6 +60,16 @@ export var TripField;
60
60
  TripField["TraceImage"] = "traceImg";
61
61
  TripField["TraceImageId"] = "traceImgId";
62
62
  TripField["TraceImgHash"] = "traceImgHash";
63
+ /**
64
+ * AD-3436 — a static map of the route the vehicle ACTUALLY drove, from the
65
+ * driver's logged GPS fixes. Separate from {@link TraceImage}, the planned
66
+ * pickup/drop map: that one is regenerated lazily whenever TraceImgHash goes
67
+ * stale and is nulled out when the planned stops have no coordinates, either
68
+ * of which would destroy a GPS image sharing the column. Written once, by
69
+ * ProcessTripTraceHandler, on trip end.
70
+ */
71
+ TripField["GpsTraceImage"] = "gpsTraceImg";
72
+ TripField["GpsTraceImageId"] = "gpsTraceImgId";
63
73
  TripField["TripExpenses"] = "tripExpenses";
64
74
  TripField["PassengerName"] = "psngrName";
65
75
  TripField["Feedbacks"] = "feedbacks";
@@ -1 +1 @@
1
- {"version":3,"file":"trip.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/trip.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trip.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/trip.model.ts"],"names":[],"mappings":"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"}
@@ -53,3 +53,4 @@ export * from './ba.payout.contract.selection';
53
53
  export * from './ba.contract.extension.code';
54
54
  export * from './ba.contract.extension.lookup';
55
55
  export * from './ba.contract.rm.refund';
56
+ export * from './trip.allocation';
@@ -53,4 +53,5 @@ export * from './ba.payout.contract.selection';
53
53
  export * from './ba.contract.extension.code';
54
54
  export * from './ba.contract.extension.lookup';
55
55
  export * from './ba.contract.rm.refund';
56
+ export * from './trip.allocation';
56
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,OAAO,CAAC;AACtB,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,OAAO,CAAC;AACtB,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { ITrip, TripField } from '@autologix/shared/models';
2
+ type TripAllocationFields = Partial<Pick<ITrip, TripField.DriverPersonaId | TripField.VehicleAssociationId | TripField.DNU | TripField.PreviousDriverPersonaId | TripField.PreviousVehicleAssociationId | TripField.AllocationHistory>>;
3
+ /**
4
+ * A driver and a vehicle are on the trip right now.
5
+ */
6
+ export declare function hasLiveTripAllocation(trip: TripAllocationFields | null | undefined): boolean;
7
+ /**
8
+ * Whether a trip was ever allocated a driver and a vehicle, and so may be
9
+ * validated and invoiced.
10
+ *
11
+ * A chargeable cancellation (DNU) clears the live driver/vehicle, so for those
12
+ * trips the evidence is the Previous* ids stamped at cancel time, or the
13
+ * allocation history written by the assign flow. A DNU trip with neither was
14
+ * never allocated and must not be validated or billed (Zoho #71260: a booking
15
+ * cancelled after cut-off with cancellation charges was invoiced with no car).
16
+ */
17
+ export declare function hasTripAllocation(trip: TripAllocationFields | null | undefined): boolean;
18
+ export {};
@@ -0,0 +1,28 @@
1
+ import { TripField } from '@autologix/shared/models';
2
+ /**
3
+ * A driver and a vehicle are on the trip right now.
4
+ */
5
+ export function hasLiveTripAllocation(trip) {
6
+ return (!!trip?.[TripField.DriverPersonaId] &&
7
+ !!trip?.[TripField.VehicleAssociationId]);
8
+ }
9
+ /**
10
+ * Whether a trip was ever allocated a driver and a vehicle, and so may be
11
+ * validated and invoiced.
12
+ *
13
+ * A chargeable cancellation (DNU) clears the live driver/vehicle, so for those
14
+ * trips the evidence is the Previous* ids stamped at cancel time, or the
15
+ * allocation history written by the assign flow. A DNU trip with neither was
16
+ * never allocated and must not be validated or billed (Zoho #71260: a booking
17
+ * cancelled after cut-off with cancellation charges was invoiced with no car).
18
+ */
19
+ export function hasTripAllocation(trip) {
20
+ if (hasLiveTripAllocation(trip))
21
+ return true;
22
+ if (!trip?.[TripField.DNU])
23
+ return false;
24
+ return ((!!trip[TripField.PreviousDriverPersonaId] &&
25
+ !!trip[TripField.PreviousVehicleAssociationId]) ||
26
+ !!trip[TripField.AllocationHistory]?.length);
27
+ }
28
+ //# sourceMappingURL=trip.allocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trip.allocation.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/trip.allocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAc5D;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACpC,IAA6C;IAE7C,OAAO,CACN,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC;QACnC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,oBAAoB,CAAC,CACxC,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAChC,IAA6C;IAE7C,IAAI,qBAAqB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,CACN,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;QACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAC3C,CAAC;AACH,CAAC"}