{"version":3,"file":"journeyv2Service-92b31900.js","sources":["../../src/app/services/generated/journeyv2Service.ts"],"sourcesContent":["import Guid from \"@/app/types/common/guid\";\nimport { Instant, LocalDate, LocalTime } from \"@js-joda/core\";\nimport {ModelObject, BaseModelObject, ValidationRule} from \"@/app/services/modelObject\";\nimport ServiceBase from \"@/app/services/serviceBase\";\nimport converters from \"@/app/services/converters\"\nimport { EnumDocumentFileType } from \"./enums/enumDocumentFileType.generated\";\nimport { EnumYesNoEither } from \"./enums/enumYesNoEither.generated\";\n\n// Model Objects\n\nexport class JourneyHeaderReadOnly extends ModelObject {\n\n /**\n * Indicates if the driver has checked and confirmed the vehicle is fit for purpose prior to departure.\n */\n public confirmedVehicleFitForPurpose: boolean = false;\n /**\n * Date of Despatch\n */\n public despatchDate: LocalDate = LocalDate.ofEpochDay(0);\n private _endedAt: Instant | null = null;\n /**\n * Timestamp of when the journey was ended.\n */\n public get endedAt(): Instant | null { return this._endedAt }\n public set endedAt(value: Instant | null) {\n this._endedAt = value === undefined ? null : value;\n }\n private _endedBy: Guid | null = null;\n /**\n * Id of the user who ended the journey.\n */\n public get endedBy(): Guid | null { return this._endedBy }\n public set endedBy(value: Guid | null) {\n this._endedBy = value === undefined ? null : value;\n }\n private _endOdometerReading: number | null = null;\n /**\n * The vehicle odometer reading at the end of the journey. Must be provided before the journey can end.\n */\n public get endOdometerReading(): number | null { return this._endOdometerReading }\n public set endOdometerReading(value: number | null) {\n this._endOdometerReading = value === undefined ? null : value;\n }\n /**\n * Indicates if the regular vehicle monthly checks were performed prior to departure.\n */\n public monthlyChecksPerformed: boolean = false;\n private _startedAt: Instant | null = null;\n /**\n * Timestamp of when the journey was started. Presence of a value implies journey has been started and is therefore locked unless it has also been ended.\n */\n public get startedAt(): Instant | null { return this._startedAt }\n public set startedAt(value: Instant | null) {\n this._startedAt = value === undefined ? null : value;\n }\n private _startedByUserId: Guid | null = null;\n /**\n * User who has started the journey. Journey is locked to the user until the journey is ended.\n */\n public get startedByUserId(): Guid | null { return this._startedByUserId }\n public set startedByUserId(value: Guid | null) {\n this._startedByUserId = value === undefined ? null : value;\n }\n private _startOdometerReading: number | null = null;\n /**\n * The vehicle odometer reading at the start of the journey. Must be provided before the journey can end.\n */\n public get startOdometerReading(): number | null { return this._startOdometerReading }\n public set startOdometerReading(value: number | null) {\n this._startOdometerReading = value === undefined ? null : value;\n }\n /**\n * Vehicle Id\n */\n public vehicleId: Guid = Guid.createEmpty();\n /**\n * Indicates if the regular vehicle weekly checks were performed prior to departure.\n */\n public weeklyChecksPerformed: boolean = false;\n /**\n * Indicates if the loading list was checked prior to departure.\n */\n public loadingListChecked: boolean = false;\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.confirmedVehicleFitForPurpose = jsonSerializedObject.confirmedVehicleFitForPurpose;\n this.despatchDate = LocalDate.parse(jsonSerializedObject.despatchDate);\n this.endedAt = jsonSerializedObject.endedAt == null ? null : Instant.parse(jsonSerializedObject.endedAt);\n this.endedBy = jsonSerializedObject.endedBy == null ? null : Guid.fromString(jsonSerializedObject.endedBy);\n this.endOdometerReading = jsonSerializedObject.endOdometerReading == null ? null : jsonSerializedObject.endOdometerReading;\n this.monthlyChecksPerformed = jsonSerializedObject.monthlyChecksPerformed;\n this.startedAt = jsonSerializedObject.startedAt == null ? null : Instant.parse(jsonSerializedObject.startedAt);\n this.startedByUserId = jsonSerializedObject.startedByUserId == null ? null : Guid.fromString(jsonSerializedObject.startedByUserId);\n this.startOdometerReading = jsonSerializedObject.startOdometerReading == null ? null : jsonSerializedObject.startOdometerReading;\n this.vehicleId = Guid.fromString(jsonSerializedObject.vehicleId);\n this.weeklyChecksPerformed = jsonSerializedObject.weeklyChecksPerformed;\n this.loadingListChecked = jsonSerializedObject.loadingListChecked;\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.confirmedVehicleFitForPurpose = this.confirmedVehicleFitForPurpose;\n toRet.despatchDate = this.despatchDate.toString();\n toRet.endedAt = this.endedAt == null ? null : this.endedAt.toString();\n toRet.endedBy = this.endedBy == null ? null : this.endedBy.toString();\n toRet.endOdometerReading = this.endOdometerReading == null ? null : this.endOdometerReading;\n toRet.monthlyChecksPerformed = this.monthlyChecksPerformed;\n toRet.startedAt = this.startedAt == null ? null : this.startedAt.toString();\n toRet.startedByUserId = this.startedByUserId == null ? null : this.startedByUserId.toString();\n toRet.startOdometerReading = this.startOdometerReading == null ? null : this.startOdometerReading;\n toRet.vehicleId = this.vehicleId.toString();\n toRet.weeklyChecksPerformed = this.weeklyChecksPerformed;\n toRet.loadingListChecked = this.loadingListChecked;\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"endedBy\", rule: (v: any) => v == null || !v.isEmpty() || \"JourneyHeaderReadOnly.EndedBy cannot be empty\"},\n {field: \"startedByUserId\", rule: (v: any) => v == null || !v.isEmpty() || \"JourneyHeaderReadOnly.StartedByUserId cannot be empty\"},\n {field: \"vehicleId\", rule: (v: any) => !v.isEmpty() || \"JourneyHeaderReadOnly.VehicleId cannot be empty\"},\n ];\n}\n\n\nexport class JourneyHeader extends ModelObject {\n\n public version: number = 0;\n public id: Guid = Guid.createEmpty();\n /**\n * Identifies if journey is active. An inactive journey is not intended to run and indicates an explicit user decision for this.\n */\n public isActive: boolean = false;\n /**\n * Identifies if journey is locked for planning, meaning it will not take further part in optimisation.\n */\n public isPlanningLocked: boolean = false;\n /**\n * Expected Time the Journey will start, assumed to be in the Tenant's Timezone, on the DespatchDate\n */\n public expectedStartTime: LocalTime = LocalTime.MIDNIGHT;\n private _proposedEndTime: LocalTime | null = null;\n /**\n * Proposed Time for the Journey to end, generally when the driver shift finishes. Used for route planning purposes. Assumed to be in the Tenant's Timezone, on the DespatchDate\n */\n public get proposedEndTime(): LocalTime | null { return this._proposedEndTime }\n public set proposedEndTime(value: LocalTime | null) {\n this._proposedEndTime = value === undefined ? null : value;\n }\n /**\n * Driver Name\n * Not Nullable\n * Max Length : 1000\n */\n public driverName: string = \"\";\n public readOnly: JourneyHeaderReadOnly = new JourneyHeaderReadOnly();\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.version = jsonSerializedObject.version;\n this.id = Guid.fromString(jsonSerializedObject.id);\n this.isActive = jsonSerializedObject.isActive;\n this.isPlanningLocked = jsonSerializedObject.isPlanningLocked;\n this.expectedStartTime = LocalTime.parse(jsonSerializedObject.expectedStartTime);\n this.proposedEndTime = jsonSerializedObject.proposedEndTime == null ? null : LocalTime.parse(jsonSerializedObject.proposedEndTime);\n this.driverName = jsonSerializedObject.driverName;\n this.readOnly = new JourneyHeaderReadOnly(jsonSerializedObject.readOnly);\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.version = this.version;\n toRet.id = this.id.toString();\n toRet.isActive = this.isActive;\n toRet.isPlanningLocked = this.isPlanningLocked;\n toRet.expectedStartTime = this.expectedStartTime.toString();\n toRet.proposedEndTime = this.proposedEndTime == null ? null : this.proposedEndTime.toString();\n toRet.driverName = this.driverName;\n toRet.readOnly = this.readOnly.toJsonSerializedObject();\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"version\", rule: (v: any) => v == null || v >= -9223372036854775808 || \"Version is not greater than minimum allowed value: -9223372036854775808\"},\n {field: \"version\", rule: (v: any) => v == null || v <= 9223372036854775807 || \"Version is above maximum allowed value: 9223372036854775807\"},\n {field: \"id\", rule: (v: any) => !v.isEmpty() || \"JourneyHeader.Id cannot be empty\"},\n {field: \"driverName\", rule: (v: any) => v == null || v.length <= 1000 || \"DriverName has too many characters (1000)\"},\n {field: \"readOnly\", rule: (v: any) => !!v || \"readOnly is required\"},\n ];\n}\n\n\nexport class JourneyFilter extends ModelObject {\n\n private _maximumResults: number | null = null;\n public get maximumResults(): number | null { return this._maximumResults }\n public set maximumResults(value: number | null) {\n this._maximumResults = value === undefined ? null : value;\n }\n private _fromDespatchDate: LocalDate | null = null;\n /**\n * Minimum (inclusive) despatch date\n */\n public get fromDespatchDate(): LocalDate | null { return this._fromDespatchDate }\n public set fromDespatchDate(value: LocalDate | null) {\n this._fromDespatchDate = value === undefined ? null : value;\n }\n private _toDespatchDate: LocalDate | null = null;\n /**\n * Maximum (inclusive) despatch date\n */\n public get toDespatchDate(): LocalDate | null { return this._toDespatchDate }\n public set toDespatchDate(value: LocalDate | null) {\n this._toDespatchDate = value === undefined ? null : value;\n }\n /**\n * Yes = Journeys which have started only (they may have completed too), No = Not Started Only, Either = Either\n */\n public startedOrNot: EnumYesNoEither = EnumYesNoEither.either;\n /**\n * Yes = Journeys which have ended only, No = Not Ended Only, Either = Either\n */\n public endedOrNot: EnumYesNoEither = EnumYesNoEither.either;\n private _vehicleIds: Guid[] | null = null;\n public get vehicleIds(): Guid[] | null { return this._vehicleIds }\n public set vehicleIds(value: Guid[] | null) {\n this._vehicleIds = value === undefined ? null : value;\n }\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.maximumResults = jsonSerializedObject.maximumResults == null ? null : jsonSerializedObject.maximumResults;\n this.fromDespatchDate = jsonSerializedObject.fromDespatchDate == null ? null : LocalDate.parse(jsonSerializedObject.fromDespatchDate);\n this.toDespatchDate = jsonSerializedObject.toDespatchDate == null ? null : LocalDate.parse(jsonSerializedObject.toDespatchDate);\n this.startedOrNot = EnumYesNoEither.getByValue(jsonSerializedObject.startedOrNot, this.startedOrNot);\n this.endedOrNot = EnumYesNoEither.getByValue(jsonSerializedObject.endedOrNot, this.endedOrNot);\n this.vehicleIds = jsonSerializedObject.vehicleIds == null ? null : jsonSerializedObject.vehicleIds.map((v: any) => Guid.fromString(v));\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.maximumResults = this.maximumResults == null ? null : this.maximumResults;\n toRet.fromDespatchDate = this.fromDespatchDate == null ? null : this.fromDespatchDate.toString();\n toRet.toDespatchDate = this.toDespatchDate == null ? null : this.toDespatchDate.toString();\n toRet.startedOrNot = this.startedOrNot.value;\n toRet.endedOrNot = this.endedOrNot.value;\n toRet.vehicleIds = this.vehicleIds == null ? null : this.vehicleIds.map(v => v.toString());\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"maximumResults\", rule: (v: any) => v == null || v >= 0 || \"MaximumResults is not greater than minimum allowed value: 0\"},\n {field: \"maximumResults\", rule: (v: any) => v == null || v <= 2147483647 || \"MaximumResults is above maximum allowed value: 2147483647\"},\n ];\n}\n\n\nexport class FilteredJourneyHeadersResult extends ModelObject {\n\n public matchingCount: number = 0;\n public journeyHeaders: JourneyHeader[] = [];\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.matchingCount = jsonSerializedObject.matchingCount;\n this.journeyHeaders = jsonSerializedObject.journeyHeaders.map((v: any) => new JourneyHeader(v));\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.matchingCount = this.matchingCount;\n toRet.journeyHeaders = this.journeyHeaders.map(v => v.toJsonSerializedObject());\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"matchingCount\", rule: (v: any) => v == null || v >= -2147483648 || \"MatchingCount is not greater than minimum allowed value: -2147483648\"},\n {field: \"matchingCount\", rule: (v: any) => v == null || v <= 2147483647 || \"MatchingCount is above maximum allowed value: 2147483647\"},\n {field: \"journeyHeaders\", rule: (v: any) => !!v || \"journeyHeaders is required\"},\n {field: \"journeyHeaders\", rule: (v: any) => {\n if (v === null) {\n return true;\n }\n\n return (v as JourneyHeader[]).reduce((acc: Array, curr: JourneyHeader) => acc.concat(curr.validate()), new Array());\n }},\n ];\n}\n\n\nexport class JourneySummaryCalculated extends ModelObject {\n\n public numberOfStops: number = 0;\n public totalWeightKg: number = 0;\n public totalDurationSeconds: number = 0;\n public distanceKm: number = 0;\n public polyline: string = \"\";\n public stopTimeSeconds: number = 0;\n public travelTimeSeconds: number = 0;\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.numberOfStops = jsonSerializedObject.numberOfStops;\n this.totalWeightKg = jsonSerializedObject.totalWeightKg;\n this.totalDurationSeconds = jsonSerializedObject.totalDurationSeconds;\n this.distanceKm = jsonSerializedObject.distanceKm;\n this.polyline = jsonSerializedObject.polyline;\n this.stopTimeSeconds = jsonSerializedObject.stopTimeSeconds;\n this.travelTimeSeconds = jsonSerializedObject.travelTimeSeconds;\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.numberOfStops = this.numberOfStops;\n toRet.totalWeightKg = this.totalWeightKg;\n toRet.totalDurationSeconds = this.totalDurationSeconds;\n toRet.distanceKm = this.distanceKm;\n toRet.polyline = this.polyline;\n toRet.stopTimeSeconds = this.stopTimeSeconds;\n toRet.travelTimeSeconds = this.travelTimeSeconds;\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"numberOfStops\", rule: (v: any) => v == null || v >= -2147483648 || \"NumberOfStops is not greater than minimum allowed value: -2147483648\"},\n {field: \"numberOfStops\", rule: (v: any) => v == null || v <= 2147483647 || \"NumberOfStops is above maximum allowed value: 2147483647\"},\n ];\n}\n\n\nexport class StopKey extends ModelObject {\n\n private _orderId: Guid | null = null;\n /**\n * Order Id\n */\n public get orderId(): Guid | null { return this._orderId }\n public set orderId(value: Guid | null) {\n this._orderId = value === undefined ? null : value;\n }\n private _ullageId: Guid | null = null;\n /**\n * Ullage Id\n */\n public get ullageId(): Guid | null { return this._ullageId }\n public set ullageId(value: Guid | null) {\n this._ullageId = value === undefined ? null : value;\n }\n private _visitId: Guid | null = null;\n /**\n * Visit Id\n */\n public get visitId(): Guid | null { return this._visitId }\n public set visitId(value: Guid | null) {\n this._visitId = value === undefined ? null : value;\n }\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.orderId = jsonSerializedObject.orderId == null ? null : Guid.fromString(jsonSerializedObject.orderId);\n this.ullageId = jsonSerializedObject.ullageId == null ? null : Guid.fromString(jsonSerializedObject.ullageId);\n this.visitId = jsonSerializedObject.visitId == null ? null : Guid.fromString(jsonSerializedObject.visitId);\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.orderId = this.orderId == null ? null : this.orderId.toString();\n toRet.ullageId = this.ullageId == null ? null : this.ullageId.toString();\n toRet.visitId = this.visitId == null ? null : this.visitId.toString();\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"orderId\", rule: (v: any) => v == null || !v.isEmpty() || \"StopKey.OrderId cannot be empty\"},\n {field: \"ullageId\", rule: (v: any) => v == null || !v.isEmpty() || \"StopKey.UllageId cannot be empty\"},\n {field: \"visitId\", rule: (v: any) => v == null || !v.isEmpty() || \"StopKey.VisitId cannot be empty\"},\n ];\n}\n\n\nexport class JourneyDetail extends ModelObject {\n\n public journey: JourneyHeader = new JourneyHeader();\n public calculated: JourneySummaryCalculated = new JourneySummaryCalculated();\n public orderedStopKeys: StopKey[] = [];\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.journey = new JourneyHeader(jsonSerializedObject.journey);\n this.calculated = new JourneySummaryCalculated(jsonSerializedObject.calculated);\n this.orderedStopKeys = jsonSerializedObject.orderedStopKeys.map((v: any) => new StopKey(v));\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.journey = this.journey.toJsonSerializedObject();\n toRet.calculated = this.calculated.toJsonSerializedObject();\n toRet.orderedStopKeys = this.orderedStopKeys.map(v => v.toJsonSerializedObject());\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"journey\", rule: (v: any) => !!v || \"journey is required\"},\n {field: \"journey\", rule: (v: any) => v.validate()},\n {field: \"calculated\", rule: (v: any) => !!v || \"calculated is required\"},\n {field: \"calculated\", rule: (v: any) => v.validate()},\n {field: \"orderedStopKeys\", rule: (v: any) => !!v || \"orderedStopKeys is required\"},\n {field: \"orderedStopKeys\", rule: (v: any) => {\n if (v === null) {\n return true;\n }\n\n return (v as StopKey[]).reduce((acc: Array, curr: StopKey) => acc.concat(curr.validate()), new Array());\n }},\n ];\n}\n\n\nexport class GetJourneyHeadersByFilterRequest extends ModelObject {\n\n public tenantId: Guid = Guid.createEmpty();\n public filter: JourneyFilter = new JourneyFilter();\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.tenantId = Guid.fromString(jsonSerializedObject.tenantId);\n this.filter = new JourneyFilter(jsonSerializedObject.filter);\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.tenantId = this.tenantId.toString();\n toRet.filter = this.filter.toJsonSerializedObject();\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"tenantId\", rule: (v: any) => !v.isEmpty() || \".TenantId cannot be empty\"},\n {field: \"filter\", rule: (v: any) => !!v || \"filter is required\"},\n {field: \"filter\", rule: (v: any) => v.validate()},\n ];\n}\n\n\nexport class GetJourneyHeadersByFilterResponse extends ModelObject {\n\n public results: FilteredJourneyHeadersResult = new FilteredJourneyHeadersResult();\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.results = new FilteredJourneyHeadersResult(jsonSerializedObject.results);\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.results = this.results.toJsonSerializedObject();\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"results\", rule: (v: any) => !!v || \"results is required\"},\n {field: \"results\", rule: (v: any) => v.validate()},\n ];\n}\n\n\nexport class GetJourneyDetailsForDespatchDateRequest extends ModelObject {\n\n public tenantId: Guid = Guid.createEmpty();\n public despatchDate: LocalDate = LocalDate.ofEpochDay(0);\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.tenantId = Guid.fromString(jsonSerializedObject.tenantId);\n this.despatchDate = LocalDate.parse(jsonSerializedObject.despatchDate);\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.tenantId = this.tenantId.toString();\n toRet.despatchDate = this.despatchDate.toString();\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"tenantId\", rule: (v: any) => !v.isEmpty() || \".TenantId cannot be empty\"},\n ];\n}\n\n\nexport class GetJourneyDetailsForDespatchDateResponse extends ModelObject {\n\n public journeys: JourneyDetail[] = [];\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.journeys = jsonSerializedObject.journeys.map((v: any) => new JourneyDetail(v));\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.journeys = this.journeys.map(v => v.toJsonSerializedObject());\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"journeys\", rule: (v: any) => !!v || \"journeys is required\"},\n {field: \"journeys\", rule: (v: any) => {\n if (v === null) {\n return true;\n }\n\n return (v as JourneyDetail[]).reduce((acc: Array, curr: JourneyDetail) => acc.concat(curr.validate()), new Array());\n }},\n ];\n}\n\n\nexport class GetJourneyDetailRequest extends ModelObject {\n\n public tenantId: Guid = Guid.createEmpty();\n public journeyId: Guid = Guid.createEmpty();\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.tenantId = Guid.fromString(jsonSerializedObject.tenantId);\n this.journeyId = Guid.fromString(jsonSerializedObject.journeyId);\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.tenantId = this.tenantId.toString();\n toRet.journeyId = this.journeyId.toString();\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"tenantId\", rule: (v: any) => !v.isEmpty() || \".TenantId cannot be empty\"},\n {field: \"journeyId\", rule: (v: any) => !v.isEmpty() || \".JourneyId cannot be empty\"},\n ];\n}\n\n\nexport class GetJourneyDetailResponse extends ModelObject {\n\n public journey: JourneyDetail = new JourneyDetail();\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.journey = new JourneyDetail(jsonSerializedObject.journey);\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.journey = this.journey.toJsonSerializedObject();\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"journey\", rule: (v: any) => !!v || \"journey is required\"},\n {field: \"journey\", rule: (v: any) => v.validate()},\n ];\n}\n\n\nexport class GenerateDriverManifestsRequest extends ModelObject {\n\n public tenantId: Guid = Guid.createEmpty();\n public journeyIds: readonly Guid[] = [];\n public documentFormat: EnumDocumentFileType = EnumDocumentFileType.pdf;\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.tenantId = Guid.fromString(jsonSerializedObject.tenantId);\n this.journeyIds = jsonSerializedObject.journeyIds.map((v: any) => Guid.fromString(v));\n this.documentFormat = EnumDocumentFileType.getByValue(jsonSerializedObject.documentFormat, this.documentFormat);\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.tenantId = this.tenantId.toString();\n toRet.journeyIds = this.journeyIds.map(v => v.toString());\n toRet.documentFormat = this.documentFormat.value;\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"tenantId\", rule: (v: any) => !v.isEmpty() || \".TenantId cannot be empty\"},\n ];\n}\n\n\nexport class GenerateDriverManifestsResponse extends ModelObject {\n\n public documentBytes: Uint8Array = new Uint8Array();\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.documentBytes = converters.base64ToUint8Array(jsonSerializedObject.documentBytes);\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.documentBytes = converters.uint8ArrayToBase64(this.documentBytes);\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n ];\n}\n\n\nexport class GetJourneyDetailsRequest extends ModelObject {\n\n public tenantId: Guid = Guid.createEmpty();\n public journeyIds: readonly Guid[] = [];\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.tenantId = Guid.fromString(jsonSerializedObject.tenantId);\n this.journeyIds = jsonSerializedObject.journeyIds.map((v: any) => Guid.fromString(v));\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.tenantId = this.tenantId.toString();\n toRet.journeyIds = this.journeyIds.map(v => v.toString());\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"tenantId\", rule: (v: any) => !v.isEmpty() || \".TenantId cannot be empty\"},\n ];\n}\n\n\nexport class GetJourneyDetailsResponse extends ModelObject {\n\n public journeys: JourneyDetail[] = [];\n\n public constructor(jsonSerializedObject?: any) {\n super();\n if (jsonSerializedObject) {\n this.journeys = jsonSerializedObject.journeys.map((v: any) => new JourneyDetail(v));\n }\n\n }\n\n public toJsonSerializedObject(): any {\n const toRet = {} as any;\n toRet.journeys = this.journeys.map(v => v.toJsonSerializedObject());\n return toRet;\n }\n\n public toProto(): any {\n return this.toJsonSerializedObject();\n }\n\n public toBinary(): Uint8Array {\n return new TextEncoder().encode(JSON.stringify(this.toJsonSerializedObject()));\n }\n\n public validationRules: ValidationRule = [\n {field: \"journeys\", rule: (v: any) => !!v || \"journeys is required\"},\n {field: \"journeys\", rule: (v: any) => {\n if (v === null) {\n return true;\n }\n\n return (v as JourneyDetail[]).reduce((acc: Array, curr: JourneyDetail) => acc.concat(curr.validate()), new Array());\n }},\n ];\n}\n\n\nexport class JourneyService extends ServiceBase {\n\n public async getJourneyHeadersByFilter(tenantId: Guid, filter: JourneyFilter, opts?: {requestTimeoutMs?: number, sessionToken?: string}): Promise {\n const req = new GetJourneyHeadersByFilterRequest();\n req.tenantId = tenantId;\n req.filter = filter;\n const extractor = (response:any) => new GetJourneyHeadersByFilterResponse(response).results;\n return this.makeJsonRequest(\"journey/v2/getJourneyHeadersByFilter\", req.toJsonSerializedObject(), extractor, opts);\n };\n\n public async getJourneyDetailsForDespatchDate(tenantId: Guid, despatchDate: LocalDate, opts?: {requestTimeoutMs?: number, sessionToken?: string}): Promise {\n const req = new GetJourneyDetailsForDespatchDateRequest();\n req.tenantId = tenantId;\n req.despatchDate = despatchDate;\n const extractor = (response:any) => new GetJourneyDetailsForDespatchDateResponse(response).journeys;\n return this.makeJsonRequest(\"journey/v2/getJourneyDetailsForDespatchDate\", req.toJsonSerializedObject(), extractor, opts);\n };\n\n public async getJourneyDetail(tenantId: Guid, journeyId: Guid, opts?: {requestTimeoutMs?: number, sessionToken?: string}): Promise {\n const req = new GetJourneyDetailRequest();\n req.tenantId = tenantId;\n req.journeyId = journeyId;\n const extractor = (response:any) => new GetJourneyDetailResponse(response).journey;\n return this.makeJsonRequest(\"journey/v2/getJourneyDetail\", req.toJsonSerializedObject(), extractor, opts);\n };\n\n public async generateDriverManifests(tenantId: Guid, journeyIds: readonly Guid[], documentFormat: EnumDocumentFileType, opts?: {requestTimeoutMs?: number, sessionToken?: string}): Promise {\n const req = new GenerateDriverManifestsRequest();\n req.tenantId = tenantId;\n req.journeyIds = journeyIds;\n req.documentFormat = documentFormat;\n const extractor = (response:any) => new GenerateDriverManifestsResponse(response).documentBytes;\n return this.makeJsonRequest(\"journey/v2/generateDriverManifests\", req.toJsonSerializedObject(), extractor, opts);\n };\n\n public async getJourneyDetails(tenantId: Guid, journeyIds: readonly Guid[], opts?: {requestTimeoutMs?: number, sessionToken?: string}): Promise {\n const req = new GetJourneyDetailsRequest();\n req.tenantId = tenantId;\n req.journeyIds = journeyIds;\n const extractor = (response:any) => new GetJourneyDetailsResponse(response).journeys;\n return this.makeJsonRequest(\"journey/v2/getJourneyDetails\", req.toJsonSerializedObject(), extractor, opts);\n };\n}\n\nexport const journeyService = new JourneyService();"],"names":[],"mappings":"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"}