@autologix-engineering/shared 1.2.355 → 1.2.357
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/commands/src/generate.pdf.invoice.d.ts +0 -1
- package/src/lib/commands/src/generate.pdf.invoice.js.map +1 -1
- package/src/lib/contract-state/src/contract.coverage.bound.d.ts +37 -0
- package/src/lib/contract-state/src/contract.coverage.bound.js +45 -0
- package/src/lib/contract-state/src/contract.coverage.bound.js.map +1 -0
- package/src/lib/contract-state/src/index.d.ts +1 -0
- package/src/lib/contract-state/src/index.js +1 -0
- package/src/lib/contract-state/src/index.js.map +1 -1
- package/src/lib/data-transfer-objects/src/add.ltr.payout.rows.dto.d.ts +66 -0
- package/src/lib/data-transfer-objects/src/add.ltr.payout.rows.dto.js +139 -0
- package/src/lib/data-transfer-objects/src/add.ltr.payout.rows.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/calculate.non.pool.ltr.invoice.data.dto.d.ts +1 -0
- package/src/lib/data-transfer-objects/src/calculate.non.pool.ltr.invoice.data.dto.js +5 -0
- package/src/lib/data-transfer-objects/src/calculate.non.pool.ltr.invoice.data.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/command/add.ltr.vehicle.master.dto.d.ts +1 -0
- package/src/lib/data-transfer-objects/src/command/add.ltr.vehicle.master.dto.js +5 -0
- package/src/lib/data-transfer-objects/src/command/add.ltr.vehicle.master.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/command/add.tds.config.dto.d.ts +7 -0
- package/src/lib/data-transfer-objects/src/command/add.tds.config.dto.js +30 -0
- package/src/lib/data-transfer-objects/src/command/add.tds.config.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/command/index.d.ts +4 -0
- package/src/lib/data-transfer-objects/src/command/index.js +4 -0
- package/src/lib/data-transfer-objects/src/command/index.js.map +1 -1
- package/src/lib/data-transfer-objects/src/command/post.corporate.alerts.dto.js +6 -0
- package/src/lib/data-transfer-objects/src/command/post.corporate.alerts.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/command/retry.generate.irn.dto.d.ts +3 -0
- package/src/lib/data-transfer-objects/src/command/retry.generate.irn.dto.js +9 -0
- package/src/lib/data-transfer-objects/src/command/retry.generate.irn.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/command/update.ltr.request.dto.d.ts +1 -1
- package/src/lib/data-transfer-objects/src/command/update.ltr.request.dto.js +1 -0
- package/src/lib/data-transfer-objects/src/command/update.ltr.request.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/command/update.tds.config.dto.d.ts +11 -0
- package/src/lib/data-transfer-objects/src/command/update.tds.config.dto.js +30 -0
- package/src/lib/data-transfer-objects/src/command/update.tds.config.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/command/update.tds.config.status.dto.d.ts +7 -0
- package/src/lib/data-transfer-objects/src/command/update.tds.config.status.dto.js +22 -0
- package/src/lib/data-transfer-objects/src/command/update.tds.config.status.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/create.update.ba.contract.dto.d.ts +2 -0
- package/src/lib/data-transfer-objects/src/create.update.ba.contract.dto.js +10 -0
- package/src/lib/data-transfer-objects/src/create.update.ba.contract.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/create.vendor.dto.d.ts +1 -0
- package/src/lib/data-transfer-objects/src/create.vendor.dto.js +7 -1
- package/src/lib/data-transfer-objects/src/create.vendor.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/discard.business.associate.payout.draft.dto.d.ts +7 -0
- package/src/lib/data-transfer-objects/src/discard.business.associate.payout.draft.dto.js +28 -0
- package/src/lib/data-transfer-objects/src/discard.business.associate.payout.draft.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/duties.query.dto.d.ts +14 -0
- package/src/lib/data-transfer-objects/src/duties.query.dto.js +5 -0
- package/src/lib/data-transfer-objects/src/duties.query.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.d.ts +1 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.js +8 -1
- package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/gatekeeper/get.registered.user.ltr.dto.d.ts +7 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/get.registered.user.ltr.dto.js +21 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/get.registered.user.ltr.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/get.user.by.phone.dto.d.ts +1 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/get.user.by.phone.dto.js +8 -1
- package/src/lib/data-transfer-objects/src/gatekeeper/get.user.by.phone.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/gatekeeper/index.d.ts +2 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/index.js +2 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/index.js.map +1 -1
- package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.d.ts +37 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.js +36 -1
- package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/gatekeeper/send.ltr.sign.off.otp.dto.d.ts +17 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/send.ltr.sign.off.otp.dto.js +29 -0
- package/src/lib/data-transfer-objects/src/gatekeeper/send.ltr.sign.off.otp.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/get.active.preferred.package.dto.d.ts +1 -0
- package/src/lib/data-transfer-objects/src/get.active.preferred.package.dto.js +6 -1
- package/src/lib/data-transfer-objects/src/get.active.preferred.package.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/get.business.associate.payout.draft.dto.d.ts +25 -0
- package/src/lib/data-transfer-objects/src/get.business.associate.payout.draft.dto.js +25 -0
- package/src/lib/data-transfer-objects/src/get.business.associate.payout.draft.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.bookings.dto.d.ts +5 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.bookings.dto.js +17 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.bookings.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.logs.dto.d.ts +18 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.logs.dto.js +33 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.logs.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.sign.off.preview.dto.d.ts +33 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.sign.off.preview.dto.js +36 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.sign.off.preview.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.payout.rows.dto.d.ts +66 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.payout.rows.dto.js +53 -0
- package/src/lib/data-transfer-objects/src/get.ltr.driver.payout.rows.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/get.ltr.vehicle.master.dto.d.ts +1 -0
- package/src/lib/data-transfer-objects/src/get.ltr.vehicle.master.dto.js +9 -2
- package/src/lib/data-transfer-objects/src/get.ltr.vehicle.master.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/get.tds.config.dto.d.ts +9 -0
- package/src/lib/data-transfer-objects/src/get.tds.config.dto.js +34 -0
- package/src/lib/data-transfer-objects/src/get.tds.config.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/gst.dto.d.ts +9 -4
- package/src/lib/data-transfer-objects/src/gst.dto.js +9 -1
- package/src/lib/data-transfer-objects/src/gst.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/index.d.ts +14 -2
- package/src/lib/data-transfer-objects/src/index.js +14 -2
- package/src/lib/data-transfer-objects/src/index.js.map +1 -1
- package/src/lib/data-transfer-objects/src/passenger.persona.custom.dto.d.ts +1 -0
- package/src/lib/data-transfer-objects/src/passenger.persona.custom.dto.js +6 -1
- package/src/lib/data-transfer-objects/src/passenger.persona.custom.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/save.business.associate.payout.draft.dto.d.ts +25 -0
- package/src/lib/data-transfer-objects/src/save.business.associate.payout.draft.dto.js +59 -0
- package/src/lib/data-transfer-objects/src/save.business.associate.payout.draft.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.entry.dto.d.ts +44 -0
- package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.entry.dto.js +51 -0
- package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.entry.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.month.dto.d.ts +60 -0
- package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.month.dto.js +65 -0
- package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.month.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/update.global.config.dto.d.ts +10 -1
- package/src/lib/data-transfer-objects/src/update.global.config.dto.js +50 -2
- package/src/lib/data-transfer-objects/src/update.global.config.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/update.ltr.log.confirmation.config.dto.d.ts +6 -0
- package/src/lib/data-transfer-objects/src/update.ltr.log.confirmation.config.dto.js +20 -0
- package/src/lib/data-transfer-objects/src/update.ltr.log.confirmation.config.dto.js.map +1 -0
- package/src/lib/data-transfer-objects/src/update.ltr.payout.rows.dto.d.ts +18 -0
- package/src/lib/data-transfer-objects/src/update.ltr.payout.rows.dto.js +20 -0
- package/src/lib/data-transfer-objects/src/update.ltr.payout.rows.dto.js.map +1 -0
- package/src/lib/enums/src/alert.command.types.js +1 -1
- package/src/lib/enums/src/alert.command.types.js.map +1 -1
- package/src/lib/enums/src/ba.payout.draft.enum.d.ts +13 -0
- package/src/lib/enums/src/ba.payout.draft.enum.js +15 -0
- package/src/lib/enums/src/ba.payout.draft.enum.js.map +1 -0
- package/src/lib/enums/src/city.state.mapping.js +2 -2
- package/src/lib/enums/src/command.type.enum.d.ts +12 -1
- package/src/lib/enums/src/command.type.enum.js +12 -1
- package/src/lib/enums/src/command.type.enum.js.map +1 -1
- package/src/lib/enums/src/index.d.ts +5 -0
- package/src/lib/enums/src/index.js +5 -0
- package/src/lib/enums/src/index.js.map +1 -1
- package/src/lib/enums/src/internal.alert.type.map.js +1 -0
- package/src/lib/enums/src/internal.alert.type.map.js.map +1 -1
- package/src/lib/enums/src/internal.alert.type.variable.map.js +7 -0
- package/src/lib/enums/src/internal.alert.type.variable.map.js.map +1 -1
- package/src/lib/enums/src/internal.alert.types.enum.d.ts +2 -1
- package/src/lib/enums/src/internal.alert.types.enum.js +1 -0
- package/src/lib/enums/src/internal.alert.types.enum.js.map +1 -1
- package/src/lib/enums/src/ltr.font.enum.d.ts +5 -0
- package/src/lib/enums/src/ltr.font.enum.js +7 -0
- package/src/lib/enums/src/ltr.font.enum.js.map +1 -0
- package/src/lib/enums/src/ltr.payout.enum.d.ts +67 -0
- package/src/lib/enums/src/ltr.payout.enum.js +74 -0
- package/src/lib/enums/src/ltr.payout.enum.js.map +1 -0
- package/src/lib/enums/src/model.enum.d.ts +8 -0
- package/src/lib/enums/src/model.enum.js +8 -0
- package/src/lib/enums/src/model.enum.js.map +1 -1
- package/src/lib/enums/src/others.default.data.js +5 -0
- package/src/lib/enums/src/others.default.data.js.map +1 -1
- package/src/lib/enums/src/otp.scope.enum.d.ts +16 -0
- package/src/lib/enums/src/otp.scope.enum.js +18 -0
- package/src/lib/enums/src/otp.scope.enum.js.map +1 -0
- package/src/lib/enums/src/query.type.enum.d.ts +6 -1
- package/src/lib/enums/src/query.type.enum.js +6 -1
- package/src/lib/enums/src/query.type.enum.js.map +1 -1
- package/src/lib/enums/src/report.command.types.js +1 -0
- package/src/lib/enums/src/report.command.types.js.map +1 -1
- package/src/lib/enums/src/retry.task.enum.d.ts +28 -0
- package/src/lib/enums/src/retry.task.enum.js +31 -0
- package/src/lib/enums/src/retry.task.enum.js.map +1 -0
- package/src/lib/enums/src/state.full.name.number.code.map.js +4 -0
- package/src/lib/enums/src/state.full.name.number.code.map.js.map +1 -1
- package/src/lib/enums/src/vendor.default.fields.json.js +19 -2
- package/src/lib/enums/src/vendor.default.fields.json.js.map +1 -1
- package/src/lib/models/src/auth.profile.model.d.ts +13 -0
- package/src/lib/models/src/auth.profile.model.js +7 -0
- package/src/lib/models/src/auth.profile.model.js.map +1 -1
- package/src/lib/models/src/ba.contract.model.d.ts +13 -0
- package/src/lib/models/src/ba.contract.model.js +2 -0
- package/src/lib/models/src/ba.contract.model.js.map +1 -1
- package/src/lib/models/src/ba.payout.draft.model.d.ts +77 -0
- package/src/lib/models/src/ba.payout.draft.model.js +31 -0
- package/src/lib/models/src/ba.payout.draft.model.js.map +1 -0
- package/src/lib/models/src/ba.payout.row.model.d.ts +35 -0
- package/src/lib/models/src/ba.payout.row.model.js +2 -0
- package/src/lib/models/src/ba.payout.row.model.js.map +1 -1
- package/src/lib/models/src/client.configuration.model.d.ts +9 -2
- package/src/lib/models/src/client.configuration.model.js +3 -0
- package/src/lib/models/src/client.configuration.model.js.map +1 -1
- package/src/lib/models/src/configurations.model.d.ts +18 -2
- package/src/lib/models/src/configurations.model.js +8 -0
- package/src/lib/models/src/configurations.model.js.map +1 -1
- package/src/lib/models/src/gst.model.d.ts +12 -2
- package/src/lib/models/src/gst.model.js +1 -0
- package/src/lib/models/src/gst.model.js.map +1 -1
- package/src/lib/models/src/index.d.ts +9 -0
- package/src/lib/models/src/index.js +9 -0
- package/src/lib/models/src/index.js.map +1 -1
- package/src/lib/models/src/ltr.log.confirmation.model.d.ts +30 -0
- package/src/lib/models/src/ltr.log.confirmation.model.js +15 -0
- package/src/lib/models/src/ltr.log.confirmation.model.js.map +1 -0
- package/src/lib/models/src/ltr.payout.model.d.ts +37 -2
- package/src/lib/models/src/ltr.payout.model.js +22 -0
- package/src/lib/models/src/ltr.payout.model.js.map +1 -1
- package/src/lib/models/src/ltr.payout.month.sign.off.model.d.ts +85 -0
- package/src/lib/models/src/ltr.payout.month.sign.off.model.js +28 -0
- package/src/lib/models/src/ltr.payout.month.sign.off.model.js.map +1 -0
- package/src/lib/models/src/ltr.payout.row.audit.model.d.ts +44 -0
- package/src/lib/models/src/ltr.payout.row.audit.model.js +22 -0
- package/src/lib/models/src/ltr.payout.row.audit.model.js.map +1 -0
- package/src/lib/models/src/ltr.payout.row.group.model.d.ts +73 -0
- package/src/lib/models/src/ltr.payout.row.group.model.js +25 -0
- package/src/lib/models/src/ltr.payout.row.group.model.js.map +1 -0
- package/src/lib/models/src/ltr.payout.row.image.model.d.ts +34 -0
- package/src/lib/models/src/ltr.payout.row.image.model.js +11 -0
- package/src/lib/models/src/ltr.payout.row.image.model.js.map +1 -0
- package/src/lib/models/src/ltr.vehicle.master.model.d.ts +2 -0
- package/src/lib/models/src/ltr.vehicle.master.model.js +1 -0
- package/src/lib/models/src/ltr.vehicle.master.model.js.map +1 -1
- package/src/lib/models/src/passenger.persona.model.d.ts +18 -2
- package/src/lib/models/src/passenger.persona.model.js +8 -0
- package/src/lib/models/src/passenger.persona.model.js.map +1 -1
- package/src/lib/models/src/retry.task.model.d.ts +56 -0
- package/src/lib/models/src/retry.task.model.js +26 -0
- package/src/lib/models/src/retry.task.model.js.map +1 -0
- package/src/lib/models/src/tds.config.activity.log.model.d.ts +34 -0
- package/src/lib/models/src/tds.config.activity.log.model.js +15 -0
- package/src/lib/models/src/tds.config.activity.log.model.js.map +1 -0
- package/src/lib/models/src/tds.config.model.d.ts +47 -0
- package/src/lib/models/src/tds.config.model.js +18 -0
- package/src/lib/models/src/tds.config.model.js.map +1 -0
- package/src/lib/models/src/vendor.persona.model.d.ts +6 -1
- package/src/lib/models/src/vendor.persona.model.js +2 -0
- package/src/lib/models/src/vendor.persona.model.js.map +1 -1
- package/src/lib/models/src/white.label.config.model.d.ts +6 -2
- package/src/lib/models/src/white.label.config.model.js +2 -0
- package/src/lib/models/src/white.label.config.model.js.map +1 -1
- package/src/lib/routes/src/command.registry.routes.d.ts +11 -0
- package/src/lib/routes/src/command.registry.routes.js +11 -0
- package/src/lib/routes/src/command.registry.routes.js.map +1 -1
- package/src/lib/routes/src/gatekeeper.routes.d.ts +2 -0
- package/src/lib/routes/src/gatekeeper.routes.js +2 -0
- package/src/lib/routes/src/gatekeeper.routes.js.map +1 -1
- package/src/lib/routes/src/query.service.routes.d.ts +6 -1
- package/src/lib/routes/src/query.service.routes.js +6 -1
- package/src/lib/routes/src/query.service.routes.js.map +1 -1
- package/src/lib/utilities/src/ba.contract.lock.d.ts +55 -0
- package/src/lib/utilities/src/ba.contract.lock.js +168 -0
- package/src/lib/utilities/src/ba.contract.lock.js.map +1 -0
- package/src/lib/utilities/src/index.d.ts +5 -1
- package/src/lib/utilities/src/index.js +5 -1
- package/src/lib/utilities/src/index.js.map +1 -1
- package/src/lib/utilities/src/ltr.cycle.month.index.d.ts +1 -0
- package/src/lib/utilities/src/ltr.cycle.month.index.js +9 -0
- package/src/lib/utilities/src/ltr.cycle.month.index.js.map +1 -0
- package/src/lib/utilities/src/ltr.payout.row.key.d.ts +43 -0
- package/src/lib/utilities/src/ltr.payout.row.key.js +78 -0
- package/src/lib/utilities/src/ltr.payout.row.key.js.map +1 -0
- package/src/lib/utilities/src/parse.display.date.d.ts +16 -0
- package/src/lib/utilities/src/parse.display.date.js +43 -0
- package/src/lib/utilities/src/parse.display.date.js.map +1 -0
- package/src/lib/utilities/src/resolve.gst.state.d.ts +23 -0
- package/src/lib/utilities/src/resolve.gst.state.js +32 -0
- package/src/lib/utilities/src/resolve.gst.state.js.map +1 -0
- package/src/lib/view-models/src/public.config.d.ts +5 -1
- package/src/lib/view-models/src/successful.response.d.ts +17 -0
- package/src/lib/data-transfer-objects/src/get.ext.available.ratecards.dto.d.ts +0 -5
- package/src/lib/data-transfer-objects/src/get.ext.available.ratecards.dto.js +0 -19
- package/src/lib/data-transfer-objects/src/get.ext.available.ratecards.dto.js.map +0 -1
- package/src/lib/utilities/src/pick.latest.numbered.invoice.d.ts +0 -21
- package/src/lib/utilities/src/pick.latest.numbered.invoice.js +0 -52
- package/src/lib/utilities/src/pick.latest.numbered.invoice.js.map +0 -1
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { INumberedInvoice } from '../../models/src/index';
|
|
2
|
-
/**
|
|
3
|
-
* Newest NumberedInvoice on a booking.
|
|
4
|
-
*
|
|
5
|
-
* `Request.numberedInvoices` is a plain @ManyToMany with no @OrderBy, so the
|
|
6
|
-
* array order is whatever the join-table scan yields and can change with the
|
|
7
|
-
* query plan. Callers reaching for `[0]` or `[length - 1]` were therefore
|
|
8
|
-
* picking an arbitrary invoice. That is invisible while a booking has exactly
|
|
9
|
-
* one, and surfaces as stale data the moment it has more — a rebill after
|
|
10
|
-
* modification, or the consolidated clone in
|
|
11
|
-
* `create.consolidated.invoice.handler`, both leave two attached.
|
|
12
|
-
*
|
|
13
|
-
* Ordered by `preparedAt` descending, with the id as a stable tiebreak for
|
|
14
|
-
* rows sharing a timestamp. Rows with no usable `preparedAt` sort last, so a
|
|
15
|
-
* legacy row without one never outranks a real invoice.
|
|
16
|
-
*
|
|
17
|
-
* Mirrors the explicit `ORDER BY ni.preparedAt` that
|
|
18
|
-
* `duties.query.raw.controller` and `bill.calculation.controller` already
|
|
19
|
-
* apply in SQL, for the callers that hold the relation in memory instead.
|
|
20
|
-
*/
|
|
21
|
-
export declare function pickLatestNumberedInvoice(invoices?: INumberedInvoice[] | null): INumberedInvoice | undefined;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { NumberedInvoiceField, } from '../../models/src/index';
|
|
2
|
-
/**
|
|
3
|
-
* Newest NumberedInvoice on a booking.
|
|
4
|
-
*
|
|
5
|
-
* `Request.numberedInvoices` is a plain @ManyToMany with no @OrderBy, so the
|
|
6
|
-
* array order is whatever the join-table scan yields and can change with the
|
|
7
|
-
* query plan. Callers reaching for `[0]` or `[length - 1]` were therefore
|
|
8
|
-
* picking an arbitrary invoice. That is invisible while a booking has exactly
|
|
9
|
-
* one, and surfaces as stale data the moment it has more — a rebill after
|
|
10
|
-
* modification, or the consolidated clone in
|
|
11
|
-
* `create.consolidated.invoice.handler`, both leave two attached.
|
|
12
|
-
*
|
|
13
|
-
* Ordered by `preparedAt` descending, with the id as a stable tiebreak for
|
|
14
|
-
* rows sharing a timestamp. Rows with no usable `preparedAt` sort last, so a
|
|
15
|
-
* legacy row without one never outranks a real invoice.
|
|
16
|
-
*
|
|
17
|
-
* Mirrors the explicit `ORDER BY ni.preparedAt` that
|
|
18
|
-
* `duties.query.raw.controller` and `bill.calculation.controller` already
|
|
19
|
-
* apply in SQL, for the callers that hold the relation in memory instead.
|
|
20
|
-
*/
|
|
21
|
-
export function pickLatestNumberedInvoice(invoices) {
|
|
22
|
-
if (!invoices?.length) {
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
let latest;
|
|
26
|
-
let latestAt = -Infinity;
|
|
27
|
-
for (const invoice of invoices) {
|
|
28
|
-
if (!invoice) {
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
const preparedAt = invoice[NumberedInvoiceField.PreparedAt];
|
|
32
|
-
const parsed = preparedAt ? new Date(preparedAt).getTime() : NaN;
|
|
33
|
-
const at = Number.isNaN(parsed) ? -Infinity : parsed;
|
|
34
|
-
if (!latest) {
|
|
35
|
-
latest = invoice;
|
|
36
|
-
latestAt = at;
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
// Compare ids only when the timestamps tie, so the winner is stable
|
|
40
|
-
// across query plans rather than dependent on array order.
|
|
41
|
-
const isNewer = at > latestAt ||
|
|
42
|
-
(at === latestAt &&
|
|
43
|
-
String(invoice[NumberedInvoiceField.NumberedInvoiceId] ?? '') >
|
|
44
|
-
String(latest[NumberedInvoiceField.NumberedInvoiceId] ?? ''));
|
|
45
|
-
if (isNewer) {
|
|
46
|
-
latest = invoice;
|
|
47
|
-
latestAt = at;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return latest;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=pick.latest.numbered.invoice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pick.latest.numbered.invoice.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/pick.latest.numbered.invoice.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,oBAAoB,GACpB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,yBAAyB,CACxC,QAAoC;IAEpC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,MAAoC,CAAC;IACzC,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAC;IAEzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,SAAS;QACV,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAErD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,GAAG,OAAO,CAAC;YACjB,QAAQ,GAAG,EAAE,CAAC;YACd,SAAS;QACV,CAAC;QAED,oEAAoE;QACpE,2DAA2D;QAC3D,MAAM,OAAO,GACZ,EAAE,GAAG,QAAQ;YACb,CAAC,EAAE,KAAK,QAAQ;gBACf,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;oBAC5D,MAAM,CACL,MAAM,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,EAAE,CACpD,CAAC,CAAC;QAEN,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,OAAO,CAAC;YACjB,QAAQ,GAAG,EAAE,CAAC;QACf,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
|