@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.
Files changed (262) hide show
  1. package/package.json +1 -1
  2. package/src/lib/commands/src/generate.pdf.invoice.d.ts +0 -1
  3. package/src/lib/commands/src/generate.pdf.invoice.js.map +1 -1
  4. package/src/lib/contract-state/src/contract.coverage.bound.d.ts +37 -0
  5. package/src/lib/contract-state/src/contract.coverage.bound.js +45 -0
  6. package/src/lib/contract-state/src/contract.coverage.bound.js.map +1 -0
  7. package/src/lib/contract-state/src/index.d.ts +1 -0
  8. package/src/lib/contract-state/src/index.js +1 -0
  9. package/src/lib/contract-state/src/index.js.map +1 -1
  10. package/src/lib/data-transfer-objects/src/add.ltr.payout.rows.dto.d.ts +66 -0
  11. package/src/lib/data-transfer-objects/src/add.ltr.payout.rows.dto.js +139 -0
  12. package/src/lib/data-transfer-objects/src/add.ltr.payout.rows.dto.js.map +1 -0
  13. package/src/lib/data-transfer-objects/src/calculate.non.pool.ltr.invoice.data.dto.d.ts +1 -0
  14. package/src/lib/data-transfer-objects/src/calculate.non.pool.ltr.invoice.data.dto.js +5 -0
  15. package/src/lib/data-transfer-objects/src/calculate.non.pool.ltr.invoice.data.dto.js.map +1 -1
  16. package/src/lib/data-transfer-objects/src/command/add.ltr.vehicle.master.dto.d.ts +1 -0
  17. package/src/lib/data-transfer-objects/src/command/add.ltr.vehicle.master.dto.js +5 -0
  18. package/src/lib/data-transfer-objects/src/command/add.ltr.vehicle.master.dto.js.map +1 -1
  19. package/src/lib/data-transfer-objects/src/command/add.tds.config.dto.d.ts +7 -0
  20. package/src/lib/data-transfer-objects/src/command/add.tds.config.dto.js +30 -0
  21. package/src/lib/data-transfer-objects/src/command/add.tds.config.dto.js.map +1 -0
  22. package/src/lib/data-transfer-objects/src/command/index.d.ts +4 -0
  23. package/src/lib/data-transfer-objects/src/command/index.js +4 -0
  24. package/src/lib/data-transfer-objects/src/command/index.js.map +1 -1
  25. package/src/lib/data-transfer-objects/src/command/post.corporate.alerts.dto.js +6 -0
  26. package/src/lib/data-transfer-objects/src/command/post.corporate.alerts.dto.js.map +1 -1
  27. package/src/lib/data-transfer-objects/src/command/retry.generate.irn.dto.d.ts +3 -0
  28. package/src/lib/data-transfer-objects/src/command/retry.generate.irn.dto.js +9 -0
  29. package/src/lib/data-transfer-objects/src/command/retry.generate.irn.dto.js.map +1 -0
  30. package/src/lib/data-transfer-objects/src/command/update.ltr.request.dto.d.ts +1 -1
  31. package/src/lib/data-transfer-objects/src/command/update.ltr.request.dto.js +1 -0
  32. package/src/lib/data-transfer-objects/src/command/update.ltr.request.dto.js.map +1 -1
  33. package/src/lib/data-transfer-objects/src/command/update.tds.config.dto.d.ts +11 -0
  34. package/src/lib/data-transfer-objects/src/command/update.tds.config.dto.js +30 -0
  35. package/src/lib/data-transfer-objects/src/command/update.tds.config.dto.js.map +1 -0
  36. package/src/lib/data-transfer-objects/src/command/update.tds.config.status.dto.d.ts +7 -0
  37. package/src/lib/data-transfer-objects/src/command/update.tds.config.status.dto.js +22 -0
  38. package/src/lib/data-transfer-objects/src/command/update.tds.config.status.dto.js.map +1 -0
  39. package/src/lib/data-transfer-objects/src/create.update.ba.contract.dto.d.ts +2 -0
  40. package/src/lib/data-transfer-objects/src/create.update.ba.contract.dto.js +10 -0
  41. package/src/lib/data-transfer-objects/src/create.update.ba.contract.dto.js.map +1 -1
  42. package/src/lib/data-transfer-objects/src/create.vendor.dto.d.ts +1 -0
  43. package/src/lib/data-transfer-objects/src/create.vendor.dto.js +7 -1
  44. package/src/lib/data-transfer-objects/src/create.vendor.dto.js.map +1 -1
  45. package/src/lib/data-transfer-objects/src/discard.business.associate.payout.draft.dto.d.ts +7 -0
  46. package/src/lib/data-transfer-objects/src/discard.business.associate.payout.draft.dto.js +28 -0
  47. package/src/lib/data-transfer-objects/src/discard.business.associate.payout.draft.dto.js.map +1 -0
  48. package/src/lib/data-transfer-objects/src/duties.query.dto.d.ts +14 -0
  49. package/src/lib/data-transfer-objects/src/duties.query.dto.js +5 -0
  50. package/src/lib/data-transfer-objects/src/duties.query.dto.js.map +1 -1
  51. package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.d.ts +1 -0
  52. package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.js +8 -1
  53. package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.js.map +1 -1
  54. package/src/lib/data-transfer-objects/src/gatekeeper/get.registered.user.ltr.dto.d.ts +7 -0
  55. package/src/lib/data-transfer-objects/src/gatekeeper/get.registered.user.ltr.dto.js +21 -0
  56. package/src/lib/data-transfer-objects/src/gatekeeper/get.registered.user.ltr.dto.js.map +1 -0
  57. package/src/lib/data-transfer-objects/src/gatekeeper/get.user.by.phone.dto.d.ts +1 -0
  58. package/src/lib/data-transfer-objects/src/gatekeeper/get.user.by.phone.dto.js +8 -1
  59. package/src/lib/data-transfer-objects/src/gatekeeper/get.user.by.phone.dto.js.map +1 -1
  60. package/src/lib/data-transfer-objects/src/gatekeeper/index.d.ts +2 -0
  61. package/src/lib/data-transfer-objects/src/gatekeeper/index.js +2 -0
  62. package/src/lib/data-transfer-objects/src/gatekeeper/index.js.map +1 -1
  63. package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.d.ts +37 -0
  64. package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.js +36 -1
  65. package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.js.map +1 -1
  66. package/src/lib/data-transfer-objects/src/gatekeeper/send.ltr.sign.off.otp.dto.d.ts +17 -0
  67. package/src/lib/data-transfer-objects/src/gatekeeper/send.ltr.sign.off.otp.dto.js +29 -0
  68. package/src/lib/data-transfer-objects/src/gatekeeper/send.ltr.sign.off.otp.dto.js.map +1 -0
  69. package/src/lib/data-transfer-objects/src/get.active.preferred.package.dto.d.ts +1 -0
  70. package/src/lib/data-transfer-objects/src/get.active.preferred.package.dto.js +6 -1
  71. package/src/lib/data-transfer-objects/src/get.active.preferred.package.dto.js.map +1 -1
  72. package/src/lib/data-transfer-objects/src/get.business.associate.payout.draft.dto.d.ts +25 -0
  73. package/src/lib/data-transfer-objects/src/get.business.associate.payout.draft.dto.js +25 -0
  74. package/src/lib/data-transfer-objects/src/get.business.associate.payout.draft.dto.js.map +1 -0
  75. package/src/lib/data-transfer-objects/src/get.ltr.driver.bookings.dto.d.ts +5 -0
  76. package/src/lib/data-transfer-objects/src/get.ltr.driver.bookings.dto.js +17 -0
  77. package/src/lib/data-transfer-objects/src/get.ltr.driver.bookings.dto.js.map +1 -0
  78. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.logs.dto.d.ts +18 -0
  79. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.logs.dto.js +33 -0
  80. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.logs.dto.js.map +1 -0
  81. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.sign.off.preview.dto.d.ts +33 -0
  82. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.sign.off.preview.dto.js +36 -0
  83. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.sign.off.preview.dto.js.map +1 -0
  84. package/src/lib/data-transfer-objects/src/get.ltr.driver.payout.rows.dto.d.ts +66 -0
  85. package/src/lib/data-transfer-objects/src/get.ltr.driver.payout.rows.dto.js +53 -0
  86. package/src/lib/data-transfer-objects/src/get.ltr.driver.payout.rows.dto.js.map +1 -0
  87. package/src/lib/data-transfer-objects/src/get.ltr.vehicle.master.dto.d.ts +1 -0
  88. package/src/lib/data-transfer-objects/src/get.ltr.vehicle.master.dto.js +9 -2
  89. package/src/lib/data-transfer-objects/src/get.ltr.vehicle.master.dto.js.map +1 -1
  90. package/src/lib/data-transfer-objects/src/get.tds.config.dto.d.ts +9 -0
  91. package/src/lib/data-transfer-objects/src/get.tds.config.dto.js +34 -0
  92. package/src/lib/data-transfer-objects/src/get.tds.config.dto.js.map +1 -0
  93. package/src/lib/data-transfer-objects/src/gst.dto.d.ts +9 -4
  94. package/src/lib/data-transfer-objects/src/gst.dto.js +9 -1
  95. package/src/lib/data-transfer-objects/src/gst.dto.js.map +1 -1
  96. package/src/lib/data-transfer-objects/src/index.d.ts +14 -2
  97. package/src/lib/data-transfer-objects/src/index.js +14 -2
  98. package/src/lib/data-transfer-objects/src/index.js.map +1 -1
  99. package/src/lib/data-transfer-objects/src/passenger.persona.custom.dto.d.ts +1 -0
  100. package/src/lib/data-transfer-objects/src/passenger.persona.custom.dto.js +6 -1
  101. package/src/lib/data-transfer-objects/src/passenger.persona.custom.dto.js.map +1 -1
  102. package/src/lib/data-transfer-objects/src/save.business.associate.payout.draft.dto.d.ts +25 -0
  103. package/src/lib/data-transfer-objects/src/save.business.associate.payout.draft.dto.js +59 -0
  104. package/src/lib/data-transfer-objects/src/save.business.associate.payout.draft.dto.js.map +1 -0
  105. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.entry.dto.d.ts +44 -0
  106. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.entry.dto.js +51 -0
  107. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.entry.dto.js.map +1 -0
  108. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.month.dto.d.ts +60 -0
  109. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.month.dto.js +65 -0
  110. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.month.dto.js.map +1 -0
  111. package/src/lib/data-transfer-objects/src/update.global.config.dto.d.ts +10 -1
  112. package/src/lib/data-transfer-objects/src/update.global.config.dto.js +50 -2
  113. package/src/lib/data-transfer-objects/src/update.global.config.dto.js.map +1 -1
  114. package/src/lib/data-transfer-objects/src/update.ltr.log.confirmation.config.dto.d.ts +6 -0
  115. package/src/lib/data-transfer-objects/src/update.ltr.log.confirmation.config.dto.js +20 -0
  116. package/src/lib/data-transfer-objects/src/update.ltr.log.confirmation.config.dto.js.map +1 -0
  117. package/src/lib/data-transfer-objects/src/update.ltr.payout.rows.dto.d.ts +18 -0
  118. package/src/lib/data-transfer-objects/src/update.ltr.payout.rows.dto.js +20 -0
  119. package/src/lib/data-transfer-objects/src/update.ltr.payout.rows.dto.js.map +1 -0
  120. package/src/lib/enums/src/alert.command.types.js +1 -1
  121. package/src/lib/enums/src/alert.command.types.js.map +1 -1
  122. package/src/lib/enums/src/ba.payout.draft.enum.d.ts +13 -0
  123. package/src/lib/enums/src/ba.payout.draft.enum.js +15 -0
  124. package/src/lib/enums/src/ba.payout.draft.enum.js.map +1 -0
  125. package/src/lib/enums/src/city.state.mapping.js +2 -2
  126. package/src/lib/enums/src/command.type.enum.d.ts +12 -1
  127. package/src/lib/enums/src/command.type.enum.js +12 -1
  128. package/src/lib/enums/src/command.type.enum.js.map +1 -1
  129. package/src/lib/enums/src/index.d.ts +5 -0
  130. package/src/lib/enums/src/index.js +5 -0
  131. package/src/lib/enums/src/index.js.map +1 -1
  132. package/src/lib/enums/src/internal.alert.type.map.js +1 -0
  133. package/src/lib/enums/src/internal.alert.type.map.js.map +1 -1
  134. package/src/lib/enums/src/internal.alert.type.variable.map.js +7 -0
  135. package/src/lib/enums/src/internal.alert.type.variable.map.js.map +1 -1
  136. package/src/lib/enums/src/internal.alert.types.enum.d.ts +2 -1
  137. package/src/lib/enums/src/internal.alert.types.enum.js +1 -0
  138. package/src/lib/enums/src/internal.alert.types.enum.js.map +1 -1
  139. package/src/lib/enums/src/ltr.font.enum.d.ts +5 -0
  140. package/src/lib/enums/src/ltr.font.enum.js +7 -0
  141. package/src/lib/enums/src/ltr.font.enum.js.map +1 -0
  142. package/src/lib/enums/src/ltr.payout.enum.d.ts +67 -0
  143. package/src/lib/enums/src/ltr.payout.enum.js +74 -0
  144. package/src/lib/enums/src/ltr.payout.enum.js.map +1 -0
  145. package/src/lib/enums/src/model.enum.d.ts +8 -0
  146. package/src/lib/enums/src/model.enum.js +8 -0
  147. package/src/lib/enums/src/model.enum.js.map +1 -1
  148. package/src/lib/enums/src/others.default.data.js +5 -0
  149. package/src/lib/enums/src/others.default.data.js.map +1 -1
  150. package/src/lib/enums/src/otp.scope.enum.d.ts +16 -0
  151. package/src/lib/enums/src/otp.scope.enum.js +18 -0
  152. package/src/lib/enums/src/otp.scope.enum.js.map +1 -0
  153. package/src/lib/enums/src/query.type.enum.d.ts +6 -1
  154. package/src/lib/enums/src/query.type.enum.js +6 -1
  155. package/src/lib/enums/src/query.type.enum.js.map +1 -1
  156. package/src/lib/enums/src/report.command.types.js +1 -0
  157. package/src/lib/enums/src/report.command.types.js.map +1 -1
  158. package/src/lib/enums/src/retry.task.enum.d.ts +28 -0
  159. package/src/lib/enums/src/retry.task.enum.js +31 -0
  160. package/src/lib/enums/src/retry.task.enum.js.map +1 -0
  161. package/src/lib/enums/src/state.full.name.number.code.map.js +4 -0
  162. package/src/lib/enums/src/state.full.name.number.code.map.js.map +1 -1
  163. package/src/lib/enums/src/vendor.default.fields.json.js +19 -2
  164. package/src/lib/enums/src/vendor.default.fields.json.js.map +1 -1
  165. package/src/lib/models/src/auth.profile.model.d.ts +13 -0
  166. package/src/lib/models/src/auth.profile.model.js +7 -0
  167. package/src/lib/models/src/auth.profile.model.js.map +1 -1
  168. package/src/lib/models/src/ba.contract.model.d.ts +13 -0
  169. package/src/lib/models/src/ba.contract.model.js +2 -0
  170. package/src/lib/models/src/ba.contract.model.js.map +1 -1
  171. package/src/lib/models/src/ba.payout.draft.model.d.ts +77 -0
  172. package/src/lib/models/src/ba.payout.draft.model.js +31 -0
  173. package/src/lib/models/src/ba.payout.draft.model.js.map +1 -0
  174. package/src/lib/models/src/ba.payout.row.model.d.ts +35 -0
  175. package/src/lib/models/src/ba.payout.row.model.js +2 -0
  176. package/src/lib/models/src/ba.payout.row.model.js.map +1 -1
  177. package/src/lib/models/src/client.configuration.model.d.ts +9 -2
  178. package/src/lib/models/src/client.configuration.model.js +3 -0
  179. package/src/lib/models/src/client.configuration.model.js.map +1 -1
  180. package/src/lib/models/src/configurations.model.d.ts +18 -2
  181. package/src/lib/models/src/configurations.model.js +8 -0
  182. package/src/lib/models/src/configurations.model.js.map +1 -1
  183. package/src/lib/models/src/gst.model.d.ts +12 -2
  184. package/src/lib/models/src/gst.model.js +1 -0
  185. package/src/lib/models/src/gst.model.js.map +1 -1
  186. package/src/lib/models/src/index.d.ts +9 -0
  187. package/src/lib/models/src/index.js +9 -0
  188. package/src/lib/models/src/index.js.map +1 -1
  189. package/src/lib/models/src/ltr.log.confirmation.model.d.ts +30 -0
  190. package/src/lib/models/src/ltr.log.confirmation.model.js +15 -0
  191. package/src/lib/models/src/ltr.log.confirmation.model.js.map +1 -0
  192. package/src/lib/models/src/ltr.payout.model.d.ts +37 -2
  193. package/src/lib/models/src/ltr.payout.model.js +22 -0
  194. package/src/lib/models/src/ltr.payout.model.js.map +1 -1
  195. package/src/lib/models/src/ltr.payout.month.sign.off.model.d.ts +85 -0
  196. package/src/lib/models/src/ltr.payout.month.sign.off.model.js +28 -0
  197. package/src/lib/models/src/ltr.payout.month.sign.off.model.js.map +1 -0
  198. package/src/lib/models/src/ltr.payout.row.audit.model.d.ts +44 -0
  199. package/src/lib/models/src/ltr.payout.row.audit.model.js +22 -0
  200. package/src/lib/models/src/ltr.payout.row.audit.model.js.map +1 -0
  201. package/src/lib/models/src/ltr.payout.row.group.model.d.ts +73 -0
  202. package/src/lib/models/src/ltr.payout.row.group.model.js +25 -0
  203. package/src/lib/models/src/ltr.payout.row.group.model.js.map +1 -0
  204. package/src/lib/models/src/ltr.payout.row.image.model.d.ts +34 -0
  205. package/src/lib/models/src/ltr.payout.row.image.model.js +11 -0
  206. package/src/lib/models/src/ltr.payout.row.image.model.js.map +1 -0
  207. package/src/lib/models/src/ltr.vehicle.master.model.d.ts +2 -0
  208. package/src/lib/models/src/ltr.vehicle.master.model.js +1 -0
  209. package/src/lib/models/src/ltr.vehicle.master.model.js.map +1 -1
  210. package/src/lib/models/src/passenger.persona.model.d.ts +18 -2
  211. package/src/lib/models/src/passenger.persona.model.js +8 -0
  212. package/src/lib/models/src/passenger.persona.model.js.map +1 -1
  213. package/src/lib/models/src/retry.task.model.d.ts +56 -0
  214. package/src/lib/models/src/retry.task.model.js +26 -0
  215. package/src/lib/models/src/retry.task.model.js.map +1 -0
  216. package/src/lib/models/src/tds.config.activity.log.model.d.ts +34 -0
  217. package/src/lib/models/src/tds.config.activity.log.model.js +15 -0
  218. package/src/lib/models/src/tds.config.activity.log.model.js.map +1 -0
  219. package/src/lib/models/src/tds.config.model.d.ts +47 -0
  220. package/src/lib/models/src/tds.config.model.js +18 -0
  221. package/src/lib/models/src/tds.config.model.js.map +1 -0
  222. package/src/lib/models/src/vendor.persona.model.d.ts +6 -1
  223. package/src/lib/models/src/vendor.persona.model.js +2 -0
  224. package/src/lib/models/src/vendor.persona.model.js.map +1 -1
  225. package/src/lib/models/src/white.label.config.model.d.ts +6 -2
  226. package/src/lib/models/src/white.label.config.model.js +2 -0
  227. package/src/lib/models/src/white.label.config.model.js.map +1 -1
  228. package/src/lib/routes/src/command.registry.routes.d.ts +11 -0
  229. package/src/lib/routes/src/command.registry.routes.js +11 -0
  230. package/src/lib/routes/src/command.registry.routes.js.map +1 -1
  231. package/src/lib/routes/src/gatekeeper.routes.d.ts +2 -0
  232. package/src/lib/routes/src/gatekeeper.routes.js +2 -0
  233. package/src/lib/routes/src/gatekeeper.routes.js.map +1 -1
  234. package/src/lib/routes/src/query.service.routes.d.ts +6 -1
  235. package/src/lib/routes/src/query.service.routes.js +6 -1
  236. package/src/lib/routes/src/query.service.routes.js.map +1 -1
  237. package/src/lib/utilities/src/ba.contract.lock.d.ts +55 -0
  238. package/src/lib/utilities/src/ba.contract.lock.js +168 -0
  239. package/src/lib/utilities/src/ba.contract.lock.js.map +1 -0
  240. package/src/lib/utilities/src/index.d.ts +5 -1
  241. package/src/lib/utilities/src/index.js +5 -1
  242. package/src/lib/utilities/src/index.js.map +1 -1
  243. package/src/lib/utilities/src/ltr.cycle.month.index.d.ts +1 -0
  244. package/src/lib/utilities/src/ltr.cycle.month.index.js +9 -0
  245. package/src/lib/utilities/src/ltr.cycle.month.index.js.map +1 -0
  246. package/src/lib/utilities/src/ltr.payout.row.key.d.ts +43 -0
  247. package/src/lib/utilities/src/ltr.payout.row.key.js +78 -0
  248. package/src/lib/utilities/src/ltr.payout.row.key.js.map +1 -0
  249. package/src/lib/utilities/src/parse.display.date.d.ts +16 -0
  250. package/src/lib/utilities/src/parse.display.date.js +43 -0
  251. package/src/lib/utilities/src/parse.display.date.js.map +1 -0
  252. package/src/lib/utilities/src/resolve.gst.state.d.ts +23 -0
  253. package/src/lib/utilities/src/resolve.gst.state.js +32 -0
  254. package/src/lib/utilities/src/resolve.gst.state.js.map +1 -0
  255. package/src/lib/view-models/src/public.config.d.ts +5 -1
  256. package/src/lib/view-models/src/successful.response.d.ts +17 -0
  257. package/src/lib/data-transfer-objects/src/get.ext.available.ratecards.dto.d.ts +0 -5
  258. package/src/lib/data-transfer-objects/src/get.ext.available.ratecards.dto.js +0 -19
  259. package/src/lib/data-transfer-objects/src/get.ext.available.ratecards.dto.js.map +0 -1
  260. package/src/lib/utilities/src/pick.latest.numbered.invoice.d.ts +0 -21
  261. package/src/lib/utilities/src/pick.latest.numbered.invoice.js +0 -52
  262. 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"}