@ketvietlab/ketsuite 0.1.3 → 0.1.6

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 (359) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/deployment.d.ts.map +1 -1
  3. package/dist/deployment.js +3 -0
  4. package/dist/deployment.js.map +1 -1
  5. package/dist/index.d.ts +8 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +7 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/modules/account_staff_channel/channel-routes.d.ts.map +1 -1
  10. package/dist/modules/account_staff_channel/channel-routes.js +1 -12
  11. package/dist/modules/account_staff_channel/channel-routes.js.map +1 -1
  12. package/dist/modules/attendance/channel-routes.d.ts.map +1 -1
  13. package/dist/modules/attendance/channel-routes.js +1 -12
  14. package/dist/modules/attendance/channel-routes.js.map +1 -1
  15. package/dist/modules/backend/design/HANDOFF.md +2 -2
  16. package/dist/modules/backend/design/auth.css +12 -0
  17. package/dist/modules/backend/design/client/table-selection.d.mts +3 -3
  18. package/dist/modules/backend/design/client/table-selection.d.mts.map +1 -1
  19. package/dist/modules/backend/design/client/table-selection.mjs +1 -1
  20. package/dist/modules/backend/design/client/table-selection.mjs.map +4 -4
  21. package/dist/modules/backend/design/content.css +43 -0
  22. package/dist/modules/backend/design/design-system.css +1 -1
  23. package/dist/modules/backend/design/forms.css +84 -1
  24. package/dist/modules/backend/design/lists.css +26 -18
  25. package/dist/modules/backend/design/record.css +5 -2
  26. package/dist/modules/backend/design/responsive.css +5 -6
  27. package/dist/modules/backend/design/user-workflow.css +257 -0
  28. package/dist/modules/backend/forms.d.ts +38 -1
  29. package/dist/modules/backend/forms.d.ts.map +1 -1
  30. package/dist/modules/backend/forms.js +29 -0
  31. package/dist/modules/backend/forms.js.map +1 -1
  32. package/dist/modules/backend/index.d.ts +3 -2
  33. package/dist/modules/backend/index.d.ts.map +1 -1
  34. package/dist/modules/backend/index.js +3 -2
  35. package/dist/modules/backend/index.js.map +1 -1
  36. package/dist/modules/backend/messages.d.ts.map +1 -1
  37. package/dist/modules/backend/messages.js +42 -2
  38. package/dist/modules/backend/messages.js.map +1 -1
  39. package/dist/modules/channel_api/core.d.ts +30 -0
  40. package/dist/modules/channel_api/core.d.ts.map +1 -1
  41. package/dist/modules/channel_api/core.js +28 -0
  42. package/dist/modules/channel_api/core.js.map +1 -1
  43. package/dist/modules/crm/functions.d.ts +5 -0
  44. package/dist/modules/crm/functions.d.ts.map +1 -1
  45. package/dist/modules/crm/functions.js +105 -10
  46. package/dist/modules/crm/functions.js.map +1 -1
  47. package/dist/modules/crm/jobs.d.ts.map +1 -1
  48. package/dist/modules/crm/jobs.js +1 -0
  49. package/dist/modules/crm/jobs.js.map +1 -1
  50. package/dist/modules/crm/operations.d.ts.map +1 -1
  51. package/dist/modules/crm/operations.js +2 -1
  52. package/dist/modules/crm/operations.js.map +1 -1
  53. package/dist/modules/crm_backend/index.d.ts.map +1 -1
  54. package/dist/modules/crm_backend/index.js +5 -2
  55. package/dist/modules/crm_backend/index.js.map +1 -1
  56. package/dist/modules/crm_backend/messages.d.ts +116 -0
  57. package/dist/modules/crm_backend/messages.d.ts.map +1 -1
  58. package/dist/modules/crm_backend/messages.js +122 -6
  59. package/dist/modules/crm_backend/messages.js.map +1 -1
  60. package/dist/modules/crm_backend/routes.d.ts.map +1 -1
  61. package/dist/modules/crm_backend/routes.js +434 -174
  62. package/dist/modules/crm_backend/routes.js.map +1 -1
  63. package/dist/modules/crm_backend/screens/case-create.d.ts +7 -0
  64. package/dist/modules/crm_backend/screens/case-create.d.ts.map +1 -1
  65. package/dist/modules/crm_backend/screens/case-create.js +13 -4
  66. package/dist/modules/crm_backend/screens/case-create.js.map +1 -1
  67. package/dist/modules/crm_backend/screens/case-detail.d.ts +6 -0
  68. package/dist/modules/crm_backend/screens/case-detail.d.ts.map +1 -1
  69. package/dist/modules/crm_backend/screens/case-detail.js +73 -23
  70. package/dist/modules/crm_backend/screens/case-detail.js.map +1 -1
  71. package/dist/modules/crm_backend/screens/configuration.d.ts +21 -3
  72. package/dist/modules/crm_backend/screens/configuration.d.ts.map +1 -1
  73. package/dist/modules/crm_backend/screens/configuration.js +260 -55
  74. package/dist/modules/crm_backend/screens/configuration.js.map +1 -1
  75. package/dist/modules/crm_backend/screens/index.d.ts +3 -3
  76. package/dist/modules/crm_backend/screens/index.d.ts.map +1 -1
  77. package/dist/modules/crm_backend/screens/index.js +2 -2
  78. package/dist/modules/crm_backend/screens/index.js.map +1 -1
  79. package/dist/modules/crm_staff_channel/channel-routes.d.ts.map +1 -1
  80. package/dist/modules/crm_staff_channel/channel-routes.js +1 -12
  81. package/dist/modules/crm_staff_channel/channel-routes.js.map +1 -1
  82. package/dist/modules/flow/membership.d.ts.map +1 -1
  83. package/dist/modules/flow/membership.js +7 -1
  84. package/dist/modules/flow/membership.js.map +1 -1
  85. package/dist/modules/flow/operations.d.ts +10 -4
  86. package/dist/modules/flow/operations.d.ts.map +1 -1
  87. package/dist/modules/flow/operations.js +10 -4
  88. package/dist/modules/flow/operations.js.map +1 -1
  89. package/dist/modules/flow_staff_channel/channel-routes.d.ts.map +1 -1
  90. package/dist/modules/flow_staff_channel/channel-routes.js +1 -20
  91. package/dist/modules/flow_staff_channel/channel-routes.js.map +1 -1
  92. package/dist/modules/hospitality_core/messages.d.ts.map +1 -1
  93. package/dist/modules/hospitality_core/messages.js +44 -0
  94. package/dist/modules/hospitality_core/messages.js.map +1 -1
  95. package/dist/modules/hospitality_core/night-audit.d.ts.map +1 -1
  96. package/dist/modules/hospitality_core/night-audit.js +7 -0
  97. package/dist/modules/hospitality_core/night-audit.js.map +1 -1
  98. package/dist/modules/hospitality_core/operations.d.ts.map +1 -1
  99. package/dist/modules/hospitality_core/operations.js +150 -40
  100. package/dist/modules/hospitality_core/operations.js.map +1 -1
  101. package/dist/modules/hospitality_core/routes.d.ts.map +1 -1
  102. package/dist/modules/hospitality_core/routes.js +24 -2
  103. package/dist/modules/hospitality_core/routes.js.map +1 -1
  104. package/dist/modules/hospitality_core/screens/check-out-prep.d.ts +46 -0
  105. package/dist/modules/hospitality_core/screens/check-out-prep.d.ts.map +1 -0
  106. package/dist/modules/hospitality_core/screens/check-out-prep.js +133 -0
  107. package/dist/modules/hospitality_core/screens/check-out-prep.js.map +1 -0
  108. package/dist/modules/hospitality_core/screens/folio-detail.d.ts.map +1 -1
  109. package/dist/modules/hospitality_core/screens/folio-detail.js +2 -4
  110. package/dist/modules/hospitality_core/screens/folio-detail.js.map +1 -1
  111. package/dist/modules/hospitality_core/screens/index.d.ts +2 -0
  112. package/dist/modules/hospitality_core/screens/index.d.ts.map +1 -1
  113. package/dist/modules/hospitality_core/screens/index.js +1 -0
  114. package/dist/modules/hospitality_core/screens/index.js.map +1 -1
  115. package/dist/modules/hospitality_core/screens/reservation-detail.d.ts.map +1 -1
  116. package/dist/modules/hospitality_core/screens/reservation-detail.js +8 -1
  117. package/dist/modules/hospitality_core/screens/reservation-detail.js.map +1 -1
  118. package/dist/modules/hospitality_core/screens/shared.d.ts +12 -0
  119. package/dist/modules/hospitality_core/screens/shared.d.ts.map +1 -1
  120. package/dist/modules/hospitality_core/screens/shared.js +25 -4
  121. package/dist/modules/hospitality_core/screens/shared.js.map +1 -1
  122. package/dist/modules/hospitality_core/services.d.ts +48 -0
  123. package/dist/modules/hospitality_core/services.d.ts.map +1 -1
  124. package/dist/modules/hospitality_core/services.js +70 -0
  125. package/dist/modules/hospitality_core/services.js.map +1 -1
  126. package/dist/modules/hospitality_staff_channel/channel-routes.d.ts.map +1 -1
  127. package/dist/modules/hospitality_staff_channel/channel-routes.js +1 -12
  128. package/dist/modules/hospitality_staff_channel/channel-routes.js.map +1 -1
  129. package/dist/modules/inventory_staff_channel/channel-routes.d.ts.map +1 -1
  130. package/dist/modules/inventory_staff_channel/channel-routes.js +1 -12
  131. package/dist/modules/inventory_staff_channel/channel-routes.js.map +1 -1
  132. package/dist/modules/loyalty/admin-functions.d.ts +2 -0
  133. package/dist/modules/loyalty/admin-functions.d.ts.map +1 -1
  134. package/dist/modules/loyalty/admin-functions.js +96 -20
  135. package/dist/modules/loyalty/admin-functions.js.map +1 -1
  136. package/dist/modules/loyalty/engine.d.ts +4 -1
  137. package/dist/modules/loyalty/engine.d.ts.map +1 -1
  138. package/dist/modules/loyalty/engine.js +125 -18
  139. package/dist/modules/loyalty/engine.js.map +1 -1
  140. package/dist/modules/loyalty/index.d.ts.map +1 -1
  141. package/dist/modules/loyalty/index.js +4 -3
  142. package/dist/modules/loyalty/index.js.map +1 -1
  143. package/dist/modules/loyalty/jobs.d.ts.map +1 -1
  144. package/dist/modules/loyalty/jobs.js +0 -1
  145. package/dist/modules/loyalty/jobs.js.map +1 -1
  146. package/dist/modules/loyalty/membership-functions.d.ts +5 -0
  147. package/dist/modules/loyalty/membership-functions.d.ts.map +1 -1
  148. package/dist/modules/loyalty/membership-functions.js +37 -23
  149. package/dist/modules/loyalty/membership-functions.js.map +1 -1
  150. package/dist/modules/loyalty/messages.d.ts +14 -0
  151. package/dist/modules/loyalty/messages.d.ts.map +1 -1
  152. package/dist/modules/loyalty/messages.js +14 -0
  153. package/dist/modules/loyalty/messages.js.map +1 -1
  154. package/dist/modules/loyalty/models.d.ts.map +1 -1
  155. package/dist/modules/loyalty/models.js +17 -0
  156. package/dist/modules/loyalty/models.js.map +1 -1
  157. package/dist/modules/loyalty/order-functions.d.ts.map +1 -1
  158. package/dist/modules/loyalty/order-functions.js +70 -17
  159. package/dist/modules/loyalty/order-functions.js.map +1 -1
  160. package/dist/modules/loyalty/program-design.d.ts +11 -0
  161. package/dist/modules/loyalty/program-design.d.ts.map +1 -0
  162. package/dist/modules/loyalty/program-design.js +356 -0
  163. package/dist/modules/loyalty/program-design.js.map +1 -0
  164. package/dist/modules/loyalty/stats.d.ts +0 -13
  165. package/dist/modules/loyalty/stats.d.ts.map +1 -1
  166. package/dist/modules/loyalty/stats.js +11 -6
  167. package/dist/modules/loyalty/stats.js.map +1 -1
  168. package/dist/modules/loyalty/stored-value.d.ts.map +1 -1
  169. package/dist/modules/loyalty/stored-value.js +7 -2
  170. package/dist/modules/loyalty/stored-value.js.map +1 -1
  171. package/dist/modules/loyalty/types.d.ts +1 -1
  172. package/dist/modules/loyalty/types.d.ts.map +1 -1
  173. package/dist/modules/loyalty_backend/design-messages.d.ts +221 -0
  174. package/dist/modules/loyalty_backend/design-messages.d.ts.map +1 -0
  175. package/dist/modules/loyalty_backend/design-messages.js +221 -0
  176. package/dist/modules/loyalty_backend/design-messages.js.map +1 -0
  177. package/dist/modules/loyalty_backend/index.js +224 -412
  178. package/dist/modules/loyalty_backend/index.js.map +1 -1
  179. package/dist/modules/loyalty_backend/messages.d.ts +642 -214
  180. package/dist/modules/loyalty_backend/messages.d.ts.map +1 -1
  181. package/dist/modules/loyalty_backend/messages.js +19 -13
  182. package/dist/modules/loyalty_backend/messages.js.map +1 -1
  183. package/dist/modules/loyalty_backend/program-workspace.d.ts +4 -0
  184. package/dist/modules/loyalty_backend/program-workspace.d.ts.map +1 -0
  185. package/dist/modules/loyalty_backend/program-workspace.js +600 -0
  186. package/dist/modules/loyalty_backend/program-workspace.js.map +1 -0
  187. package/dist/modules/loyalty_backend/screens/index.d.ts +12 -36
  188. package/dist/modules/loyalty_backend/screens/index.d.ts.map +1 -1
  189. package/dist/modules/loyalty_backend/screens/index.js +148 -292
  190. package/dist/modules/loyalty_backend/screens/index.js.map +1 -1
  191. package/dist/modules/loyalty_backend/screens/page-frame.d.ts.map +1 -1
  192. package/dist/modules/loyalty_backend/screens/page-frame.js +2 -2
  193. package/dist/modules/loyalty_backend/screens/page-frame.js.map +1 -1
  194. package/dist/modules/loyalty_pos/functions.d.ts.map +1 -1
  195. package/dist/modules/loyalty_pos/functions.js +1 -0
  196. package/dist/modules/loyalty_pos/functions.js.map +1 -1
  197. package/dist/modules/loyalty_pos/index.js +1 -1
  198. package/dist/modules/loyalty_pos/index.js.map +1 -1
  199. package/dist/modules/loyalty_sale/functions.d.ts +1 -0
  200. package/dist/modules/loyalty_sale/functions.d.ts.map +1 -1
  201. package/dist/modules/loyalty_sale/functions.js +1 -0
  202. package/dist/modules/loyalty_sale/functions.js.map +1 -1
  203. package/dist/modules/partner_backend/client/partner.css +3 -1
  204. package/dist/modules/partner_backend/index.d.ts.map +1 -1
  205. package/dist/modules/partner_backend/index.js +4 -0
  206. package/dist/modules/partner_backend/index.js.map +1 -1
  207. package/dist/modules/partner_backend/routes.d.ts.map +1 -1
  208. package/dist/modules/partner_backend/routes.js +6 -1
  209. package/dist/modules/partner_backend/routes.js.map +1 -1
  210. package/dist/modules/partner_backend/screens/form.d.ts +1 -0
  211. package/dist/modules/partner_backend/screens/form.d.ts.map +1 -1
  212. package/dist/modules/partner_backend/screens/form.js +1 -0
  213. package/dist/modules/partner_backend/screens/form.js.map +1 -1
  214. package/dist/modules/purchase_staff_channel/order-routes.d.ts.map +1 -1
  215. package/dist/modules/purchase_staff_channel/order-routes.js +1 -12
  216. package/dist/modules/purchase_staff_channel/order-routes.js.map +1 -1
  217. package/dist/modules/quality_staff_channel/channel-routes.d.ts.map +1 -1
  218. package/dist/modules/quality_staff_channel/channel-routes.js +1 -12
  219. package/dist/modules/quality_staff_channel/channel-routes.js.map +1 -1
  220. package/dist/modules/sale/functions.d.ts.map +1 -1
  221. package/dist/modules/sale/functions.js +27 -17
  222. package/dist/modules/sale/functions.js.map +1 -1
  223. package/dist/modules/sale_staff_channel/channel-routes.d.ts.map +1 -1
  224. package/dist/modules/sale_staff_channel/channel-routes.js +1 -12
  225. package/dist/modules/sale_staff_channel/channel-routes.js.map +1 -1
  226. package/dist/modules/sale_staff_channel/order-routes.d.ts.map +1 -1
  227. package/dist/modules/sale_staff_channel/order-routes.js +1 -12
  228. package/dist/modules/sale_staff_channel/order-routes.js.map +1 -1
  229. package/dist/modules/stock_staff_channel/operation-routes.d.ts.map +1 -1
  230. package/dist/modules/stock_staff_channel/operation-routes.js +1 -12
  231. package/dist/modules/stock_staff_channel/operation-routes.js.map +1 -1
  232. package/dist/modules/user/authorization.d.ts +64 -1
  233. package/dist/modules/user/authorization.d.ts.map +1 -1
  234. package/dist/modules/user/authorization.js +445 -53
  235. package/dist/modules/user/authorization.js.map +1 -1
  236. package/dist/modules/user/functions.d.ts.map +1 -1
  237. package/dist/modules/user/functions.js +45 -23
  238. package/dist/modules/user/functions.js.map +1 -1
  239. package/dist/modules/user/index.d.ts +2 -1
  240. package/dist/modules/user/index.d.ts.map +1 -1
  241. package/dist/modules/user/index.js +1 -1
  242. package/dist/modules/user/index.js.map +1 -1
  243. package/dist/modules/user/models.d.ts.map +1 -1
  244. package/dist/modules/user/models.js +5 -0
  245. package/dist/modules/user/models.js.map +1 -1
  246. package/dist/modules/user/roles.d.ts.map +1 -1
  247. package/dist/modules/user/roles.js +2 -1
  248. package/dist/modules/user/roles.js.map +1 -1
  249. package/dist/modules/user_backend/access-routes.d.ts +31 -0
  250. package/dist/modules/user_backend/access-routes.d.ts.map +1 -0
  251. package/dist/modules/user_backend/access-routes.js +447 -0
  252. package/dist/modules/user_backend/access-routes.js.map +1 -0
  253. package/dist/modules/user_backend/index.d.ts +1 -0
  254. package/dist/modules/user_backend/index.d.ts.map +1 -1
  255. package/dist/modules/user_backend/index.js +1 -0
  256. package/dist/modules/user_backend/index.js.map +1 -1
  257. package/dist/modules/user_backend/messages.d.ts +4 -0
  258. package/dist/modules/user_backend/messages.d.ts.map +1 -1
  259. package/dist/modules/user_backend/messages.js +4 -0
  260. package/dist/modules/user_backend/messages.js.map +1 -1
  261. package/dist/modules/user_backend/routes.d.ts.map +1 -1
  262. package/dist/modules/user_backend/routes.js +38 -3
  263. package/dist/modules/user_backend/routes.js.map +1 -1
  264. package/dist/modules/user_backend/screens/user-form.d.ts +1 -0
  265. package/dist/modules/user_backend/screens/user-form.d.ts.map +1 -1
  266. package/dist/modules/user_backend/screens/user-form.js +28 -0
  267. package/dist/modules/user_backend/screens/user-form.js.map +1 -1
  268. package/dist/modules/website/cms.d.ts.map +1 -1
  269. package/dist/modules/website/cms.js +283 -6
  270. package/dist/modules/website/cms.js.map +1 -1
  271. package/dist/modules/website/index.d.ts.map +1 -1
  272. package/dist/modules/website/index.js +12 -0
  273. package/dist/modules/website/index.js.map +1 -1
  274. package/dist/modules/website/media-usage.d.ts +38 -0
  275. package/dist/modules/website/media-usage.d.ts.map +1 -0
  276. package/dist/modules/website/media-usage.js +87 -0
  277. package/dist/modules/website/media-usage.js.map +1 -0
  278. package/dist/modules/website/paths.js +1 -1
  279. package/dist/modules/website/paths.js.map +1 -1
  280. package/dist/modules/website/sections.d.ts.map +1 -1
  281. package/dist/modules/website/sections.js +12 -1
  282. package/dist/modules/website/sections.js.map +1 -1
  283. package/dist/modules/website_backend/index.js +138 -0
  284. package/dist/modules/website_backend/index.js.map +1 -1
  285. package/dist/modules/website_backend/menus.d.ts.map +1 -1
  286. package/dist/modules/website_backend/menus.js +11 -0
  287. package/dist/modules/website_backend/menus.js.map +1 -1
  288. package/dist/modules/website_backend/routes.d.ts.map +1 -1
  289. package/dist/modules/website_backend/routes.js +414 -31
  290. package/dist/modules/website_backend/routes.js.map +1 -1
  291. package/dist/modules/website_backend/screens/index.d.ts +98 -6
  292. package/dist/modules/website_backend/screens/index.d.ts.map +1 -1
  293. package/dist/modules/website_backend/screens/index.js +600 -154
  294. package/dist/modules/website_backend/screens/index.js.map +1 -1
  295. package/dist/modules/website_backend/screens/page-frame.d.ts +3 -1
  296. package/dist/modules/website_backend/screens/page-frame.d.ts.map +1 -1
  297. package/dist/modules/website_backend/screens/page-frame.js +1 -1
  298. package/dist/modules/website_backend/screens/page-frame.js.map +1 -1
  299. package/dist/modules/website_menu/functions.d.ts.map +1 -1
  300. package/dist/modules/website_menu/functions.js +51 -0
  301. package/dist/modules/website_menu/functions.js.map +1 -1
  302. package/dist/modules/website_menu/index.js +2 -0
  303. package/dist/modules/website_menu/index.js.map +1 -1
  304. package/dist/modules/website_search/functions.d.ts.map +1 -1
  305. package/dist/modules/website_search/functions.js +10 -120
  306. package/dist/modules/website_search/functions.js.map +1 -1
  307. package/dist/modules/website_search/index.js +2 -0
  308. package/dist/modules/website_search/index.js.map +1 -1
  309. package/dist/modules/website_search/jobs.d.ts +3 -0
  310. package/dist/modules/website_search/jobs.d.ts.map +1 -0
  311. package/dist/modules/website_search/jobs.js +101 -0
  312. package/dist/modules/website_search/jobs.js.map +1 -0
  313. package/dist/modules/website_search/rebuild.d.ts +33 -0
  314. package/dist/modules/website_search/rebuild.d.ts.map +1 -0
  315. package/dist/modules/website_search/rebuild.js +125 -0
  316. package/dist/modules/website_search/rebuild.js.map +1 -0
  317. package/dist/permission-catalogue.d.ts.map +1 -1
  318. package/dist/permission-catalogue.js +21 -1
  319. package/dist/permission-catalogue.js.map +1 -1
  320. package/dist/scaffold/index.js +1 -1
  321. package/dist/ui/chrome.d.ts +8 -0
  322. package/dist/ui/chrome.d.ts.map +1 -1
  323. package/dist/ui/chrome.js +9 -1
  324. package/dist/ui/chrome.js.map +1 -1
  325. package/dist/ui/client/table-selection-view.d.ts.map +1 -1
  326. package/dist/ui/client/table-selection-view.js +161 -5
  327. package/dist/ui/client/table-selection-view.js.map +1 -1
  328. package/dist/ui/client/user-workflow.d.ts +2 -0
  329. package/dist/ui/client/user-workflow.d.ts.map +1 -0
  330. package/dist/ui/client/user-workflow.js +141 -0
  331. package/dist/ui/client/user-workflow.js.map +1 -0
  332. package/dist/ui/form.d.ts +9 -0
  333. package/dist/ui/form.d.ts.map +1 -1
  334. package/dist/ui/form.js +29 -15
  335. package/dist/ui/form.js.map +1 -1
  336. package/dist/ui/icons.d.ts.map +1 -1
  337. package/dist/ui/icons.js +2 -0
  338. package/dist/ui/icons.js.map +1 -1
  339. package/dist/ui/index.d.ts +7 -3
  340. package/dist/ui/index.d.ts.map +1 -1
  341. package/dist/ui/index.js +6 -3
  342. package/dist/ui/index.js.map +1 -1
  343. package/dist/ui/layout.d.ts.map +1 -1
  344. package/dist/ui/layout.js +14 -4
  345. package/dist/ui/layout.js.map +1 -1
  346. package/dist/ui/nav.d.ts.map +1 -1
  347. package/dist/ui/nav.js +2 -1
  348. package/dist/ui/nav.js.map +1 -1
  349. package/dist/ui/state.d.ts +20 -1
  350. package/dist/ui/state.d.ts.map +1 -1
  351. package/dist/ui/state.js +17 -0
  352. package/dist/ui/state.js.map +1 -1
  353. package/dist/ui/table.js +1 -1
  354. package/dist/ui/table.js.map +1 -1
  355. package/dist/ui/user-workflow.d.ts +72 -0
  356. package/dist/ui/user-workflow.d.ts.map +1 -0
  357. package/dist/ui/user-workflow.js +144 -0
  358. package/dist/ui/user-workflow.js.map +1 -0
  359. package/package.json +8 -4
