@classytic/commerce-sdk 0.1.2 → 0.2.1

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 (438) hide show
  1. package/README.md +277 -146
  2. package/dist/accounting/api/account.d.ts +49 -0
  3. package/dist/accounting/api/account.js +45 -0
  4. package/dist/accounting/api/budget.d.ts +76 -0
  5. package/dist/accounting/api/budget.js +82 -0
  6. package/dist/accounting/api/constants.d.ts +58 -0
  7. package/dist/accounting/api/constants.js +79 -0
  8. package/dist/accounting/api/fiscal-period.d.ts +31 -0
  9. package/dist/accounting/api/fiscal-period.js +30 -0
  10. package/dist/accounting/api/index.d.ts +7 -0
  11. package/dist/accounting/api/journal-entry.d.ts +66 -0
  12. package/dist/accounting/api/journal-entry.js +72 -0
  13. package/dist/accounting/api/posting.d.ts +55 -0
  14. package/dist/accounting/api/posting.js +70 -0
  15. package/dist/accounting/api/reports.d.ts +63 -0
  16. package/dist/accounting/api/reports.js +81 -0
  17. package/dist/accounting/hooks/account.d.ts +29 -0
  18. package/dist/accounting/hooks/account.js +102 -0
  19. package/dist/accounting/hooks/budget.d.ts +39 -0
  20. package/dist/accounting/hooks/budget.js +106 -0
  21. package/dist/accounting/hooks/fiscal-period.d.ts +22 -0
  22. package/dist/accounting/hooks/fiscal-period.js +52 -0
  23. package/dist/accounting/hooks/index.d.ts +6 -0
  24. package/dist/accounting/hooks/journal-entry.d.ts +37 -0
  25. package/dist/accounting/hooks/journal-entry.js +89 -0
  26. package/dist/accounting/hooks/posting.d.ts +128 -0
  27. package/dist/accounting/hooks/posting.js +119 -0
  28. package/dist/accounting/hooks/reports.d.ts +32 -0
  29. package/dist/accounting/hooks/reports.js +131 -0
  30. package/dist/accounting/index.d.ts +15 -0
  31. package/dist/accounting/index.js +15 -0
  32. package/dist/accounting/types/index.d.ts +375 -0
  33. package/dist/analytics/api/analytics.d.ts +16 -0
  34. package/dist/analytics/api/analytics.js +27 -0
  35. package/dist/analytics/api/index.d.ts +1 -0
  36. package/dist/analytics/hooks/analytics.d.ts +12 -0
  37. package/dist/analytics/hooks/analytics.js +33 -0
  38. package/dist/analytics/hooks/index.d.ts +1 -0
  39. package/dist/analytics/index.d.ts +4 -27
  40. package/dist/analytics/index.js +4 -6
  41. package/dist/analytics/types.d.ts +46 -0
  42. package/dist/audit/api/audit.d.ts +17 -0
  43. package/dist/audit/api/audit.js +21 -0
  44. package/dist/audit/hooks/audit.d.ts +17 -0
  45. package/dist/audit/hooks/audit.js +38 -0
  46. package/dist/audit/index.d.ts +4 -0
  47. package/dist/audit/index.js +4 -0
  48. package/dist/audit/types/index.d.ts +32 -0
  49. package/dist/auth/api/user-data.d.ts +30 -0
  50. package/dist/auth/api/user-data.js +70 -0
  51. package/dist/auth/hooks/user-search.d.ts +32 -0
  52. package/dist/auth/hooks/user-search.js +51 -0
  53. package/dist/auth/index.d.ts +4 -39
  54. package/dist/auth/index.js +5 -5
  55. package/dist/auth/types.d.ts +46 -0
  56. package/dist/auth/types.js +27 -0
  57. package/dist/catalog/api/category.d.ts +97 -0
  58. package/dist/catalog/api/category.js +109 -0
  59. package/dist/catalog/api/index.d.ts +4 -0
  60. package/dist/catalog/api/product.d.ts +136 -0
  61. package/dist/catalog/api/product.js +142 -0
  62. package/dist/catalog/api/review.d.ts +32 -0
  63. package/dist/catalog/api/review.js +41 -0
  64. package/dist/catalog/api/size-guide.d.ts +46 -0
  65. package/dist/catalog/api/size-guide.js +58 -0
  66. package/dist/catalog/hooks/category.d.ts +201 -0
  67. package/dist/catalog/hooks/category.js +295 -0
  68. package/dist/catalog/hooks/index.d.ts +4 -0
  69. package/dist/catalog/hooks/product.d.ts +165 -0
  70. package/dist/catalog/hooks/product.js +267 -0
  71. package/dist/catalog/hooks/review.d.ts +18 -0
  72. package/dist/catalog/hooks/review.js +38 -0
  73. package/dist/catalog/hooks/size-guide.d.ts +136 -0
  74. package/dist/catalog/hooks/size-guide.js +173 -0
  75. package/dist/catalog/index.d.ts +13 -571
  76. package/dist/catalog/index.js +10 -9
  77. package/dist/catalog/prefetch.d.ts +29 -0
  78. package/dist/catalog/prefetch.js +32 -0
  79. package/dist/catalog/types/category.d.ts +168 -0
  80. package/dist/catalog/types/index.d.ts +4 -0
  81. package/dist/catalog/types/product.d.ts +261 -0
  82. package/dist/catalog/types/review.d.ts +48 -0
  83. package/dist/catalog/types/size-guide.d.ts +118 -0
  84. package/dist/client.d.ts +138 -0
  85. package/dist/client.js +129 -0
  86. package/dist/content/api/cms.d.ts +27 -0
  87. package/dist/content/api/cms.js +43 -0
  88. package/dist/content/api/index.d.ts +2 -0
  89. package/dist/content/api/media.d.ts +74 -0
  90. package/dist/content/api/media.js +77 -0
  91. package/dist/content/hooks/cms.d.ts +31 -0
  92. package/dist/content/hooks/cms.js +62 -0
  93. package/dist/content/hooks/index.d.ts +2 -0
  94. package/dist/content/hooks/media.d.ts +74 -0
  95. package/dist/content/hooks/media.js +153 -0
  96. package/dist/content/index.d.ts +7 -309
  97. package/dist/content/index.js +6 -6
  98. package/dist/content/types/cms.d.ts +390 -0
  99. package/dist/content/types/media.d.ts +110 -0
  100. package/dist/core/api-factory.d.ts +17 -0
  101. package/dist/core/api-factory.js +39 -0
  102. package/dist/core/api-handler.d.ts +53 -0
  103. package/dist/core/api-handler.js +89 -0
  104. package/dist/core/index.d.ts +4 -166
  105. package/dist/core/index.js +4 -5
  106. package/dist/core/prefetch.d.ts +2 -0
  107. package/dist/core/prefetch.js +3 -0
  108. package/dist/core/react/crud.factory.d.ts +3 -0
  109. package/dist/core/react/crud.factory.js +5 -0
  110. package/dist/core/react/index.d.ts +4 -0
  111. package/dist/core/react/index.js +7 -0
  112. package/dist/core/react/mutation.factory.d.ts +9 -0
  113. package/dist/core/react/mutation.factory.js +21 -0
  114. package/dist/core/react/query.factory.d.ts +12 -0
  115. package/dist/core/react/query.factory.js +5 -0
  116. package/dist/core/server-context.d.ts +6 -0
  117. package/dist/core/server-context.js +12 -0
  118. package/dist/core/types/shared.d.ts +29 -0
  119. package/dist/finance/api/finance.d.ts +22 -0
  120. package/dist/finance/api/finance.js +29 -0
  121. package/dist/finance/api/index.d.ts +1 -0
  122. package/dist/finance/hooks/finance.d.ts +32 -0
  123. package/dist/finance/hooks/finance.js +66 -0
  124. package/dist/finance/hooks/index.d.ts +1 -0
  125. package/dist/finance/index.d.ts +4 -81
  126. package/dist/finance/index.js +4 -5
  127. package/dist/finance/types/finance.d.ts +82 -0
  128. package/dist/index.d.ts +139 -32
  129. package/dist/index.js +113 -29
  130. package/dist/inventory/api/adjustment.d.ts +123 -0
  131. package/dist/inventory/api/adjustment.js +120 -0
  132. package/dist/inventory/api/availability.d.ts +70 -0
  133. package/dist/inventory/api/availability.js +47 -0
  134. package/dist/inventory/api/cost.d.ts +58 -0
  135. package/dist/inventory/api/cost.js +34 -0
  136. package/dist/inventory/api/index.d.ts +18 -0
  137. package/dist/inventory/api/lot.d.ts +82 -0
  138. package/dist/inventory/api/lot.js +46 -0
  139. package/dist/inventory/api/movement.d.ts +71 -0
  140. package/dist/inventory/api/movement.js +75 -0
  141. package/dist/inventory/api/package.d.ts +97 -0
  142. package/dist/inventory/api/package.js +56 -0
  143. package/dist/inventory/api/procurement.d.ts +110 -0
  144. package/dist/inventory/api/procurement.js +59 -0
  145. package/dist/inventory/api/purchase.d.ts +106 -0
  146. package/dist/inventory/api/purchase.js +115 -0
  147. package/dist/inventory/api/replenishment.d.ts +145 -0
  148. package/dist/inventory/api/replenishment.js +63 -0
  149. package/dist/inventory/api/report.d.ts +102 -0
  150. package/dist/inventory/api/report.js +54 -0
  151. package/dist/inventory/api/request.d.ts +157 -0
  152. package/dist/inventory/api/request.js +140 -0
  153. package/dist/inventory/api/reservation.d.ts +77 -0
  154. package/dist/inventory/api/reservation.js +51 -0
  155. package/dist/inventory/api/scan.d.ts +29 -0
  156. package/dist/inventory/api/scan.js +30 -0
  157. package/dist/inventory/api/supplier.d.ts +9 -0
  158. package/dist/inventory/api/supplier.js +24 -0
  159. package/dist/inventory/api/trace.d.ts +71 -0
  160. package/dist/inventory/api/trace.js +39 -0
  161. package/dist/inventory/api/transfer.d.ts +162 -0
  162. package/dist/inventory/api/transfer.js +155 -0
  163. package/dist/inventory/api/warehouse.d.ts +199 -0
  164. package/dist/inventory/api/warehouse.js +155 -0
  165. package/dist/inventory/hooks/adjustment.d.ts +24 -0
  166. package/dist/inventory/hooks/adjustment.js +30 -0
  167. package/dist/inventory/hooks/availability.d.ts +16 -0
  168. package/dist/inventory/hooks/availability.js +35 -0
  169. package/dist/inventory/hooks/cost.d.ts +21 -0
  170. package/dist/inventory/hooks/cost.js +50 -0
  171. package/dist/inventory/hooks/index.d.ts +18 -0
  172. package/dist/inventory/hooks/inventory.d.ts +130 -0
  173. package/dist/inventory/hooks/inventory.js +267 -0
  174. package/dist/inventory/hooks/lot.d.ts +26 -0
  175. package/dist/inventory/hooks/lot.js +67 -0
  176. package/dist/inventory/hooks/movement.d.ts +68 -0
  177. package/dist/inventory/hooks/movement.js +106 -0
  178. package/dist/inventory/hooks/package.d.ts +32 -0
  179. package/dist/inventory/hooks/package.js +80 -0
  180. package/dist/inventory/hooks/procurement.d.ts +28 -0
  181. package/dist/inventory/hooks/procurement.js +87 -0
  182. package/dist/inventory/hooks/purchase.d.ts +63 -0
  183. package/dist/inventory/hooks/purchase.js +119 -0
  184. package/dist/inventory/hooks/replenishment.d.ts +34 -0
  185. package/dist/inventory/hooks/replenishment.js +87 -0
  186. package/dist/inventory/hooks/report.d.ts +37 -0
  187. package/dist/inventory/hooks/report.js +79 -0
  188. package/dist/inventory/hooks/request.d.ts +113 -0
  189. package/dist/inventory/hooks/request.js +218 -0
  190. package/dist/inventory/hooks/reservation.d.ts +25 -0
  191. package/dist/inventory/hooks/reservation.js +56 -0
  192. package/dist/inventory/hooks/scan.d.ts +14 -0
  193. package/dist/inventory/hooks/scan.js +22 -0
  194. package/dist/inventory/hooks/supplier.d.ts +24 -0
  195. package/dist/inventory/hooks/supplier.js +30 -0
  196. package/dist/inventory/hooks/trace.d.ts +19 -0
  197. package/dist/inventory/hooks/trace.js +55 -0
  198. package/dist/inventory/hooks/transfer.d.ts +90 -0
  199. package/dist/inventory/hooks/transfer.js +197 -0
  200. package/dist/inventory/hooks/warehouse.d.ts +87 -0
  201. package/dist/inventory/hooks/warehouse.js +240 -0
  202. package/dist/inventory/index.d.ts +39 -512
  203. package/dist/inventory/index.js +37 -16
  204. package/dist/inventory/types/index.d.ts +3 -0
  205. package/dist/inventory/types/inventory.d.ts +485 -0
  206. package/dist/inventory/types/supplier.d.ts +90 -0
  207. package/dist/inventory/types/warehouse.d.ts +182 -0
  208. package/dist/logistics/api/index.d.ts +1 -0
  209. package/dist/logistics/api/logistics.d.ts +260 -0
  210. package/dist/logistics/api/logistics.js +249 -0
  211. package/dist/logistics/hooks/index.d.ts +1 -0
  212. package/dist/logistics/hooks/logistics.d.ts +252 -0
  213. package/dist/logistics/hooks/logistics.js +370 -0
  214. package/dist/logistics/index.d.ts +4 -248
  215. package/dist/logistics/index.js +4 -7
  216. package/dist/logistics/types/logistics.d.ts +188 -0
  217. package/dist/node_modules/@tanstack/query-core/build/modern/hydration-C-jfQLut.d.ts +270 -0
  218. package/dist/notifications/api/notification.d.ts +15 -0
  219. package/dist/notifications/api/notification.js +43 -0
  220. package/dist/notifications/hooks/notification.d.ts +34 -0
  221. package/dist/notifications/hooks/notification.js +86 -0
  222. package/dist/notifications/hooks/stream.d.ts +22 -0
  223. package/dist/notifications/hooks/stream.js +80 -0
  224. package/dist/notifications/index.d.ts +5 -0
  225. package/dist/notifications/index.js +5 -0
  226. package/dist/notifications/types/index.d.ts +57 -0
  227. package/dist/payments/api/index.d.ts +1 -0
  228. package/dist/payments/api/payment.d.ts +89 -0
  229. package/dist/payments/api/payment.js +93 -0
  230. package/dist/payments/hooks/payment.d.ts +53 -0
  231. package/dist/payments/hooks/payment.js +93 -0
  232. package/dist/payments/index.d.ts +4 -55
  233. package/dist/payments/index.js +4 -6
  234. package/dist/payments/types/payment.d.ts +50 -0
  235. package/dist/permissions/checker.d.ts +125 -0
  236. package/dist/permissions/checker.js +150 -0
  237. package/dist/permissions/index.d.ts +3 -0
  238. package/dist/permissions/index.js +4 -0
  239. package/dist/permissions/roles.d.ts +39 -0
  240. package/dist/permissions/roles.js +66 -0
  241. package/dist/platform/api/branch.d.ts +57 -0
  242. package/dist/platform/api/branch.js +73 -0
  243. package/dist/platform/api/config.d.ts +67 -0
  244. package/dist/platform/api/config.js +83 -0
  245. package/dist/platform/api/features.d.ts +15 -0
  246. package/dist/platform/api/features.js +20 -0
  247. package/dist/platform/api/index.d.ts +6 -0
  248. package/dist/platform/api/promo.d.ts +286 -0
  249. package/dist/platform/api/promo.js +276 -0
  250. package/dist/platform/api/user.d.ts +10 -0
  251. package/dist/platform/api/user.js +29 -0
  252. package/dist/platform/api/webhook.d.ts +102 -0
  253. package/dist/platform/api/webhook.js +124 -0
  254. package/dist/platform/hooks/branch.d.ts +24 -0
  255. package/dist/platform/hooks/branch.js +31 -0
  256. package/dist/platform/hooks/config.d.ts +61 -0
  257. package/dist/platform/hooks/config.js +100 -0
  258. package/dist/platform/hooks/features.d.ts +22 -0
  259. package/dist/platform/hooks/features.js +75 -0
  260. package/dist/platform/hooks/index.d.ts +6 -0
  261. package/dist/platform/hooks/promo.d.ts +218 -0
  262. package/dist/platform/hooks/promo.js +451 -0
  263. package/dist/platform/hooks/user.d.ts +24 -0
  264. package/dist/platform/hooks/user.js +30 -0
  265. package/dist/platform/index.d.ts +18 -645
  266. package/dist/platform/index.js +14 -8
  267. package/dist/platform/prefetch.d.ts +9 -0
  268. package/dist/platform/prefetch.js +11 -0
  269. package/dist/platform/types/branch.d.ts +110 -0
  270. package/dist/platform/types/branch.js +16 -0
  271. package/dist/platform/types/config.d.ts +137 -0
  272. package/dist/platform/types/features.d.ts +46 -0
  273. package/dist/platform/types/promo.d.ts +260 -0
  274. package/dist/platform/types/user.d.ts +72 -0
  275. package/dist/platform/types/webhook.d.ts +165 -0
  276. package/dist/sales/api/cart.d.ts +34 -0
  277. package/dist/sales/api/cart.js +38 -0
  278. package/dist/sales/api/customer.d.ts +40 -0
  279. package/dist/sales/api/customer.js +52 -0
  280. package/dist/sales/api/earning-rules.d.ts +54 -0
  281. package/dist/sales/api/earning-rules.js +56 -0
  282. package/dist/sales/api/index.d.ts +9 -0
  283. package/dist/sales/api/loyalty.d.ts +54 -0
  284. package/dist/sales/api/loyalty.js +57 -0
  285. package/dist/sales/api/order.d.ts +147 -0
  286. package/dist/sales/api/order.js +69 -0
  287. package/dist/sales/api/pos.d.ts +81 -0
  288. package/dist/sales/api/pos.js +95 -0
  289. package/dist/sales/api/referrals.d.ts +63 -0
  290. package/dist/sales/api/referrals.js +62 -0
  291. package/dist/sales/api/tiers.d.ts +66 -0
  292. package/dist/sales/api/tiers.js +59 -0
  293. package/dist/sales/hooks/cart.d.ts +50 -0
  294. package/dist/sales/hooks/cart.js +161 -0
  295. package/dist/sales/hooks/customer.d.ts +100 -0
  296. package/dist/sales/hooks/customer.js +130 -0
  297. package/dist/sales/hooks/earning-rules.d.ts +31 -0
  298. package/dist/sales/hooks/earning-rules.js +112 -0
  299. package/dist/sales/hooks/index.d.ts +8 -0
  300. package/dist/sales/hooks/loyalty.d.ts +51 -0
  301. package/dist/sales/hooks/loyalty.js +122 -0
  302. package/dist/sales/hooks/order.d.ts +219 -0
  303. package/dist/sales/hooks/order.js +401 -0
  304. package/dist/sales/hooks/pos.d.ts +87 -0
  305. package/dist/sales/hooks/pos.js +222 -0
  306. package/dist/sales/hooks/referrals.d.ts +34 -0
  307. package/dist/sales/hooks/referrals.js +132 -0
  308. package/dist/sales/hooks/tiers.d.ts +32 -0
  309. package/dist/sales/hooks/tiers.js +144 -0
  310. package/dist/sales/index.d.ts +25 -620
  311. package/dist/sales/index.js +19 -9
  312. package/dist/sales/prefetch.d.ts +10 -0
  313. package/dist/sales/prefetch.js +13 -0
  314. package/dist/sales/types/cart.d.ts +123 -0
  315. package/dist/sales/types/customer.d.ts +119 -0
  316. package/dist/sales/types/earning-rules.d.ts +75 -0
  317. package/dist/sales/types/index.d.ts +8 -0
  318. package/dist/sales/types/loyalty.d.ts +120 -0
  319. package/dist/sales/types/order.d.ts +487 -0
  320. package/dist/sales/types/order.js +22 -0
  321. package/dist/sales/types/pos.d.ts +227 -0
  322. package/dist/sales/types/referrals.d.ts +51 -0
  323. package/dist/sales/types/tiers.d.ts +56 -0
  324. package/dist/server.d.ts +41 -23
  325. package/dist/server.js +41 -36
  326. package/dist/transaction/api/index.d.ts +1 -0
  327. package/dist/transaction/api/transaction.d.ts +63 -0
  328. package/dist/transaction/api/transaction.js +84 -0
  329. package/dist/transaction/hooks/index.d.ts +1 -0
  330. package/dist/transaction/hooks/transaction.d.ts +106 -0
  331. package/dist/transaction/hooks/transaction.js +156 -0
  332. package/dist/transaction/index.d.ts +4 -104
  333. package/dist/transaction/index.js +5 -8
  334. package/dist/transaction/types/transaction.d.ts +440 -0
  335. package/dist/transaction/types/transaction.js +86 -0
  336. package/package.json +36 -25
  337. package/dist/adjustment-MNH3AT6S.js +0 -5
  338. package/dist/adjustment-MNH3AT6S.js.map +0 -1
  339. package/dist/analytics/index.js.map +0 -1
  340. package/dist/analytics-DMcD-o8w.d.ts +0 -76
  341. package/dist/api-factory-B_h4RKBm.d.ts +0 -280
  342. package/dist/auth/index.js.map +0 -1
  343. package/dist/catalog/index.js.map +0 -1
  344. package/dist/chunk-24FDD6UR.js +0 -75
  345. package/dist/chunk-24FDD6UR.js.map +0 -1
  346. package/dist/chunk-2TF7QNYV.js +0 -159
  347. package/dist/chunk-2TF7QNYV.js.map +0 -1
  348. package/dist/chunk-2YAZ5WG6.js +0 -479
  349. package/dist/chunk-2YAZ5WG6.js.map +0 -1
  350. package/dist/chunk-36NLLAVH.js +0 -177
  351. package/dist/chunk-36NLLAVH.js.map +0 -1
  352. package/dist/chunk-3OYSJB3P.js +0 -126
  353. package/dist/chunk-3OYSJB3P.js.map +0 -1
  354. package/dist/chunk-4IYW6RF3.js +0 -862
  355. package/dist/chunk-4IYW6RF3.js.map +0 -1
  356. package/dist/chunk-5E57JODA.js +0 -135
  357. package/dist/chunk-5E57JODA.js.map +0 -1
  358. package/dist/chunk-7LZCW4VF.js +0 -13
  359. package/dist/chunk-7LZCW4VF.js.map +0 -1
  360. package/dist/chunk-AQAISI4F.js +0 -183
  361. package/dist/chunk-AQAISI4F.js.map +0 -1
  362. package/dist/chunk-B6MPVOV7.js +0 -328
  363. package/dist/chunk-B6MPVOV7.js.map +0 -1
  364. package/dist/chunk-CILP56G2.js +0 -94
  365. package/dist/chunk-CILP56G2.js.map +0 -1
  366. package/dist/chunk-ERQ52WHY.js +0 -534
  367. package/dist/chunk-ERQ52WHY.js.map +0 -1
  368. package/dist/chunk-FOTUJPM4.js +0 -640
  369. package/dist/chunk-FOTUJPM4.js.map +0 -1
  370. package/dist/chunk-IHCBBLLW.js +0 -198
  371. package/dist/chunk-IHCBBLLW.js.map +0 -1
  372. package/dist/chunk-L4OEI4VZ.js +0 -123
  373. package/dist/chunk-L4OEI4VZ.js.map +0 -1
  374. package/dist/chunk-LRV7MWWX.js +0 -616
  375. package/dist/chunk-LRV7MWWX.js.map +0 -1
  376. package/dist/chunk-M3B4DFTT.js +0 -76
  377. package/dist/chunk-M3B4DFTT.js.map +0 -1
  378. package/dist/chunk-N43VE355.js +0 -126
  379. package/dist/chunk-N43VE355.js.map +0 -1
  380. package/dist/chunk-PYYLHUV6.js +0 -3
  381. package/dist/chunk-PYYLHUV6.js.map +0 -1
  382. package/dist/chunk-QCTXAMLA.js +0 -261
  383. package/dist/chunk-QCTXAMLA.js.map +0 -1
  384. package/dist/chunk-RIKAPJNG.js +0 -40
  385. package/dist/chunk-RIKAPJNG.js.map +0 -1
  386. package/dist/chunk-U3XT35GZ.js +0 -202
  387. package/dist/chunk-U3XT35GZ.js.map +0 -1
  388. package/dist/chunk-W22WB3WZ.js +0 -148
  389. package/dist/chunk-W22WB3WZ.js.map +0 -1
  390. package/dist/chunk-WTIJMKML.js +0 -27
  391. package/dist/chunk-WTIJMKML.js.map +0 -1
  392. package/dist/chunk-X2CQFJPR.js +0 -75
  393. package/dist/chunk-X2CQFJPR.js.map +0 -1
  394. package/dist/chunk-YYFKLOKO.js +0 -769
  395. package/dist/chunk-YYFKLOKO.js.map +0 -1
  396. package/dist/client-BPG8fbae.d.ts +0 -113
  397. package/dist/content/index.js.map +0 -1
  398. package/dist/core/index.js.map +0 -1
  399. package/dist/core/react.d.ts +0 -107
  400. package/dist/core/react.js +0 -5
  401. package/dist/core/react.js.map +0 -1
  402. package/dist/coupon-BZSZ0y3n.d.ts +0 -129
  403. package/dist/coupon-CDzL4bJG.d.ts +0 -655
  404. package/dist/crud.factory-DyKaPHcU.d.ts +0 -181
  405. package/dist/finance/index.js.map +0 -1
  406. package/dist/finance-BJdfKRw0.d.ts +0 -135
  407. package/dist/index.js.map +0 -1
  408. package/dist/inventory/index.js.map +0 -1
  409. package/dist/inventory-B5pssqRx.d.ts +0 -748
  410. package/dist/logistics/index.js.map +0 -1
  411. package/dist/logistics-REVDorcc.d.ts +0 -410
  412. package/dist/media-CNLJK93J.d.ts +0 -721
  413. package/dist/movement-R3CERFAM.js +0 -5
  414. package/dist/movement-R3CERFAM.js.map +0 -1
  415. package/dist/order-BfdPxZiA.d.ts +0 -412
  416. package/dist/payment-BRboLqvU.d.ts +0 -127
  417. package/dist/payments/index.js.map +0 -1
  418. package/dist/platform/index.js.map +0 -1
  419. package/dist/pos-C-sBzevg.d.ts +0 -538
  420. package/dist/product-p09zXkXB.d.ts +0 -260
  421. package/dist/purchase-54PER2PY.js +0 -5
  422. package/dist/purchase-54PER2PY.js.map +0 -1
  423. package/dist/request-MP6NV5ZE.js +0 -5
  424. package/dist/request-MP6NV5ZE.js.map +0 -1
  425. package/dist/sales/index.js.map +0 -1
  426. package/dist/server.js.map +0 -1
  427. package/dist/size-guide-DgjzjM5P.d.ts +0 -554
  428. package/dist/stock-2LP4HJSB.js +0 -5
  429. package/dist/stock-2LP4HJSB.js.map +0 -1
  430. package/dist/stock-CfrU5_Wr.d.ts +0 -632
  431. package/dist/supplier-BWJTRZ5Z.js +0 -5
  432. package/dist/supplier-BWJTRZ5Z.js.map +0 -1
  433. package/dist/transaction/index.js.map +0 -1
  434. package/dist/transaction-Bf6WjYCh.d.ts +0 -84
  435. package/dist/transaction-dL3WW-er.d.ts +0 -442
  436. package/dist/transfer-4XSS6HWT.js +0 -5
  437. package/dist/transfer-4XSS6HWT.js.map +0 -1
  438. package/dist/user-data-DdLjAGwO.d.ts +0 -132
