@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 +1 -1
- package/src/lib/data-transfer-objects/src/update.global.config.billing.dto.d.ts +24 -0
- package/src/lib/data-transfer-objects/src/update.global.config.billing.dto.js +1 -2
- package/src/lib/data-transfer-objects/src/update.global.config.billing.dto.js.map +1 -1
- package/src/lib/models/src/trip.model.d.ts +12 -0
- package/src/lib/models/src/trip.model.js +10 -0
- package/src/lib/models/src/trip.model.js.map +1 -1
- package/src/lib/utilities/src/index.d.ts +1 -0
- package/src/lib/utilities/src/index.js +1 -0
- package/src/lib/utilities/src/index.js.map +1 -1
- package/src/lib/utilities/src/trip.allocation.d.ts +18 -0
- package/src/lib/utilities/src/trip.allocation.js +28 -0
- package/src/lib/utilities/src/trip.allocation.js.map +1 -0
package/package.json
CHANGED
|
@@ -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 {
|
|
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,
|
|
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":"AAiCA,MAAM,CAAN,IAAY,
|
|
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 +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"}
|