@@ -1,3 +1,5 @@
1
+ import { functions as stockFunctions } from '../stock/functions.js';
2
+ import { civilDateAt, DEFAULT_ACCOUNTING_TIMEZONE } from '../account/date.js';
1
3
  import { canonicalDecimalText, minorText, moneyMinor, multiplyToMinor, percentOfMinor, scaleOf, } from '../account/money.js';
2
4
  import { DISCOUNT_APPLICABILITY, DISCOUNT_MODES, LOYALTY_CHANNELS, POINT_MODES, PROGRAM_TYPES, REWARD_TYPES, TAX_MODES, } from './types.js';
3
5
  export const issue = (field, code, params) => ({
@@ -72,6 +74,7 @@ export const snapshotOf = (value) => {
72
74
  orderId: String(held.orderId),
73
75
  partnerId: held.partnerId ? String(held.partnerId) : null,
74
76
  currency: String(held.currency),
77
+ warehouseId: held.warehouseId ? String(held.warehouseId) : null,
75
78
  pricelistId: held.pricelistId ? String(held.pricelistId) : null,
76
79
  date: String(held.date),
77
80
  lines,
@@ -152,7 +155,11 @@ const activeAt = (program, date) => {
152
155
  const rewardQuote = async (ctx, program, reward, snapshot, availablePoints, cache, linkedProductIds, requestedPoints) => {
153
156
  const scale = scaleOf(snapshot.currency);
154
157
  const required = n(reward.requiredPoints);
155
- const spend = reward.clearWallet ? availablePoints : (requestedPoints ?? required);
158
+ const spend = program.designVersion === 1
159
+ ? required
160
+ : reward.clearWallet
161
+ ? availablePoints
162
+ : (requestedPoints ?? required);
156
163
  if (!(required > 0) || spend + 0.000001 < required || availablePoints + 0.000001 < spend)
157
164
  return null;
158
165
  const rewardType = String(reward.rewardType);
@@ -161,6 +168,23 @@ const rewardQuote = async (ctx, program, reward, snapshot, availablePoints, cach
161
168
  if (rewardType === 'product') {
162
169
  if (!reward.rewardProductId || !(n(reward.rewardProductQuantity) > 0))
163
170
  return null;
171
+ if (program.designVersion === 1) {
172
+ const product = await productContext(ctx, String(reward.rewardProductId), cache);
173
+ if (!product?.product.active || !product.template.active)
174
+ return null;
175
+ if (product.template.isStorable) {
176
+ const availability = (await stockFunctions.listProductAvailability.handler(ctx, {
177
+ productIds: [reward.rewardProductId],
178
+ ...(snapshot.warehouseId ? { warehouseId: snapshot.warehouseId } : {}),
179
+ }));
180
+ const purchased = snapshot.lines
181
+ .filter((line) => line.productId === reward.rewardProductId &&
182
+ (line.lineKind === 'product' || line.lineKind === 'reward'))
183
+ .reduce((sum, line) => sum + line.quantity, 0);
184
+ if (n(availability[0]?.available) < n(reward.rewardProductQuantity) + purchased)
185
+ return null;
186
+ }
187
+ }
164
188
  return {
165
189
  rewardId: String(reward.id),
166
190
  programId: String(program.id),
@@ -215,6 +239,11 @@ const rewardQuote = async (ctx, program, reward, snapshot, availablePoints, cach
215
239
  if (discountAmount > base)
216
240
  discountAmount = base;
217
241
  }
242
+ if (rewardType === 'shipping' && reward.discountMaximum) {
243
+ const maximum = moneyMinor(String(reward.discountMaximum), scale);
244
+ if (discountAmount > maximum)
245
+ discountAmount = maximum;
246
+ }
218
247
  return {
219
248
  rewardId: String(reward.id),
220
249
  programId: String(program.id),
@@ -232,14 +261,17 @@ const walletForProgram = (program, snapshot, wallets) => {
232
261
  if (byCode)
233
262
  return byCode;
234
263
  }
235
- if (!snapshot.partnerId)
264
+ if (!snapshot.partnerId || (program.designVersion === 1 && program.programType !== 'loyalty'))
236
265
  return null;
237
266
  return (wallets.find((wallet) => wallet.programId === program.id && wallet.partnerId === snapshot.partnerId && wallet.active) ?? null);
238
267
  };
239
268
  export const evaluate = async (ctx, snapshot, options = {}) => {
240
269
  const scale = scaleOf(snapshot.currency);
241
270
  const cache = new Map();
242
- const allPrograms = await ctx.db.select('loyalty.Program', { active: true });
271
+ const allPrograms = await ctx.db.select('loyalty.Program', options.preview ? { id: options.onlyProgramId } : { active: true });
272
+ const company = (await ctx.db.select('company.Company', { id: ctx.scope.company }))[0];
273
+ const day = civilDateAt(snapshot.date, company?.accountingTimezone ?? DEFAULT_ACCOUNTING_TIMEZONE);
274
+ const trace = (code, details = {}) => options.trace?.push({ code, ...details });
243
275
  const programs = allPrograms
244
276
  .filter((program) => !options.onlyProgramId || program.id === options.onlyProgramId)
245
277
  .sort((a, b) => n(a.sequence) - n(b.sequence) || String(a.id).localeCompare(String(b.id)));
@@ -268,7 +300,9 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
268
300
  walletRows.push(wallet);
269
301
  const usage = new Map();
270
302
  if (programs.some((program) => program.limitUsage && n(program.maxUsage) > 0))
271
- for (const application of await ctx.db.select('loyalty.Application', { state: 'finalized' })) {
303
+ for (const application of await ctx.db.select('loyalty.Application')) {
304
+ if (!['finalized', 'reversed'].includes(String(application.state)) || !application.rewardId)
305
+ continue;
272
306
  const programId = String(application.programId);
273
307
  if (programIds.has(programId))
274
308
  usage.set(programId, (usage.get(programId) ?? 0) + 1);
@@ -303,27 +337,59 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
303
337
  for (const program of programs) {
304
338
  if (!PROGRAM_TYPES.includes(String(program.programType)))
305
339
  continue;
306
- if (program.currency !== snapshot.currency || !activeAt(program, snapshot.date))
340
+ if (['gift_card', 'ewallet'].includes(String(program.programType)))
341
+ continue;
342
+ if (program.designVersion === 1 && program.programType === 'loyalty' && !snapshot.partnerId) {
343
+ trace('customer');
307
344
  continue;
308
- if (snapshot.orderType === 'sale' && !program.availableSale)
345
+ }
346
+ if (program.phase === 'draft' && !options.preview)
347
+ continue;
348
+ if (!program.active && !(options.preview && program.phase === 'draft')) {
349
+ trace('stopped');
350
+ continue;
351
+ }
352
+ const codedWallet = walletForProgram(program, snapshot, walletRows);
353
+ const issuedVoucher = program.designVersion === 1 && program.programType === 'next_order_coupons' && codedWallet;
354
+ if (program.currency !== snapshot.currency) {
355
+ trace('currency');
356
+ continue;
357
+ }
358
+ if (!issuedVoucher &&
359
+ (program.designVersion === 1
360
+ ? (program.startDate && String(program.startDate) > day) ||
361
+ (program.endDate && String(program.endDate) < day)
362
+ : !activeAt(program, snapshot.date))) {
363
+ trace('schedule');
309
364
  continue;
310
- if (snapshot.orderType === 'pos' && !program.availablePos)
365
+ }
366
+ if ((snapshot.orderType === 'sale' && !program.availableSale) ||
367
+ (snapshot.orderType === 'pos' && !program.availablePos)) {
368
+ trace('channel');
311
369
  continue;
370
+ }
312
371
  const mappedPricelists = pricelistsByProgram.get(String(program.id)) ?? [];
313
372
  if (mappedPricelists.length &&
314
- (!snapshot.pricelistId || !mappedPricelists.some((row) => row.pricelistId === snapshot.pricelistId)))
373
+ (!snapshot.pricelistId || !mappedPricelists.some((row) => row.pricelistId === snapshot.pricelistId))) {
374
+ trace('pricelist');
315
375
  continue;
376
+ }
316
377
  if (program.limitUsage && n(program.maxUsage) > 0) {
317
378
  const used = usage.get(String(program.id)) ?? 0;
318
- if (used >= n(program.maxUsage))
379
+ if (used >= n(program.maxUsage)) {
380
+ trace('usage');
319
381
  continue;
382
+ }
320
383
  }
321
384
  const wallet = walletForProgram(program, snapshot, walletRows);
322
385
  if (wallet &&
323
386
  (!wallet.active ||
324
387
  (wallet.expiresAt &&
325
- new Date(String(wallet.expiresAt)).getTime() < new Date(snapshot.date).getTime())))
388
+ new Date(String(wallet.expiresAt)).getTime() < new Date(snapshot.date).getTime()))) {
389
+ trace('expired');
326
390
  continue;
391
+ }
392
+ trace('scope');
327
393
  const rules = rulesByProgram.get(String(program.id)) ?? [];
328
394
  let earned = 0;
329
395
  const splitPoints = [];
@@ -333,8 +399,10 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
333
399
  !TAX_MODES.includes(String(rule.taxMode)))
334
400
  continue;
335
401
  if (rule.mode === 'with_code') {
336
- if (!(snapshot.codes ?? []).includes(String(rule.normalizedCode)))
402
+ if (!(snapshot.codes ?? []).includes(String(rule.normalizedCode))) {
403
+ trace('code', { ruleId: rule.id });
337
404
  continue;
405
+ }
338
406
  codeMatched = true;
339
407
  }
340
408
  const matched = [];
@@ -345,8 +413,18 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
345
413
  let amount = 0n;
346
414
  for (const line of matched)
347
415
  amount += moneyMinor(rule.taxMode === 'incl' ? line.total : line.untaxed, scale);
348
- if (quantity + 0.000001 < n(rule.minimumQuantity) ||
349
- amount < moneyMinor(String(rule.minimumAmount), scale))
416
+ const passed = matched.length > 0 &&
417
+ quantity + 0.000001 >= n(rule.minimumQuantity) &&
418
+ amount >= moneyMinor(String(rule.minimumAmount), scale);
419
+ trace(passed ? 'rulePassed' : 'ruleFailed', {
420
+ ruleId: rule.id,
421
+ quantity,
422
+ amount: minorText(amount, scale),
423
+ taxMode: rule.taxMode,
424
+ minimumQuantity: rule.minimumQuantity,
425
+ minimumAmount: rule.minimumAmount,
426
+ });
427
+ if (!passed)
350
428
  continue;
351
429
  const pointAmount = n(rule.pointAmount);
352
430
  if (!(pointAmount > 0))
@@ -382,7 +460,7 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
382
460
  }
383
461
  const membershipConfig = configByProgram.get(String(program.id));
384
462
  const earnGroups = membershipConfig ? (groupsByProgram.get(String(program.id)) ?? []) : [];
385
- if (membershipConfig && earnGroups.length) {
463
+ if (membershipConfig && (earnGroups.length || membershipConfig.fallbackEnabled)) {
386
464
  earned = 0;
387
465
  splitPoints.length = 0;
388
466
  for (const line of snapshot.lines.filter((candidate) => candidate.lineKind === 'product')) {
@@ -406,22 +484,51 @@ export const evaluate = async (ctx, snapshot, options = {}) => {
406
484
  }
407
485
  }
408
486
  }
409
- if (!codeMatched && !wallet)
487
+ if (program.designVersion === 1 && program.programType !== 'loyalty') {
488
+ earned = program.programType === 'coupons' || issuedVoucher ? 0 : earned > 0 ? 1 : 0;
489
+ splitPoints.length = 0;
490
+ }
491
+ if (!codeMatched && !wallet) {
492
+ trace('code');
410
493
  continue;
494
+ }
411
495
  const ownReservation = wallet
412
496
  ? orderReservations
413
497
  .filter((reservation) => reservation.walletId === wallet.id)
414
498
  .reduce((sum, reservation) => sum + n(reservation.amount), 0)
415
499
  : 0;
416
- const available = n(wallet?.balance) -
417
- n(wallet?.reserved) +
500
+ const available = (options.preview && options.availablePoints !== undefined && program.programType === 'loyalty'
501
+ ? options.availablePoints
502
+ : n(wallet?.balance) - n(wallet?.reserved)) +
418
503
  ownReservation +
419
504
  (program.appliesOn === 'future' ? 0 : earned);
505
+ trace(program.programType === 'next_order_coupons' && !wallet ? 'issuance' : 'points', {
506
+ earned: round(earned, 2),
507
+ available: round(available, 6),
508
+ });
420
509
  const rewards = [];
421
510
  for (const reward of rewardsByProgram.get(String(program.id)) ?? []) {
422
- const quote = await rewardQuote(ctx, program, reward, snapshot, available, cache, rewardProducts.get(String(reward.id)) ?? new Set(), options.requestedPointsByProgram?.[String(program.id)] ?? options.requestedPoints);
511
+ let quote = await rewardQuote(ctx, program, reward, snapshot, available, cache, rewardProducts.get(String(reward.id)) ?? new Set(), options.requestedPointsByProgram?.[String(program.id)] ?? options.requestedPoints);
512
+ if (quote && membershipConfig && program.programType === 'loyalty') {
513
+ const step = n(membershipConfig?.minimumRedeemStep);
514
+ if (step > 0 &&
515
+ Math.abs(quote.requiredPoints / step - Math.round(quote.requiredPoints / step)) > 0.000001)
516
+ quote = null;
517
+ }
423
518
  if (quote)
424
519
  rewards.push(quote);
520
+ trace(quote
521
+ ? 'rewardAvailable'
522
+ : reward.rewardType === 'product' && available >= n(reward.requiredPoints)
523
+ ? 'stock'
524
+ : 'rewardUnavailable', {
525
+ rewardId: reward.id,
526
+ description: reward.description,
527
+ requiredPoints: reward.requiredPoints,
528
+ discountAmount: quote?.discountAmount ?? '0',
529
+ productId: quote?.productId,
530
+ productQuantity: quote?.productQuantity,
531
+ });
425
532
  }
426
533
  if (!earned && !splitPoints.length && !rewards.length && !wallet)
427
534
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/index.ts"],"names":[],"mappings":";;AAgCA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/index.ts"],"names":[],"mappings":";;AAiCA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,OAAO,EACP,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { defineModule } from '@ketvietlab/ketjs';
2
- import { adminFunctions } from './admin-functions.js';
2
+ import { guardedAdminFunctions, programDesignFunctions } from './program-design.js';
3
3
  import { jobs, maintenanceFunctions } from './jobs.js';
4
4
  import { membershipFunctions } from './membership-functions.js';
5
5
  import { messages } from './messages.js';
@@ -11,14 +11,15 @@ import { storedValueFunctions } from './stored-value.js';
11
11
  export default defineModule({
12
12
  name: 'loyalty',
13
13
  version: '0.1.0',
14
- depends: ['company', 'partner', 'product', 'pricing'],
14
+ depends: ['company', 'partner', 'product', 'pricing', 'stock'],
15
15
  title: 'Khách hàng thân thiết',
16
16
  summary: 'Chương trình ưu đãi, ví điểm, hạng thành viên và lịch sử bất biến.',
17
17
  category: 'Bán hàng',
18
18
  models,
19
19
  relations,
20
20
  functions: {
21
- ...adminFunctions,
21
+ ...guardedAdminFunctions,
22
+ ...programDesignFunctions,
22
23
  ...orderFunctions,
23
24
  ...membershipFunctions,
24
25
  ...maintenanceFunctions,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACrD,KAAK,EAAE,uBAAuB;IAC9B,OAAO,EAAE,oEAAoE;IAC7E,QAAQ,EAAE,UAAU;IACpB,MAAM;IACN,SAAS;IACT,SAAS,EAAE;QACT,GAAG,cAAc;QACjB,GAAG,cAAc;QACjB,GAAG,mBAAmB;QACtB,GAAG,oBAAoB;QACvB,GAAG,cAAc;QACjB,GAAG,oBAAoB;KACxB;IACD,IAAI;IACJ,QAAQ;CACT,CAAC,CAAA;AAEF,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;IAC9D,KAAK,EAAE,uBAAuB;IAC9B,OAAO,EAAE,oEAAoE;IAC7E,QAAQ,EAAE,UAAU;IACpB,MAAM;IACN,SAAS;IACT,SAAS,EAAE;QACT,GAAG,qBAAqB;QACxB,GAAG,sBAAsB;QACzB,GAAG,cAAc;QACjB,GAAG,mBAAmB;QACtB,GAAG,oBAAoB;QACvB,GAAG,cAAc;QACjB,GAAG,oBAAoB;KACxB;IACD,IAAI;IACJ,QAAQ;CACT,CAAC,CAAA;AAEF,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAc,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAKpE,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAoExC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmCvD,CAAA"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAc,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAKpE,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmExC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmCvD,CAAA"}
@@ -53,7 +53,6 @@ export const jobs = {
53
53
  input: { partnerId: 'id?', at: 'datetime?' },
54
54
  effects: [
55
55
  'read:partner.Partner',
56
- 'read:loyalty.MembershipConfig',
57
56
  'read:loyalty.SpendEntry',
58
57
  'read:loyalty.Tier',
59
58
  'read:loyalty.Wallet',
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/loyalty/jobs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import type { Ctx, FnSpec, Row } from '@ketvietlab/ketjs';
2
+ export declare const membershipPosition: (ctx: Ctx, partnerId: string, at?: string) => Promise<{
3
+ months: number;
4
+ spending: number;
5
+ tier: Row | null;
6
+ } | null>;
2
7
  export declare const refreshMembershipRow: (ctx: Ctx, partnerId: string, at?: string) => Promise<Row | null>;
3
8
  export declare const membershipFunctions: Record<string, FnSpec>;
4
9
  //# sourceMappingURL=membership-functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"membership-functions.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/membership-functions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAQ,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAS/D,eAAO,MAAM,oBAAoB,QAAe,GAAG,aAAa,MAAM,kBAAe,OAAO,CAAC,GAAG,GAAG,IAAI,CA4CtG,CAAA;AA4BD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+GtD,CAAA"}
1
+ {"version":3,"file":"membership-functions.d.ts","sourceRoot":"","sources":["../../../../../../packages/ketsuite/src/modules/loyalty/membership-functions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAQ,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAa/D,eAAO,MAAM,kBAAkB,QACxB,GAAG,aACG,MAAM,kBAEhB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CA4BvE,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAe,GAAG,aAAa,MAAM,kBAAe,OAAO,CAAC,GAAG,GAAG,IAAI,CA2BtG,CAAA;AA0BD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+GtD,CAAA"}
@@ -1,36 +1,52 @@
1
- import { and, asc, defineFn, desc, eq, from, gt, lte } from '@ketvietlab/ketjs';
1
+ import { and, asc, defineFn, deleteFrom, desc, eq, from, gt, lte } from '@ketvietlab/ketjs';
2
2
  import { decimal, invalid, issue, n, now } from './engine.js';
3
3
  const cutoffFor = (date, months) => {
4
4
  const cutoff = new Date(date);
5
+ const day = cutoff.getUTCDate();
6
+ cutoff.setUTCDate(1);
5
7
  cutoff.setUTCMonth(cutoff.getUTCMonth() - months);
8
+ const lastDay = new Date(Date.UTC(cutoff.getUTCFullYear(), cutoff.getUTCMonth() + 1, 0)).getUTCDate();
9
+ cutoff.setUTCDate(Math.min(day, lastDay));
6
10
  return cutoff.getTime();
7
11
  };
8
- export const refreshMembershipRow = async (ctx, partnerId, at = now()) => {
9
- const config = (await ctx.db.select('loyalty.MembershipConfig'))[0];
10
- if (!config)
12
+ export const membershipPosition = async (ctx, partnerId, at = now()) => {
13
+ const tiers = await ctx.db.select('loyalty.Tier', { active: true });
14
+ if (!tiers.length)
11
15
  return null;
12
- const months = Math.max(1, n(config.windowMonths));
13
- const cutoff = cutoffFor(at, months);
14
- const spending = (await ctx.db.select('loyalty.SpendEntry', { partnerId }))
15
- .filter((entry) => !entry.reversedAt &&
16
- new Date(String(entry.occurredAt)).getTime() >= cutoff &&
17
- new Date(String(entry.occurredAt)).getTime() <= new Date(at).getTime())
18
- .reduce((sum, entry) => sum + n(entry.amount), 0);
19
- const tiers = (await ctx.db.select('loyalty.Tier', { active: true }))
20
- .filter((tier) => n(tier.minimumSpend) <= spending + 0.000001)
21
- .sort((a, b) => n(b.minimumSpend) - n(a.minimumSpend) ||
22
- n(a.sequence) - n(b.sequence) ||
23
- String(a.id).localeCompare(String(b.id)));
24
- const wallets = await ctx.db.select('loyalty.Wallet', {
25
- partnerId,
26
- programId: config.programId,
27
- active: true,
16
+ const atTime = new Date(at).getTime();
17
+ const entries = (await ctx.db.select('loyalty.SpendEntry', { partnerId })).filter((entry) => !entry.reversedAt && new Date(String(entry.occurredAt)).getTime() <= atTime);
18
+ const positions = tiers.map((tier) => {
19
+ const months = Math.max(1, n(tier.windowMonths ?? 12));
20
+ const cutoff = cutoffFor(at, months);
21
+ const spending = entries
22
+ .filter((entry) => new Date(String(entry.occurredAt)).getTime() >= cutoff)
23
+ .reduce((sum, entry) => sum + n(entry.amount), 0);
24
+ return { months, spending, tier };
28
25
  });
26
+ const qualified = positions
27
+ .filter((position) => n(position.tier.minimumSpend) <= position.spending + 0.000001)
28
+ .sort((a, b) => n(b.tier.sequence) - n(a.tier.sequence) ||
29
+ n(b.tier.minimumSpend) - n(a.tier.minimumSpend) ||
30
+ String(a.tier.id).localeCompare(String(b.tier.id)));
31
+ if (qualified[0])
32
+ return qualified[0];
33
+ const baseline = positions.sort((a, b) => n(a.tier.sequence) - n(b.tier.sequence) || String(a.tier.id).localeCompare(String(b.tier.id)))[0];
34
+ return { months: baseline.months, spending: baseline.spending, tier: null };
35
+ };
36
+ export const refreshMembershipRow = async (ctx, partnerId, at = now()) => {
37
+ const position = await membershipPosition(ctx, partnerId, at);
38
+ if (!position) {
39
+ const Membership = ctx.table('loyalty.Membership');
40
+ await ctx.db.del(deleteFrom(Membership).where(eq(Membership.partnerId, partnerId)));
41
+ return null;
42
+ }
43
+ const { months, spending, tier } = position;
44
+ const wallets = await ctx.db.select('loyalty.Wallet', { partnerId, active: true, unit: 'points' });
29
45
  const points = wallets.reduce((sum, wallet) => sum + n(wallet.balance), 0);
30
46
  const existing = (await ctx.db.select('loyalty.Membership', { partnerId }))[0];
31
47
  const values = {
32
48
  partnerId,
33
- tierId: tiers[0]?.id ?? null,
49
+ tierId: tier?.id ?? null,
34
50
  rollingSpend: decimal(spending),
35
51
  points: decimal(points),
36
52
  windowMonths: months,
@@ -56,7 +72,6 @@ const summaryOf = async (ctx, membership) => {
56
72
  tierCode: tier ? String(tier.code) : null,
57
73
  tierName: tier ? String(tier.name) : null,
58
74
  rollingSpend: n(membership.rollingSpend),
59
- redeemPercent: n(tier?.redeemPercent),
60
75
  points: n(membership.points),
61
76
  windowMonths: n(membership.windowMonths),
62
77
  refreshedAt: String(membership.refreshedAt),
@@ -64,7 +79,6 @@ const summaryOf = async (ctx, membership) => {
64
79
  };
65
80
  const membershipEffects = [
66
81
  'read:partner.Partner',
67
- 'read:loyalty.MembershipConfig',
68
82
  'read:loyalty.SpendEntry',
69
83
  'read:loyalty.Tier',
70
84
  'read:loyalty.Wallet',