@@ -1,862 +0,0 @@
1
- import { posApi } from './chunk-CILP56G2.js';
2
- import { BaseApi } from './chunk-QCTXAMLA.js';
3
- import { createQueryKeys, createCrudHooks } from './chunk-B6MPVOV7.js';
4
- import { getToastHandler } from './chunk-U3XT35GZ.js';
5
- import { handleApiRequest } from './chunk-IHCBBLLW.js';
6
- import { useQueryClient, useQuery, useMutation } from '@tanstack/react-query';
7
-
8
- // src/sales/types/order.ts
9
- var OrderStatus = /* @__PURE__ */ ((OrderStatus2) => {
10
- OrderStatus2["PENDING"] = "pending";
11
- OrderStatus2["PROCESSING"] = "processing";
12
- OrderStatus2["CONFIRMED"] = "confirmed";
13
- OrderStatus2["SHIPPED"] = "shipped";
14
- OrderStatus2["DELIVERED"] = "delivered";
15
- OrderStatus2["CANCELLED"] = "cancelled";
16
- return OrderStatus2;
17
- })(OrderStatus || {});
18
- var PaymentStatus = /* @__PURE__ */ ((PaymentStatus2) => {
19
- PaymentStatus2["PENDING"] = "pending";
20
- PaymentStatus2["VERIFIED"] = "verified";
21
- PaymentStatus2["FAILED"] = "failed";
22
- PaymentStatus2["REFUNDED"] = "refunded";
23
- PaymentStatus2["PARTIALLY_REFUNDED"] = "partially_refunded";
24
- PaymentStatus2["CANCELLED"] = "cancelled";
25
- return PaymentStatus2;
26
- })(PaymentStatus || {});
27
-
28
- // src/sales/api/cart.ts
29
- var ENDPOINT = "/api/v1/cart";
30
- var cartApi = {
31
- /**
32
- * Get current user's cart
33
- * GET /api/v1/cart
34
- *
35
- * Auto-creates cart if it doesn't exist for the user.
36
- * Returns cart with fully populated product details.
37
- *
38
- * @param token - User authentication token
39
- * @returns Cart with items array
40
- */
41
- getCart: async (token) => {
42
- const response = await handleApiRequest("GET", ENDPOINT, { token });
43
- return response.data;
44
- },
45
- /**
46
- * Add item to cart
47
- * POST /api/v1/cart/items
48
- *
49
- * @param token - User authentication token
50
- * @param data - Product ID, quantity, and optional variant SKU
51
- * @returns Updated cart
52
- */
53
- addToCart: async (token, data) => {
54
- const response = await handleApiRequest("POST", `${ENDPOINT}/items`, {
55
- token,
56
- body: data
57
- });
58
- return response.data;
59
- },
60
- /**
61
- * Update cart item quantity
62
- * PATCH /api/v1/cart/items/:itemId
63
- *
64
- * @param token - User authentication token
65
- * @param itemId - Cart item ID (from cart.items[]._id)
66
- * @param quantity - New quantity (minimum: 1)
67
- * @returns Updated cart
68
- */
69
- updateCartItem: async (token, itemId, quantity) => {
70
- const response = await handleApiRequest("PATCH", `${ENDPOINT}/items/${itemId}`, {
71
- token,
72
- body: { quantity }
73
- });
74
- return response.data;
75
- },
76
- /**
77
- * Remove item from cart
78
- * DELETE /api/v1/cart/items/:itemId
79
- *
80
- * @param token - User authentication token
81
- * @param itemId - Cart item ID (from cart.items[]._id)
82
- * @returns Updated cart
83
- */
84
- removeCartItem: async (token, itemId) => {
85
- const response = await handleApiRequest("DELETE", `${ENDPOINT}/items/${itemId}`, {
86
- token
87
- });
88
- return response.data;
89
- },
90
- /**
91
- * Clear all items from cart
92
- * DELETE /api/v1/cart
93
- *
94
- * @param token - User authentication token
95
- * @returns Empty cart
96
- */
97
- clearCart: async (token) => {
98
- const response = await handleApiRequest("DELETE", ENDPOINT, { token });
99
- return response.data;
100
- }
101
- };
102
-
103
- // src/sales/api/order.ts
104
- var OrderApi = class extends BaseApi {
105
- constructor() {
106
- super(...arguments);
107
- // ============ Customer ============
108
- /**
109
- * Checkout - create order from cart
110
- * POST /api/v1/orders
111
- */
112
- this.checkout = ({ token, organizationId, data }) => this.create({ token, organizationId, data });
113
- /**
114
- * Guest checkout - create order without authentication
115
- * POST /api/v1/orders/guest
116
- *
117
- * Items are sent in the request body (from FE localStorage).
118
- * Guest identity is provided via { name, phone, email }.
119
- */
120
- this.guestCheckout = ({ data, organizationId }) => this.request("POST", `${this.baseUrl}/guest`, {
121
- organizationId,
122
- data
123
- });
124
- /** Get my orders */
125
- this.getMyOrders = ({ token, params = {} }) => this.request("GET", `${this.baseUrl}/my`, { token, params });
126
- /** Get my order detail */
127
- this.getMyOrder = ({ token, id }) => this.request("GET", `${this.baseUrl}/my/${id}`, { token });
128
- /** Cancel order */
129
- this.cancel = ({ token, id, reason, refund = false }) => this.request("POST", `${this.baseUrl}/${id}/cancel`, {
130
- token,
131
- data: { reason, refund }
132
- });
133
- /** Request cancellation (awaits admin review) */
134
- this.requestCancellation = ({ token, id, reason }) => this.request("POST", `${this.baseUrl}/${id}/cancel-request`, {
135
- token,
136
- data: { reason }
137
- });
138
- // ============ Admin ============
139
- /** Update order status */
140
- this.updateStatus = ({ token, organizationId, id, data }) => this.request("PATCH", `${this.baseUrl}/${id}/status`, {
141
- token,
142
- organizationId,
143
- data
144
- });
145
- /**
146
- * Fulfill order (ship)
147
- * - Decrements inventory from branch
148
- * - recordCogs: true -> also creates COGS expense transaction
149
- */
150
- this.fulfill = ({ token, organizationId, id, data = {} }) => this.request("POST", `${this.baseUrl}/${id}/fulfill`, {
151
- token,
152
- organizationId,
153
- data
154
- });
155
- /** Refund order */
156
- this.refund = ({ token, organizationId, id, data = {} }) => this.request("POST", `${this.baseUrl}/${id}/refund`, {
157
- token,
158
- organizationId,
159
- data
160
- });
161
- // ============ Shipping ============
162
- /** Get shipping info */
163
- this.getShipping = ({ token, id }) => this.request("GET", `${this.baseUrl}/${id}/shipping`, { token });
164
- /** Request shipping pickup */
165
- this.requestShipping = ({ token, organizationId, id, data }) => this.request("POST", `${this.baseUrl}/${id}/shipping`, {
166
- token,
167
- organizationId,
168
- data
169
- });
170
- /** Update shipping status */
171
- this.updateShipping = ({ token, organizationId, id, data }) => this.request("PATCH", `${this.baseUrl}/${id}/shipping`, {
172
- token,
173
- organizationId,
174
- data
175
- });
176
- }
177
- };
178
- var orderApi = new OrderApi("orders");
179
- var order_default = orderApi;
180
-
181
- // src/sales/api/customer.ts
182
- var CustomerApi = class extends BaseApi {
183
- constructor(config = {}) {
184
- super("customers", config);
185
- }
186
- /**
187
- * Get current user's customer profile
188
- * GET /customers/me
189
- */
190
- async getMe({
191
- token,
192
- options = {}
193
- }) {
194
- if (!token) {
195
- throw new Error("Authentication required");
196
- }
197
- return handleApiRequest("GET", `${this.baseUrl}/me`, {
198
- token,
199
- cache: this.config.cache,
200
- ...options
201
- });
202
- }
203
- /**
204
- * Membership actions
205
- * POST /customers/:id/membership
206
- */
207
- async membershipAction({
208
- token,
209
- id,
210
- data
211
- }) {
212
- if (!token) {
213
- throw new Error("Authentication required");
214
- }
215
- return handleApiRequest("POST", `${this.baseUrl}/${id}/membership`, {
216
- token,
217
- body: data,
218
- cache: this.config.cache
219
- });
220
- }
221
- };
222
- var customerApi = new CustomerApi();
223
- var CART_KEYS = createQueryKeys("cart");
224
- function calculateItemPrice(item) {
225
- if (!item?.product) return 0;
226
- const product = item.product;
227
- const basePrice = product.currentPrice ?? product.basePrice ?? 0;
228
- if (item.variantSku && product.variants && product.variants.length > 0) {
229
- const variant = product.variants.find((v) => v.sku === item.variantSku);
230
- if (variant) {
231
- return basePrice + (variant.priceModifier || 0);
232
- }
233
- }
234
- return basePrice;
235
- }
236
- function calculateItemTotal(item) {
237
- return calculateItemPrice(item) * (item.quantity || 1);
238
- }
239
- function calculateCartSubtotal(items) {
240
- return items?.reduce((total, item) => total + calculateItemTotal(item), 0) || 0;
241
- }
242
- function getCartItemCount(items) {
243
- return items?.reduce((count, item) => count + (item.quantity || 0), 0) || 0;
244
- }
245
- function getCartItemVariant(item) {
246
- if (!item?.variantSku || !item?.product?.variants) return null;
247
- return item.product.variants.find((v) => v.sku === item.variantSku) || null;
248
- }
249
- function formatVariantAttributes(attributes) {
250
- if (!attributes || Object.keys(attributes).length === 0) return "";
251
- return Object.entries(attributes).map(([key, value]) => `${key.charAt(0).toUpperCase() + key.slice(1)}: ${value}`).join(", ");
252
- }
253
- var CART_QUERY_KEY = ["cart"];
254
- function useCart(token, options = {}) {
255
- const queryClient = useQueryClient();
256
- const toast = getToastHandler();
257
- const { enabled = true, staleTime = 2 * 60 * 1e3, gcTime = 10 * 60 * 1e3 } = options;
258
- const {
259
- data: cart,
260
- isLoading,
261
- error,
262
- isFetching,
263
- refetch
264
- } = useQuery({
265
- queryKey: CART_QUERY_KEY,
266
- queryFn: () => cartApi.getCart(token),
267
- enabled: enabled && !!token,
268
- staleTime,
269
- gcTime
270
- });
271
- const addMutation = useMutation({
272
- mutationFn: (data) => cartApi.addToCart(token, data),
273
- onMutate: async () => {
274
- await queryClient.cancelQueries({ queryKey: CART_QUERY_KEY });
275
- return { previousCart: queryClient.getQueryData(CART_QUERY_KEY) };
276
- },
277
- onError: (err, _, context) => {
278
- if (context?.previousCart) {
279
- queryClient.setQueryData(CART_QUERY_KEY, context.previousCart);
280
- }
281
- toast.error?.(err.message || "Failed to add item to cart");
282
- },
283
- onSuccess: (data) => {
284
- queryClient.setQueryData(CART_QUERY_KEY, data);
285
- toast.success?.("Added to cart!");
286
- }
287
- });
288
- const updateMutation = useMutation({
289
- mutationFn: ({ itemId, quantity }) => cartApi.updateCartItem(token, itemId, quantity),
290
- onMutate: async ({ itemId, quantity }) => {
291
- await queryClient.cancelQueries({ queryKey: CART_QUERY_KEY });
292
- const previousCart = queryClient.getQueryData(CART_QUERY_KEY);
293
- queryClient.setQueryData(
294
- CART_QUERY_KEY,
295
- (old) => old ? {
296
- ...old,
297
- items: old.items.map(
298
- (i) => i._id === itemId ? { ...i, quantity } : i
299
- )
300
- } : old
301
- );
302
- return { previousCart };
303
- },
304
- onError: (err, _, context) => {
305
- if (context?.previousCart) {
306
- queryClient.setQueryData(CART_QUERY_KEY, context.previousCart);
307
- }
308
- toast.error?.(err.message || "Failed to update cart");
309
- },
310
- onSuccess: (data) => {
311
- queryClient.setQueryData(CART_QUERY_KEY, data);
312
- }
313
- });
314
- const removeMutation = useMutation({
315
- mutationFn: (itemId) => cartApi.removeCartItem(token, itemId),
316
- onMutate: async (itemId) => {
317
- await queryClient.cancelQueries({ queryKey: CART_QUERY_KEY });
318
- const previousCart = queryClient.getQueryData(CART_QUERY_KEY);
319
- queryClient.setQueryData(
320
- CART_QUERY_KEY,
321
- (old) => old ? { ...old, items: old.items.filter((i) => i._id !== itemId) } : old
322
- );
323
- return { previousCart };
324
- },
325
- onError: (err, _, context) => {
326
- if (context?.previousCart) {
327
- queryClient.setQueryData(CART_QUERY_KEY, context.previousCart);
328
- }
329
- toast.error?.(err.message || "Failed to remove item");
330
- },
331
- onSuccess: (data) => {
332
- queryClient.setQueryData(CART_QUERY_KEY, data);
333
- toast.success?.("Item removed");
334
- }
335
- });
336
- const clearMutation = useMutation({
337
- mutationFn: () => cartApi.clearCart(token),
338
- onMutate: async () => {
339
- await queryClient.cancelQueries({ queryKey: CART_QUERY_KEY });
340
- const previousCart = queryClient.getQueryData(CART_QUERY_KEY);
341
- queryClient.setQueryData(
342
- CART_QUERY_KEY,
343
- (old) => old ? { ...old, items: [] } : old
344
- );
345
- return { previousCart };
346
- },
347
- onError: (err, _, context) => {
348
- if (context?.previousCart) {
349
- queryClient.setQueryData(CART_QUERY_KEY, context.previousCart);
350
- }
351
- toast.error?.(err.message || "Failed to clear cart");
352
- },
353
- onSuccess: (data) => {
354
- queryClient.setQueryData(CART_QUERY_KEY, data);
355
- toast.success?.("Cart cleared");
356
- }
357
- });
358
- const items = cart?.items || [];
359
- const isUpdating = addMutation.isPending || updateMutation.isPending || removeMutation.isPending || clearMutation.isPending;
360
- return {
361
- cart,
362
- items,
363
- itemCount: getCartItemCount(items),
364
- subtotal: calculateCartSubtotal(items),
365
- isLoading,
366
- isFetching,
367
- isUpdating,
368
- error,
369
- addToCart: (data) => addMutation.mutate(data),
370
- addToCartAsync: (data) => addMutation.mutateAsync(data),
371
- updateCartItem: (data) => updateMutation.mutate(data),
372
- updateCartItemAsync: (data) => updateMutation.mutateAsync(data),
373
- removeCartItem: (itemId) => removeMutation.mutate(itemId),
374
- removeCartItemAsync: (itemId) => removeMutation.mutateAsync(itemId),
375
- clearCart: () => clearMutation.mutate(),
376
- clearCartAsync: () => clearMutation.mutateAsync(),
377
- refetch: () => refetch(),
378
- getItemPrice: calculateItemPrice
379
- };
380
- }
381
- function useCartCount(token, options = {}) {
382
- const { enabled = true, staleTime = 2 * 60 * 1e3, gcTime = 10 * 60 * 1e3 } = options;
383
- const { data: cart, isLoading } = useQuery({
384
- queryKey: CART_QUERY_KEY,
385
- queryFn: () => cartApi.getCart(token),
386
- enabled: enabled && !!token,
387
- staleTime,
388
- gcTime
389
- });
390
- return {
391
- count: getCartItemCount(cart?.items || []),
392
- isLoading
393
- };
394
- }
395
- var createOrderKeys = () => ({
396
- all: ["orders"],
397
- lists: () => [...createOrderKeys().all, "list"],
398
- list: (params) => [...createOrderKeys().lists(), params],
399
- details: () => [...createOrderKeys().all, "detail"],
400
- detail: (id) => [...createOrderKeys().details(), id],
401
- // Customer-specific keys
402
- myOrders: (params) => [...createOrderKeys().all, "my", params],
403
- myDetail: (id) => [...createOrderKeys().all, "my", "detail", id]
404
- });
405
- var orderHooks = createCrudHooks({
406
- api: orderApi,
407
- entityKey: "orders",
408
- singular: "Order",
409
- plural: "Orders",
410
- defaults: {
411
- staleTime: 1 * 60 * 1e3
412
- // 1 minute (orders change frequently)
413
- }
414
- });
415
- var ORDER_KEYS = createOrderKeys();
416
- var {
417
- useList: useOrders,
418
- useDetail: useOrderDetail,
419
- useActions: useOrderActions,
420
- useNavigation: useOrderNavigation
421
- } = orderHooks;
422
- function useMyOrders(token, params = {}, options = {}) {
423
- const { data, isLoading, isFetching, error, refetch } = useQuery({
424
- queryKey: ORDER_KEYS.myOrders(params),
425
- queryFn: async () => {
426
- const response = await orderApi.getMyOrders({ token, params });
427
- return response;
428
- },
429
- enabled: !!token && options.enabled !== false,
430
- staleTime: options.staleTime ?? 30 * 1e3
431
- });
432
- const orders = data?.data || data?.docs || [];
433
- const pagination = data?.pagination;
434
- return {
435
- orders,
436
- total: pagination?.total || orders.length,
437
- page: pagination?.page || 1,
438
- limit: pagination?.limit || 10,
439
- hasMore: pagination?.hasMore ?? false,
440
- isLoading,
441
- isFetching,
442
- error,
443
- refetch
444
- };
445
- }
446
- function useMyOrderDetail(token, orderId, options = {}) {
447
- return useQuery({
448
- queryKey: ORDER_KEYS.myDetail(orderId),
449
- queryFn: async () => {
450
- const response = await orderApi.getMyOrder({ token, id: orderId });
451
- return response.data;
452
- },
453
- enabled: !!token && !!orderId && options.enabled !== false,
454
- staleTime: options.staleTime ?? 30 * 1e3
455
- });
456
- }
457
- function useCustomerOrderActions(token) {
458
- const queryClient = useQueryClient();
459
- const toast = getToastHandler();
460
- const checkoutMutation = useMutation({
461
- mutationFn: async (data) => {
462
- const response = await orderApi.checkout({ token, data });
463
- return response.data;
464
- },
465
- onSuccess: () => {
466
- queryClient.setQueryData(["cart"], null);
467
- queryClient.invalidateQueries({ queryKey: ["cart"] });
468
- queryClient.invalidateQueries({ queryKey: ORDER_KEYS.all });
469
- toast.success("Order placed successfully!");
470
- },
471
- onError: (error) => {
472
- toast.error(error.message || "Failed to place order");
473
- }
474
- });
475
- const requestCancelMutation = useMutation({
476
- mutationFn: async ({ orderId, reason }) => {
477
- const response = await orderApi.requestCancellation({ token, id: orderId, reason });
478
- return response.data;
479
- },
480
- onSuccess: () => {
481
- queryClient.invalidateQueries({ queryKey: ORDER_KEYS.all });
482
- toast.success("Cancellation request submitted");
483
- },
484
- onError: (error) => {
485
- toast.error(error.message || "Failed to request cancellation");
486
- }
487
- });
488
- return {
489
- checkout: checkoutMutation.mutateAsync,
490
- isCheckingOut: checkoutMutation.isPending,
491
- requestCancel: requestCancelMutation.mutateAsync,
492
- isRequestingCancel: requestCancelMutation.isPending,
493
- isLoading: checkoutMutation.isPending || requestCancelMutation.isPending
494
- };
495
- }
496
- function useGuestCheckout() {
497
- const queryClient = useQueryClient();
498
- const toast = getToastHandler();
499
- const mutation = useMutation({
500
- mutationFn: async (data) => {
501
- const response = await orderApi.guestCheckout({ data });
502
- return response.data;
503
- },
504
- onSuccess: () => {
505
- queryClient.invalidateQueries({ queryKey: ORDER_KEYS.all });
506
- toast.success("Order placed successfully!");
507
- },
508
- onError: (error) => {
509
- toast.error(error.message || "Failed to place order");
510
- }
511
- });
512
- return {
513
- guestCheckout: mutation.mutateAsync,
514
- isCheckingOut: mutation.isPending
515
- };
516
- }
517
- function useAdminOrderActions(token) {
518
- const queryClient = useQueryClient();
519
- const toast = getToastHandler();
520
- const updateStatusMutation = useMutation({
521
- mutationFn: async ({ orderId, status, note }) => {
522
- const response = await orderApi.updateStatus({
523
- token,
524
- id: orderId,
525
- data: { status, note }
526
- });
527
- return response.data;
528
- },
529
- onSuccess: () => {
530
- queryClient.invalidateQueries({ queryKey: ORDER_KEYS.all });
531
- toast.success("Order status updated");
532
- },
533
- onError: (error) => {
534
- toast.error(error.message || "Failed to update status");
535
- }
536
- });
537
- const fulfillMutation = useMutation({
538
- mutationFn: async ({ orderId, ...data }) => {
539
- const response = await orderApi.fulfill({ token, id: orderId, data });
540
- return response.data;
541
- },
542
- onSuccess: () => {
543
- queryClient.invalidateQueries({ queryKey: ORDER_KEYS.all });
544
- queryClient.invalidateQueries({ queryKey: ["branches"] });
545
- queryClient.invalidateQueries({ queryKey: ["stock"] });
546
- toast.success("Order fulfilled successfully");
547
- },
548
- onError: (error) => {
549
- toast.error(error.message || "Failed to fulfill order");
550
- }
551
- });
552
- const refundMutation = useMutation({
553
- mutationFn: async ({ orderId, amount, reason }) => {
554
- const response = await orderApi.refund({ token, id: orderId, data: { amount, reason } });
555
- return response.data;
556
- },
557
- onSuccess: () => {
558
- queryClient.invalidateQueries({ queryKey: ORDER_KEYS.all });
559
- toast.success("Refund processed successfully");
560
- },
561
- onError: (error) => {
562
- toast.error(error.message || "Failed to process refund");
563
- }
564
- });
565
- const cancelMutation = useMutation({
566
- mutationFn: async ({ orderId, reason, refund }) => {
567
- const response = await orderApi.cancel({ token, id: orderId, reason, refund });
568
- return response.data;
569
- },
570
- onSuccess: () => {
571
- queryClient.invalidateQueries({ queryKey: ORDER_KEYS.all });
572
- toast.success("Order cancelled");
573
- },
574
- onError: (error) => {
575
- toast.error(error.message || "Failed to cancel order");
576
- }
577
- });
578
- const requestShippingMutation = useMutation({
579
- mutationFn: async ({ orderId, ...data }) => {
580
- const response = await orderApi.requestShipping({ token, id: orderId, data });
581
- return response.data;
582
- },
583
- onSuccess: () => {
584
- queryClient.invalidateQueries({ queryKey: ORDER_KEYS.all });
585
- toast.success("Shipping pickup requested");
586
- },
587
- onError: (error) => {
588
- toast.error(error.message || "Failed to request shipping");
589
- }
590
- });
591
- const updateShippingMutation = useMutation({
592
- mutationFn: async ({ orderId, ...data }) => {
593
- const response = await orderApi.updateShipping({ token, id: orderId, data });
594
- return response.data;
595
- },
596
- onSuccess: () => {
597
- queryClient.invalidateQueries({ queryKey: ORDER_KEYS.all });
598
- toast.success("Shipping status updated");
599
- },
600
- onError: (error) => {
601
- toast.error(error.message || "Failed to update shipping");
602
- }
603
- });
604
- return {
605
- updateStatus: updateStatusMutation.mutateAsync,
606
- isUpdatingStatus: updateStatusMutation.isPending,
607
- fulfillOrder: fulfillMutation.mutateAsync,
608
- isFulfilling: fulfillMutation.isPending,
609
- refundOrder: refundMutation.mutateAsync,
610
- isRefunding: refundMutation.isPending,
611
- cancelOrder: cancelMutation.mutateAsync,
612
- isCancelling: cancelMutation.isPending,
613
- requestShipping: requestShippingMutation.mutateAsync,
614
- isRequestingShipping: requestShippingMutation.isPending,
615
- updateShipping: updateShippingMutation.mutateAsync,
616
- isUpdatingShipping: updateShippingMutation.isPending,
617
- isLoading: updateStatusMutation.isPending || fulfillMutation.isPending || refundMutation.isPending || cancelMutation.isPending || requestShippingMutation.isPending || updateShippingMutation.isPending
618
- };
619
- }
620
- var customerHooks = createCrudHooks({
621
- api: customerApi,
622
- entityKey: "customers",
623
- singular: "Customer",
624
- plural: "Customers",
625
- defaults: {
626
- staleTime: 5 * 60 * 1e3
627
- // 5 minutes
628
- }
629
- });
630
- var {
631
- KEYS: CUSTOMER_KEYS,
632
- useList: useCustomers,
633
- useDetail: useCustomerDetail,
634
- useActions: useCustomerActions,
635
- useNavigation: useCustomerNavigation
636
- } = customerHooks;
637
- function useCurrentCustomer(token, options = {}) {
638
- return useQuery({
639
- queryKey: [...CUSTOMER_KEYS.all, "me"],
640
- queryFn: async () => {
641
- const response = await customerApi.getMe({ token });
642
- return response.data;
643
- },
644
- enabled: !!token && options.enabled !== false,
645
- staleTime: options.staleTime ?? 5 * 60 * 1e3
646
- });
647
- }
648
- function useCustomerMembership(token) {
649
- const queryClient = useQueryClient();
650
- const toast = getToastHandler();
651
- const mutation = useMutation({
652
- mutationFn: async ({ id, action, points, reason, type }) => {
653
- const response = await customerApi.membershipAction({
654
- token,
655
- id,
656
- data: { action, points, reason, type }
657
- });
658
- return response.data;
659
- },
660
- onSuccess: () => {
661
- queryClient.invalidateQueries({ queryKey: CUSTOMER_KEYS.lists() });
662
- queryClient.invalidateQueries({ queryKey: CUSTOMER_KEYS.details() });
663
- toast.success("Membership updated successfully");
664
- },
665
- onError: (error) => {
666
- toast.error(error.message || "Failed to update membership");
667
- }
668
- });
669
- return {
670
- membershipAction: mutation.mutateAsync,
671
- isPending: mutation.isPending
672
- };
673
- }
674
- var POS_KEYS = {
675
- all: ["pos"],
676
- products: (branchId) => [...POS_KEYS.all, "products", branchId],
677
- productsList: (branchId, params) => [...POS_KEYS.products(branchId), params],
678
- lookup: (code, branchId) => [...POS_KEYS.all, "lookup", code, branchId],
679
- orders: () => [...POS_KEYS.all, "orders"],
680
- receipt: (orderId) => [...POS_KEYS.orders(), orderId, "receipt"]
681
- };
682
- function usePosProducts(token, branchId, filters = {}, options = {}) {
683
- const queryKey = POS_KEYS.productsList(branchId, filters);
684
- const { data, isLoading, isFetching, error, refetch } = useQuery({
685
- queryKey,
686
- queryFn: () => posApi.getProducts({
687
- token,
688
- branchId,
689
- category: filters.category,
690
- search: filters.search,
691
- inStockOnly: filters.inStockOnly,
692
- lowStockOnly: filters.lowStockOnly,
693
- after: filters.after,
694
- limit: filters.limit || 50,
695
- sort: filters.sort || "name"
696
- }),
697
- enabled: !!token && options.enabled !== false,
698
- staleTime: 30 * 1e3,
699
- // 30 seconds
700
- refetchOnWindowFocus: true
701
- });
702
- return {
703
- products: data?.docs || [],
704
- summary: data?.summary || { totalItems: 0, totalQuantity: 0, lowStockCount: 0, outOfStockCount: 0 },
705
- branch: data?.branch || { _id: "", code: "", name: "" },
706
- hasMore: data?.hasMore || false,
707
- nextCursor: data?.next || null,
708
- isLoading,
709
- isFetching,
710
- error,
711
- refetch
712
- };
713
- }
714
- function usePosLookup(token, code, branchId, options = {}) {
715
- return useQuery({
716
- queryKey: POS_KEYS.lookup(code, branchId),
717
- queryFn: () => posApi.lookup({ token, code, branchId }),
718
- enabled: !!token && !!code && code.length >= 2 && options.enabled !== false,
719
- staleTime: 10 * 1e3,
720
- // 10 seconds
721
- retry: false
722
- // Don't retry failed lookups
723
- });
724
- }
725
- function usePosLookupMutation(token) {
726
- const toast = getToastHandler();
727
- const mutation = useMutation({
728
- mutationFn: ({ code, branchId }) => posApi.lookup({ token, code, branchId }),
729
- onError: (error) => {
730
- toast.error(error.message || "Lookup failed");
731
- }
732
- });
733
- return {
734
- lookup: mutation.mutateAsync,
735
- isLooking: mutation.isPending,
736
- error: mutation.error
737
- };
738
- }
739
- function usePosReceipt(token, orderId, options = {}) {
740
- return useQuery({
741
- queryKey: POS_KEYS.receipt(orderId),
742
- queryFn: async () => {
743
- const result = await posApi.getReceipt({ token, orderId });
744
- return result;
745
- },
746
- enabled: !!token && !!orderId && options.enabled !== false,
747
- staleTime: Infinity
748
- // Receipts don't change
749
- });
750
- }
751
- function usePosOrders(token) {
752
- const queryClient = useQueryClient();
753
- const createOrderMutation = useMutation({
754
- mutationFn: (data) => posApi.createOrder({ token, data }),
755
- onSuccess: (_result, variables) => {
756
- queryClient.invalidateQueries({
757
- queryKey: POS_KEYS.products(variables.branchId)
758
- });
759
- }
760
- });
761
- return {
762
- createOrder: createOrderMutation.mutateAsync,
763
- isCreatingOrder: createOrderMutation.isPending
764
- };
765
- }
766
- function usePosStockActions(token, branchId) {
767
- const queryClient = useQueryClient();
768
- const toast = getToastHandler();
769
- const adjustMutation = useMutation({
770
- mutationFn: (data) => posApi.adjustStock({ token, data }),
771
- onSuccess: () => {
772
- toast.success("Stock adjusted");
773
- queryClient.invalidateQueries({ queryKey: POS_KEYS.products(branchId) });
774
- },
775
- onError: (error) => {
776
- toast.error(error.message || "Failed to adjust stock");
777
- }
778
- });
779
- const setMutation = useMutation({
780
- mutationFn: (params) => posApi.setStock({
781
- token,
782
- productId: params.productId,
783
- data: {
784
- quantity: params.quantity,
785
- branchId: params.branchId || branchId,
786
- variantSku: params.variantSku,
787
- reason: params.reason
788
- }
789
- }),
790
- onSuccess: () => {
791
- toast.success("Stock updated");
792
- queryClient.invalidateQueries({ queryKey: POS_KEYS.products(branchId) });
793
- },
794
- onError: (error) => {
795
- toast.error(error.message || "Failed to set stock");
796
- }
797
- });
798
- const bulkMutation = useMutation({
799
- mutationFn: (data) => posApi.bulkAdjust({ token, data }),
800
- onSuccess: () => {
801
- toast.success("Bulk adjustment complete");
802
- queryClient.invalidateQueries({ queryKey: POS_KEYS.products(branchId) });
803
- },
804
- onError: (error) => {
805
- toast.error(error.message || "Failed to bulk adjust");
806
- }
807
- });
808
- return {
809
- adjustStock: adjustMutation.mutateAsync,
810
- isAdjusting: adjustMutation.isPending,
811
- setStock: setMutation.mutateAsync,
812
- isSetting: setMutation.isPending,
813
- bulkAdjust: bulkMutation.mutateAsync,
814
- isBulkAdjusting: bulkMutation.isPending,
815
- isLoading: adjustMutation.isPending || setMutation.isPending || bulkMutation.isPending
816
- };
817
- }
818
- function generateIdempotencyKey(terminalId) {
819
- const terminal = terminalId || "default";
820
- const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
821
- const counter = Math.floor(Math.random() * 1e4).toString().padStart(4, "0");
822
- return `pos_${terminal}_${timestamp}_${counter}`;
823
- }
824
- function calculateVariantPrice(basePrice, priceModifier = 0) {
825
- return basePrice + priceModifier;
826
- }
827
- function formatVariantLabel(attributes) {
828
- if (!attributes || Object.keys(attributes).length === 0) return "";
829
- return Object.entries(attributes).map(([key, value]) => `${key.charAt(0).toUpperCase() + key.slice(1)}: ${value}`).join(", ");
830
- }
831
- function isVariantProduct(product) {
832
- return product.productType === "variant" || !!product.variants && product.variants.length > 0;
833
- }
834
- function getAvailableVariants(product) {
835
- if (!product.variants) return [];
836
- return product.variants.filter((v) => v.isActive);
837
- }
838
- function findVariantBySku(product, sku) {
839
- if (!product.variants) return null;
840
- return product.variants.find((v) => v.sku === sku) || null;
841
- }
842
- function getVariantStock(product, variantSku) {
843
- if (!product.branchStock?.variants) return 0;
844
- const variantStock = product.branchStock.variants.find((v) => v.sku === variantSku);
845
- return variantStock?.quantity || 0;
846
- }
847
- function isInStock(product, variantSku) {
848
- if (variantSku) {
849
- const stock = getVariantStock(product, variantSku);
850
- return stock > 0;
851
- }
852
- return product.branchStock?.inStock ?? false;
853
- }
854
- function getPosProductImage(product) {
855
- const firstImage = product.images?.[0];
856
- if (!firstImage) return "/placeholder.png";
857
- return firstImage.variants?.thumbnail || firstImage.url;
858
- }
859
-
860
- export { CART_KEYS, CUSTOMER_KEYS, CustomerApi, ORDER_KEYS, OrderStatus, POS_KEYS, PaymentStatus, calculateCartSubtotal, calculateItemPrice, calculateItemTotal, calculateVariantPrice, cartApi, customerApi, customerHooks, findVariantBySku, formatVariantAttributes, formatVariantLabel, generateIdempotencyKey, getAvailableVariants, getCartItemCount, getCartItemVariant, getPosProductImage, getVariantStock, isInStock, isVariantProduct, orderApi, orderHooks, order_default, useAdminOrderActions, useCart, useCartCount, useCurrentCustomer, useCustomerActions, useCustomerDetail, useCustomerMembership, useCustomerNavigation, useCustomerOrderActions, useCustomers, useGuestCheckout, useMyOrderDetail, useMyOrders, useOrderActions, useOrderDetail, useOrderNavigation, useOrders, usePosLookup, usePosLookupMutation, usePosOrders, usePosProducts, usePosReceipt, usePosStockActions };
861
- //# sourceMappingURL=chunk-4IYW6RF3.js.map
862
- //# sourceMappingURL=chunk-4IYW6RF3.js.map