@newpeak/barista-cli 0.1.6 → 0.1.8

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 (370) hide show
  1. package/README.en.md +714 -0
  2. package/README.ja.md +708 -0
  3. package/README.md +68 -0
  4. package/README.vi.md +714 -0
  5. package/dist/commands/liberica/calendar/index.d.ts +3 -0
  6. package/dist/commands/liberica/calendar/index.d.ts.map +1 -0
  7. package/dist/commands/liberica/calendar/index.js +11 -0
  8. package/dist/commands/liberica/calendar/index.js.map +1 -0
  9. package/dist/commands/liberica/calendar/list.d.ts +3 -0
  10. package/dist/commands/liberica/calendar/list.d.ts.map +1 -0
  11. package/dist/commands/liberica/calendar/list.js +181 -0
  12. package/dist/commands/liberica/calendar/list.js.map +1 -0
  13. package/dist/commands/liberica/calendar/set.d.ts +3 -0
  14. package/dist/commands/liberica/calendar/set.d.ts.map +1 -0
  15. package/dist/commands/liberica/calendar/set.js +120 -0
  16. package/dist/commands/liberica/calendar/set.js.map +1 -0
  17. package/dist/commands/liberica/client-contacts/create.d.ts +3 -0
  18. package/dist/commands/liberica/client-contacts/create.d.ts.map +1 -0
  19. package/dist/commands/liberica/client-contacts/create.js +132 -0
  20. package/dist/commands/liberica/client-contacts/create.js.map +1 -0
  21. package/dist/commands/liberica/client-contacts/delete.d.ts +3 -0
  22. package/dist/commands/liberica/client-contacts/delete.d.ts.map +1 -0
  23. package/dist/commands/liberica/client-contacts/delete.js +139 -0
  24. package/dist/commands/liberica/client-contacts/delete.js.map +1 -0
  25. package/dist/commands/liberica/client-contacts/get.d.ts +3 -0
  26. package/dist/commands/liberica/client-contacts/get.d.ts.map +1 -0
  27. package/dist/commands/liberica/client-contacts/get.js +92 -0
  28. package/dist/commands/liberica/client-contacts/get.js.map +1 -0
  29. package/dist/commands/liberica/client-contacts/index.d.ts +3 -0
  30. package/dist/commands/liberica/client-contacts/index.d.ts.map +1 -0
  31. package/dist/commands/liberica/client-contacts/index.js +17 -0
  32. package/dist/commands/liberica/client-contacts/index.js.map +1 -0
  33. package/dist/commands/liberica/client-contacts/list.d.ts +3 -0
  34. package/dist/commands/liberica/client-contacts/list.d.ts.map +1 -0
  35. package/dist/commands/liberica/client-contacts/list.js +92 -0
  36. package/dist/commands/liberica/client-contacts/list.js.map +1 -0
  37. package/dist/commands/liberica/client-contacts/update.d.ts +3 -0
  38. package/dist/commands/liberica/client-contacts/update.d.ts.map +1 -0
  39. package/dist/commands/liberica/client-contacts/update.js +156 -0
  40. package/dist/commands/liberica/client-contacts/update.js.map +1 -0
  41. package/dist/commands/liberica/dict-types/get.d.ts +3 -0
  42. package/dist/commands/liberica/dict-types/get.d.ts.map +1 -0
  43. package/dist/commands/liberica/dict-types/get.js +62 -0
  44. package/dist/commands/liberica/dict-types/get.js.map +1 -0
  45. package/dist/commands/liberica/dict-types/index.d.ts +3 -0
  46. package/dist/commands/liberica/dict-types/index.d.ts.map +1 -0
  47. package/dist/commands/liberica/dict-types/index.js +13 -0
  48. package/dist/commands/liberica/dict-types/index.js.map +1 -0
  49. package/dist/commands/liberica/dict-types/list.d.ts +3 -0
  50. package/dist/commands/liberica/dict-types/list.d.ts.map +1 -0
  51. package/dist/commands/liberica/dict-types/list.js +91 -0
  52. package/dist/commands/liberica/dict-types/list.js.map +1 -0
  53. package/dist/commands/liberica/dict-types/update.d.ts +3 -0
  54. package/dist/commands/liberica/dict-types/update.d.ts.map +1 -0
  55. package/dist/commands/liberica/dict-types/update.js +127 -0
  56. package/dist/commands/liberica/dict-types/update.js.map +1 -0
  57. package/dist/commands/liberica/dicts/create.d.ts +3 -0
  58. package/dist/commands/liberica/dicts/create.d.ts.map +1 -0
  59. package/dist/commands/liberica/dicts/create.js +157 -0
  60. package/dist/commands/liberica/dicts/create.js.map +1 -0
  61. package/dist/commands/liberica/dicts/delete.d.ts +3 -0
  62. package/dist/commands/liberica/dicts/delete.d.ts.map +1 -0
  63. package/dist/commands/liberica/dicts/delete.js +106 -0
  64. package/dist/commands/liberica/dicts/delete.js.map +1 -0
  65. package/dist/commands/liberica/dicts/get.d.ts +3 -0
  66. package/dist/commands/liberica/dicts/get.d.ts.map +1 -0
  67. package/dist/commands/liberica/dicts/get.js +69 -0
  68. package/dist/commands/liberica/dicts/get.js.map +1 -0
  69. package/dist/commands/liberica/dicts/index.d.ts +3 -0
  70. package/dist/commands/liberica/dicts/index.d.ts.map +1 -0
  71. package/dist/commands/liberica/dicts/index.js +17 -0
  72. package/dist/commands/liberica/dicts/index.js.map +1 -0
  73. package/dist/commands/liberica/dicts/list.d.ts +3 -0
  74. package/dist/commands/liberica/dicts/list.d.ts.map +1 -0
  75. package/dist/commands/liberica/dicts/list.js +88 -0
  76. package/dist/commands/liberica/dicts/list.js.map +1 -0
  77. package/dist/commands/liberica/dicts/update.d.ts +3 -0
  78. package/dist/commands/liberica/dicts/update.d.ts.map +1 -0
  79. package/dist/commands/liberica/dicts/update.js +112 -0
  80. package/dist/commands/liberica/dicts/update.js.map +1 -0
  81. package/dist/commands/liberica/index.d.ts.map +1 -1
  82. package/dist/commands/liberica/index.js +22 -0
  83. package/dist/commands/liberica/index.js.map +1 -1
  84. package/dist/commands/liberica/materials/create.d.ts.map +1 -1
  85. package/dist/commands/liberica/materials/create.js +35 -9
  86. package/dist/commands/liberica/materials/create.js.map +1 -1
  87. package/dist/commands/liberica/operations/active.d.ts +3 -0
  88. package/dist/commands/liberica/operations/active.d.ts.map +1 -0
  89. package/dist/commands/liberica/operations/active.js +152 -0
  90. package/dist/commands/liberica/operations/active.js.map +1 -0
  91. package/dist/commands/liberica/operations/batch-delete.d.ts +3 -0
  92. package/dist/commands/liberica/operations/batch-delete.d.ts.map +1 -0
  93. package/dist/commands/liberica/operations/batch-delete.js +130 -0
  94. package/dist/commands/liberica/operations/batch-delete.js.map +1 -0
  95. package/dist/commands/liberica/operations/copy.d.ts +3 -0
  96. package/dist/commands/liberica/operations/copy.d.ts.map +1 -0
  97. package/dist/commands/liberica/operations/copy.js +137 -0
  98. package/dist/commands/liberica/operations/copy.js.map +1 -0
  99. package/dist/commands/liberica/operations/create.d.ts +3 -0
  100. package/dist/commands/liberica/operations/create.d.ts.map +1 -0
  101. package/dist/commands/liberica/operations/create.js +212 -0
  102. package/dist/commands/liberica/operations/create.js.map +1 -0
  103. package/dist/commands/liberica/operations/deactive.d.ts +3 -0
  104. package/dist/commands/liberica/operations/deactive.d.ts.map +1 -0
  105. package/dist/commands/liberica/operations/deactive.js +152 -0
  106. package/dist/commands/liberica/operations/deactive.js.map +1 -0
  107. package/dist/commands/liberica/operations/delete.d.ts +3 -0
  108. package/dist/commands/liberica/operations/delete.d.ts.map +1 -0
  109. package/dist/commands/liberica/operations/delete.js +128 -0
  110. package/dist/commands/liberica/operations/delete.js.map +1 -0
  111. package/dist/commands/liberica/operations/get.d.ts +3 -0
  112. package/dist/commands/liberica/operations/get.d.ts.map +1 -0
  113. package/dist/commands/liberica/operations/get.js +93 -0
  114. package/dist/commands/liberica/operations/get.js.map +1 -0
  115. package/dist/commands/liberica/operations/index.d.ts +3 -0
  116. package/dist/commands/liberica/operations/index.d.ts.map +1 -0
  117. package/dist/commands/liberica/operations/index.js +25 -0
  118. package/dist/commands/liberica/operations/index.js.map +1 -0
  119. package/dist/commands/liberica/operations/list.d.ts +3 -0
  120. package/dist/commands/liberica/operations/list.d.ts.map +1 -0
  121. package/dist/commands/liberica/operations/list.js +141 -0
  122. package/dist/commands/liberica/operations/list.js.map +1 -0
  123. package/dist/commands/liberica/operations/update.d.ts +3 -0
  124. package/dist/commands/liberica/operations/update.d.ts.map +1 -0
  125. package/dist/commands/liberica/operations/update.js +208 -0
  126. package/dist/commands/liberica/operations/update.js.map +1 -0
  127. package/dist/commands/liberica/orgs/index.d.ts.map +1 -1
  128. package/dist/commands/liberica/orgs/index.js.map +1 -1
  129. package/dist/commands/liberica/stock/__tests__/ledger.test.d.ts +2 -0
  130. package/dist/commands/liberica/stock/__tests__/ledger.test.d.ts.map +1 -0
  131. package/dist/commands/liberica/stock/__tests__/ledger.test.js +41 -0
  132. package/dist/commands/liberica/stock/__tests__/ledger.test.js.map +1 -0
  133. package/dist/commands/liberica/stock/__tests__/list.test.d.ts +2 -0
  134. package/dist/commands/liberica/stock/__tests__/list.test.d.ts.map +1 -0
  135. package/dist/commands/liberica/stock/__tests__/list.test.js +39 -0
  136. package/dist/commands/liberica/stock/__tests__/list.test.js.map +1 -0
  137. package/dist/commands/liberica/stock/index.d.ts +3 -0
  138. package/dist/commands/liberica/stock/index.d.ts.map +1 -0
  139. package/dist/commands/liberica/stock/index.js +11 -0
  140. package/dist/commands/liberica/stock/index.js.map +1 -0
  141. package/dist/commands/liberica/stock/ledger.d.ts +3 -0
  142. package/dist/commands/liberica/stock/ledger.d.ts.map +1 -0
  143. package/dist/commands/liberica/stock/ledger.js +154 -0
  144. package/dist/commands/liberica/stock/ledger.js.map +1 -0
  145. package/dist/commands/liberica/stock/list.d.ts +3 -0
  146. package/dist/commands/liberica/stock/list.d.ts.map +1 -0
  147. package/dist/commands/liberica/stock/list.js +127 -0
  148. package/dist/commands/liberica/stock/list.js.map +1 -0
  149. package/dist/commands/liberica/supplier-contacts/create.d.ts +3 -0
  150. package/dist/commands/liberica/supplier-contacts/create.d.ts.map +1 -0
  151. package/dist/commands/liberica/supplier-contacts/create.js +129 -0
  152. package/dist/commands/liberica/supplier-contacts/create.js.map +1 -0
  153. package/dist/commands/liberica/supplier-contacts/delete.d.ts +3 -0
  154. package/dist/commands/liberica/supplier-contacts/delete.d.ts.map +1 -0
  155. package/dist/commands/liberica/supplier-contacts/delete.js +88 -0
  156. package/dist/commands/liberica/supplier-contacts/delete.js.map +1 -0
  157. package/dist/commands/liberica/supplier-contacts/get.d.ts +3 -0
  158. package/dist/commands/liberica/supplier-contacts/get.d.ts.map +1 -0
  159. package/dist/commands/liberica/supplier-contacts/get.js +84 -0
  160. package/dist/commands/liberica/supplier-contacts/get.js.map +1 -0
  161. package/dist/commands/liberica/supplier-contacts/index.d.ts +3 -0
  162. package/dist/commands/liberica/supplier-contacts/index.d.ts.map +1 -0
  163. package/dist/commands/liberica/supplier-contacts/index.js +17 -0
  164. package/dist/commands/liberica/supplier-contacts/index.js.map +1 -0
  165. package/dist/commands/liberica/supplier-contacts/list.d.ts +3 -0
  166. package/dist/commands/liberica/supplier-contacts/list.d.ts.map +1 -0
  167. package/dist/commands/liberica/supplier-contacts/list.js +98 -0
  168. package/dist/commands/liberica/supplier-contacts/list.js.map +1 -0
  169. package/dist/commands/liberica/supplier-contacts/update.d.ts +3 -0
  170. package/dist/commands/liberica/supplier-contacts/update.d.ts.map +1 -0
  171. package/dist/commands/liberica/supplier-contacts/update.js +136 -0
  172. package/dist/commands/liberica/supplier-contacts/update.js.map +1 -0
  173. package/dist/commands/liberica/users/create.d.ts.map +1 -1
  174. package/dist/commands/liberica/users/create.js +1 -0
  175. package/dist/commands/liberica/users/create.js.map +1 -1
  176. package/dist/commands/liberica/warehouses/create.d.ts +3 -0
  177. package/dist/commands/liberica/warehouses/create.d.ts.map +1 -0
  178. package/dist/commands/liberica/warehouses/create.js +196 -0
  179. package/dist/commands/liberica/warehouses/create.js.map +1 -0
  180. package/dist/commands/liberica/warehouses/delete.d.ts +3 -0
  181. package/dist/commands/liberica/warehouses/delete.d.ts.map +1 -0
  182. package/dist/commands/liberica/warehouses/delete.js +111 -0
  183. package/dist/commands/liberica/warehouses/delete.js.map +1 -0
  184. package/dist/commands/liberica/warehouses/disable.d.ts +3 -0
  185. package/dist/commands/liberica/warehouses/disable.d.ts.map +1 -0
  186. package/dist/commands/liberica/warehouses/disable.js +173 -0
  187. package/dist/commands/liberica/warehouses/disable.js.map +1 -0
  188. package/dist/commands/liberica/warehouses/enable.d.ts +3 -0
  189. package/dist/commands/liberica/warehouses/enable.d.ts.map +1 -0
  190. package/dist/commands/liberica/warehouses/enable.js +173 -0
  191. package/dist/commands/liberica/warehouses/enable.js.map +1 -0
  192. package/dist/commands/liberica/warehouses/get.d.ts +3 -0
  193. package/dist/commands/liberica/warehouses/get.d.ts.map +1 -0
  194. package/dist/commands/liberica/warehouses/get.js +90 -0
  195. package/dist/commands/liberica/warehouses/get.js.map +1 -0
  196. package/dist/commands/liberica/warehouses/index.d.ts +3 -0
  197. package/dist/commands/liberica/warehouses/index.d.ts.map +1 -0
  198. package/dist/commands/liberica/warehouses/index.js +23 -0
  199. package/dist/commands/liberica/warehouses/index.js.map +1 -0
  200. package/dist/commands/liberica/warehouses/list.d.ts +3 -0
  201. package/dist/commands/liberica/warehouses/list.d.ts.map +1 -0
  202. package/dist/commands/liberica/warehouses/list.js +101 -0
  203. package/dist/commands/liberica/warehouses/list.js.map +1 -0
  204. package/dist/commands/liberica/warehouses/locations/create.d.ts +3 -0
  205. package/dist/commands/liberica/warehouses/locations/create.d.ts.map +1 -0
  206. package/dist/commands/liberica/warehouses/locations/create.js +199 -0
  207. package/dist/commands/liberica/warehouses/locations/create.js.map +1 -0
  208. package/dist/commands/liberica/warehouses/locations/delete.d.ts +3 -0
  209. package/dist/commands/liberica/warehouses/locations/delete.d.ts.map +1 -0
  210. package/dist/commands/liberica/warehouses/locations/delete.js +115 -0
  211. package/dist/commands/liberica/warehouses/locations/delete.js.map +1 -0
  212. package/dist/commands/liberica/warehouses/locations/disable.d.ts +3 -0
  213. package/dist/commands/liberica/warehouses/locations/disable.d.ts.map +1 -0
  214. package/dist/commands/liberica/warehouses/locations/disable.js +173 -0
  215. package/dist/commands/liberica/warehouses/locations/disable.js.map +1 -0
  216. package/dist/commands/liberica/warehouses/locations/enable.d.ts +3 -0
  217. package/dist/commands/liberica/warehouses/locations/enable.d.ts.map +1 -0
  218. package/dist/commands/liberica/warehouses/locations/enable.js +173 -0
  219. package/dist/commands/liberica/warehouses/locations/enable.js.map +1 -0
  220. package/dist/commands/liberica/warehouses/locations/get.d.ts +3 -0
  221. package/dist/commands/liberica/warehouses/locations/get.d.ts.map +1 -0
  222. package/dist/commands/liberica/warehouses/locations/get.js +73 -0
  223. package/dist/commands/liberica/warehouses/locations/get.js.map +1 -0
  224. package/dist/commands/liberica/warehouses/locations/index.d.ts +3 -0
  225. package/dist/commands/liberica/warehouses/locations/index.d.ts.map +1 -0
  226. package/dist/commands/liberica/warehouses/locations/index.js +21 -0
  227. package/dist/commands/liberica/warehouses/locations/index.js.map +1 -0
  228. package/dist/commands/liberica/warehouses/locations/list.d.ts +3 -0
  229. package/dist/commands/liberica/warehouses/locations/list.d.ts.map +1 -0
  230. package/dist/commands/liberica/warehouses/locations/list.js +104 -0
  231. package/dist/commands/liberica/warehouses/locations/list.js.map +1 -0
  232. package/dist/commands/liberica/warehouses/locations/update.d.ts +3 -0
  233. package/dist/commands/liberica/warehouses/locations/update.d.ts.map +1 -0
  234. package/dist/commands/liberica/warehouses/locations/update.js +128 -0
  235. package/dist/commands/liberica/warehouses/locations/update.js.map +1 -0
  236. package/dist/commands/liberica/warehouses/update.d.ts +3 -0
  237. package/dist/commands/liberica/warehouses/update.d.ts.map +1 -0
  238. package/dist/commands/liberica/warehouses/update.js +143 -0
  239. package/dist/commands/liberica/warehouses/update.js.map +1 -0
  240. package/dist/core/api/client.d.ts +62 -0
  241. package/dist/core/api/client.d.ts.map +1 -1
  242. package/dist/core/api/client.js +1203 -104
  243. package/dist/core/api/client.js.map +1 -1
  244. package/dist/index.js +1 -3
  245. package/dist/index.js.map +1 -1
  246. package/dist/types/calendar.d.ts +28 -0
  247. package/dist/types/calendar.d.ts.map +1 -0
  248. package/dist/types/calendar.js +2 -0
  249. package/dist/types/calendar.js.map +1 -0
  250. package/dist/types/client-contact.d.ts +65 -0
  251. package/dist/types/client-contact.d.ts.map +1 -0
  252. package/dist/types/client-contact.js +4 -0
  253. package/dist/types/client-contact.js.map +1 -0
  254. package/dist/types/dict.d.ts +97 -0
  255. package/dist/types/dict.d.ts.map +1 -0
  256. package/dist/types/dict.js +2 -0
  257. package/dist/types/dict.js.map +1 -0
  258. package/dist/types/index.d.ts +9 -4
  259. package/dist/types/index.d.ts.map +1 -1
  260. package/dist/types/index.js +1 -0
  261. package/dist/types/index.js.map +1 -1
  262. package/dist/types/location.d.ts +53 -0
  263. package/dist/types/location.d.ts.map +1 -0
  264. package/dist/types/location.js +2 -0
  265. package/dist/types/location.js.map +1 -0
  266. package/dist/types/operation.d.ts +66 -0
  267. package/dist/types/operation.d.ts.map +1 -0
  268. package/dist/types/operation.js +2 -0
  269. package/dist/types/operation.js.map +1 -0
  270. package/dist/types/stock.d.ts +133 -0
  271. package/dist/types/stock.d.ts.map +1 -0
  272. package/dist/types/stock.js +3 -0
  273. package/dist/types/stock.js.map +1 -0
  274. package/dist/types/supplier-contact.d.ts +65 -0
  275. package/dist/types/supplier-contact.d.ts.map +1 -0
  276. package/dist/types/supplier-contact.js +4 -0
  277. package/dist/types/supplier-contact.js.map +1 -0
  278. package/dist/types/warehouse.d.ts +68 -0
  279. package/dist/types/warehouse.d.ts.map +1 -0
  280. package/dist/types/warehouse.js +2 -0
  281. package/dist/types/warehouse.js.map +1 -0
  282. package/docs/commands/REFERENCE.md +24 -4
  283. package/docs/commands/liberica/calendar/DESIGN.md +333 -0
  284. package/docs/commands/liberica/client-contacts/create.md +152 -0
  285. package/docs/commands/liberica/client-contacts/delete.md +123 -0
  286. package/docs/commands/liberica/client-contacts/get.md +133 -0
  287. package/docs/commands/liberica/client-contacts/list.md +143 -0
  288. package/docs/commands/liberica/client-contacts/update.md +158 -0
  289. package/docs/commands/liberica/locations/create.md +195 -0
  290. package/docs/commands/liberica/locations/list.md +171 -0
  291. package/docs/commands/liberica/stock/ledger.md +209 -0
  292. package/docs/commands/liberica/stock/list.md +165 -0
  293. package/docs/commands/liberica/supplier-contacts/create.md +152 -0
  294. package/docs/commands/liberica/supplier-contacts/delete.md +123 -0
  295. package/docs/commands/liberica/supplier-contacts/get.md +133 -0
  296. package/docs/commands/liberica/supplier-contacts/list.md +143 -0
  297. package/docs/commands/liberica/supplier-contacts/update.md +158 -0
  298. package/docs/commands/liberica/warehouses/create.md +222 -0
  299. package/docs/commands/liberica/warehouses/list.md +184 -0
  300. package/package.json +1 -1
  301. package/src/commands/liberica/calendar/index.ts +13 -0
  302. package/src/commands/liberica/calendar/list.ts +214 -0
  303. package/src/commands/liberica/calendar/set.ts +130 -0
  304. package/src/commands/liberica/client-contacts/create.ts +115 -0
  305. package/src/commands/liberica/client-contacts/delete.ts +140 -0
  306. package/src/commands/liberica/client-contacts/get.ts +103 -0
  307. package/src/commands/liberica/client-contacts/index.ts +19 -0
  308. package/src/commands/liberica/client-contacts/list.ts +118 -0
  309. package/src/commands/liberica/client-contacts/update.ts +137 -0
  310. package/src/commands/liberica/dict-types/get.ts +74 -0
  311. package/src/commands/liberica/dict-types/index.ts +15 -0
  312. package/src/commands/liberica/dict-types/list.ts +118 -0
  313. package/src/commands/liberica/dict-types/update.ts +134 -0
  314. package/src/commands/liberica/dicts/create.ts +175 -0
  315. package/src/commands/liberica/dicts/delete.ts +107 -0
  316. package/src/commands/liberica/dicts/get.ts +80 -0
  317. package/src/commands/liberica/dicts/index.ts +19 -0
  318. package/src/commands/liberica/dicts/list.ts +114 -0
  319. package/src/commands/liberica/dicts/update.ts +116 -0
  320. package/src/commands/liberica/index.ts +22 -0
  321. package/src/commands/liberica/materials/create.ts +32 -9
  322. package/src/commands/liberica/operations/active.ts +153 -0
  323. package/src/commands/liberica/operations/batch-delete.ts +131 -0
  324. package/src/commands/liberica/operations/copy.ts +138 -0
  325. package/src/commands/liberica/operations/create.ts +223 -0
  326. package/src/commands/liberica/operations/deactive.ts +152 -0
  327. package/src/commands/liberica/operations/delete.ts +128 -0
  328. package/src/commands/liberica/operations/design.md +587 -0
  329. package/src/commands/liberica/operations/get.ts +112 -0
  330. package/src/commands/liberica/operations/index.ts +27 -0
  331. package/src/commands/liberica/operations/list.ts +180 -0
  332. package/src/commands/liberica/operations/update.ts +218 -0
  333. package/src/commands/liberica/orgs/index.ts +0 -1
  334. package/src/commands/liberica/stock/index.ts +13 -0
  335. package/src/commands/liberica/stock/ledger.ts +159 -0
  336. package/src/commands/liberica/stock/list.ts +128 -0
  337. package/src/commands/liberica/supplier-contacts/create.ts +120 -0
  338. package/src/commands/liberica/supplier-contacts/delete.ts +88 -0
  339. package/src/commands/liberica/supplier-contacts/get.ts +94 -0
  340. package/src/commands/liberica/supplier-contacts/index.ts +19 -0
  341. package/src/commands/liberica/supplier-contacts/list.ts +130 -0
  342. package/src/commands/liberica/supplier-contacts/update.ts +127 -0
  343. package/src/commands/liberica/users/create.ts +1 -0
  344. package/src/commands/liberica/warehouses/create.ts +204 -0
  345. package/src/commands/liberica/warehouses/delete.ts +112 -0
  346. package/src/commands/liberica/warehouses/disable.ts +174 -0
  347. package/src/commands/liberica/warehouses/enable.ts +174 -0
  348. package/src/commands/liberica/warehouses/get.ts +101 -0
  349. package/src/commands/liberica/warehouses/index.ts +25 -0
  350. package/src/commands/liberica/warehouses/list.ts +136 -0
  351. package/src/commands/liberica/warehouses/locations/create.ts +209 -0
  352. package/src/commands/liberica/warehouses/locations/delete.ts +116 -0
  353. package/src/commands/liberica/warehouses/locations/disable.ts +174 -0
  354. package/src/commands/liberica/warehouses/locations/enable.ts +174 -0
  355. package/src/commands/liberica/warehouses/locations/get.ts +84 -0
  356. package/src/commands/liberica/warehouses/locations/index.ts +23 -0
  357. package/src/commands/liberica/warehouses/locations/list.ts +140 -0
  358. package/src/commands/liberica/warehouses/locations/update.ts +135 -0
  359. package/src/commands/liberica/warehouses/update.ts +142 -0
  360. package/src/core/api/client.ts +1493 -78
  361. package/src/index.ts +1 -3
  362. package/src/types/calendar.ts +36 -0
  363. package/src/types/client-contact.ts +78 -0
  364. package/src/types/dict.ts +121 -0
  365. package/src/types/index.ts +9 -4
  366. package/src/types/location.ts +66 -0
  367. package/src/types/operation.ts +72 -0
  368. package/src/types/stock.ts +161 -0
  369. package/src/types/supplier-contact.ts +78 -0
  370. package/src/types/warehouse.ts +82 -0
@@ -26,6 +26,18 @@ import {
26
26
  SupplierQueryParams,
27
27
  SupplierApiResponse,
28
28
  } from '../../types/supplier.js';
29
+ import {
30
+ CreateClientContactRequest,
31
+ UpdateClientContactRequest,
32
+ ClientContactQueryParams,
33
+ ClientContactApiResponse,
34
+ } from '../../types/client-contact.js';
35
+ import {
36
+ CreateSupplierContactRequest,
37
+ UpdateSupplierContactRequest,
38
+ SupplierContactQueryParams,
39
+ SupplierContactApiResponse,
40
+ } from '../../types/supplier-contact.js';
29
41
  import { OrgListItem } from '../../types/org.js';
30
42
  import { PositionListItem } from '../../types/position.js';
31
43
  import {
@@ -43,6 +55,45 @@ import {
43
55
  } from '../../types/currency.js';
44
56
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
45
57
  import { ApiResponse, Material, MaterialApiResponse, MaterialQueryParams, MaterialRequest } from '../../types/material.js';
58
+ import {
59
+ WarehouseQueryParams,
60
+ WarehouseApiResponse,
61
+ CreateWarehouseRequest,
62
+ UpdateWarehouseRequest,
63
+ } from '../../types/warehouse.js';
64
+ import {
65
+ LocationQueryParams,
66
+ LocationApiResponse,
67
+ CreateLocationRequest,
68
+ UpdateLocationRequest,
69
+ } from '../../types/location.js';
70
+ import {
71
+ UpdateDictTypeRequest,
72
+ DictTypeQueryParams,
73
+ DictItemQueryParams,
74
+ DictTypeApiResponse,
75
+ DictApiResponse,
76
+ CreateDictItemRequest,
77
+ UpdateDictItemRequest,
78
+ } from '../../types/dict.js';
79
+ import {
80
+ OperationQueryParams,
81
+ OperationApiResponse,
82
+ OperationCreateRequest,
83
+ OperationUpdateRequest,
84
+ } from '../../types/operation.js';
85
+ import {
86
+ MasterStockQueryParams,
87
+ MasterStockApiResponse,
88
+ StockJourneyQueryParams,
89
+ StockJourneyApiResponse,
90
+ StockJourneySummaryApiResponse,
91
+ } from '../../types/stock.js';
92
+ import {
93
+ CalendarQueryParams,
94
+ CalendarApiResponse,
95
+ CalendarSetRequest,
96
+ } from '../../types/calendar.js';
46
97
 
47
98
  export interface LoginResponse {
48
99
  token: string;
@@ -505,6 +556,180 @@ export const apiClient = {
505
556
  }
506
557
  },
507
558
 
559
+ async listDictTypes(
560
+ environment: Environment,
561
+ tenant: string,
562
+ params: DictTypeQueryParams
563
+ ): Promise<DictTypeApiResponse> {
564
+ try {
565
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
566
+ if (!token) {
567
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
568
+ }
569
+ const client = createAPIClient('liberica' as Service, environment, tenant);
570
+ client.setAuthToken(token);
571
+ const queryString = new URLSearchParams();
572
+ if (params.pageNo !== undefined) queryString.append('pageNo', params.pageNo.toString());
573
+ if (params.pageSize) queryString.append('pageSize', params.pageSize.toString());
574
+ if (params.status) queryString.append('status', params.status.toString());
575
+ if (params.dictTypeCode) queryString.append('dictTypeCode', params.dictTypeCode);
576
+ if (params.dictTypeName) queryString.append('dictTypeName', params.dictTypeName);
577
+ const url = `/api/enterprise/dictType/list${queryString.toString() ? '?' + queryString.toString() : ''}`;
578
+ const response = await client.getClient().get<DictTypeApiResponse>(url);
579
+ return response.data;
580
+ } catch (error) {
581
+ return handleApiErrorDictType(error);
582
+ }
583
+ },
584
+
585
+ async getDictType(
586
+ environment: Environment,
587
+ tenant: string,
588
+ dictTypeId: string
589
+ ): Promise<DictTypeApiResponse> {
590
+ try {
591
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
592
+ if (!token) {
593
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
594
+ }
595
+ const client = createAPIClient('liberica' as Service, environment, tenant);
596
+ client.setAuthToken(token);
597
+ const response = await client.getClient().get<DictTypeApiResponse>(
598
+ `/api/enterprise/dictType/detail?dictTypeId=${dictTypeId}`
599
+ );
600
+ return response.data;
601
+ } catch (error) {
602
+ return handleApiErrorDictType(error);
603
+ }
604
+ },
605
+
606
+ async updateDictType(
607
+ environment: Environment,
608
+ tenant: string,
609
+ data: UpdateDictTypeRequest
610
+ ): Promise<DictTypeApiResponse> {
611
+ try {
612
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
613
+ if (!token) {
614
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
615
+ }
616
+ const client = createAPIClient('liberica' as Service, environment, tenant);
617
+ client.setAuthToken(token);
618
+ const response = await client.getClient().post<DictTypeApiResponse>('/api/enterprise/dictType/edit', data);
619
+ return response.data;
620
+ } catch (error) {
621
+ return handleApiErrorDictType(error);
622
+ }
623
+ },
624
+
625
+ async listDictItems(
626
+ environment: Environment,
627
+ tenant: string,
628
+ params: DictItemQueryParams
629
+ ): Promise<DictApiResponse> {
630
+ try {
631
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
632
+ if (!token) {
633
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
634
+ }
635
+ const client = createAPIClient('liberica' as Service, environment, tenant);
636
+ client.setAuthToken(token);
637
+ const queryString = new URLSearchParams();
638
+ queryString.append('dictTypeCode', params.dictTypeCode);
639
+ if (params.pageNo !== undefined) queryString.append('pageNo', params.pageNo.toString());
640
+ if (params.pageSize) queryString.append('pageSize', params.pageSize.toString());
641
+ if (params.status) queryString.append('status', params.status.toString());
642
+ if (params.dictCode) queryString.append('dictCode', params.dictCode);
643
+ if (params.dictName) queryString.append('dictName', params.dictName);
644
+ const url = `/api/enterprise/master/dict/list?${queryString.toString()}`;
645
+ const response = await client.getClient().get<DictApiResponse>(url);
646
+ return response.data;
647
+ } catch (error) {
648
+ return handleApiErrorDict(error);
649
+ }
650
+ },
651
+
652
+ async getDictItem(
653
+ environment: Environment,
654
+ tenant: string,
655
+ dictId: string
656
+ ): Promise<DictApiResponse> {
657
+ try {
658
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
659
+ if (!token) {
660
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
661
+ }
662
+ const client = createAPIClient('liberica' as Service, environment, tenant);
663
+ client.setAuthToken(token);
664
+ const response = await client.getClient().get<DictApiResponse>(
665
+ `/api/enterprise/dict/detail?dictId=${dictId}`
666
+ );
667
+ return response.data;
668
+ } catch (error) {
669
+ return handleApiErrorDict(error);
670
+ }
671
+ },
672
+
673
+ async createDictItem(
674
+ environment: Environment,
675
+ tenant: string,
676
+ data: CreateDictItemRequest
677
+ ): Promise<DictApiResponse> {
678
+ try {
679
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
680
+ if (!token) {
681
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
682
+ }
683
+ const client = createAPIClient('liberica' as Service, environment, tenant);
684
+ client.setAuthToken(token);
685
+ const response = await client.getClient().post<DictApiResponse>('/api/enterprise/dict/add', data);
686
+ return response.data;
687
+ } catch (error) {
688
+ return handleApiErrorDict(error);
689
+ }
690
+ },
691
+
692
+ async updateDictItem(
693
+ environment: Environment,
694
+ tenant: string,
695
+ data: UpdateDictItemRequest
696
+ ): Promise<DictApiResponse> {
697
+ try {
698
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
699
+ if (!token) {
700
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
701
+ }
702
+ const client = createAPIClient('liberica' as Service, environment, tenant);
703
+ client.setAuthToken(token);
704
+ const response = await client.getClient().post<DictApiResponse>('/api/enterprise/dict/edit', data);
705
+ return response.data;
706
+ } catch (error) {
707
+ return handleApiErrorDict(error);
708
+ }
709
+ },
710
+
711
+ async deleteDictItem(
712
+ environment: Environment,
713
+ tenant: string,
714
+ dictId: string
715
+ ): Promise<DictApiResponse> {
716
+ try {
717
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
718
+ if (!token) {
719
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
720
+ }
721
+ const client = createAPIClient('liberica' as Service, environment, tenant);
722
+ client.setAuthToken(token);
723
+ const response = await client.getClient().post<DictApiResponse>(
724
+ '/api/enterprise/dict/delete',
725
+ { dictId }
726
+ );
727
+ return response.data;
728
+ } catch (error) {
729
+ return handleApiErrorDict(error);
730
+ }
731
+ },
732
+
508
733
  async listPositions(
509
734
  environment: Environment,
510
735
  tenant: string
@@ -539,7 +764,14 @@ export const apiClient = {
539
764
  } catch (error) {
540
765
  return handleApiError(error) as { success: boolean; data?: PositionListItem[]; error?: { code: string; message: string } };
541
766
  }
542
- },
767
+ },
768
+
769
+ async getOperationCode(
770
+ environment: Environment,
771
+ tenant: string
772
+ ): Promise<{ success: boolean; data?: string; error?: { code: string; message: string } }> {
773
+ return this.getCodeByType(environment, tenant, 'TenantOperationCode');
774
+ },
543
775
 
544
776
  async createUser(
545
777
  environment: Environment,
@@ -917,6 +1149,123 @@ export const apiClient = {
917
1149
  }
918
1150
  },
919
1151
 
1152
+ async listClientContacts(
1153
+ environment: Environment,
1154
+ tenant: string,
1155
+ params: ClientContactQueryParams
1156
+ ): Promise<ClientContactApiResponse> {
1157
+ try {
1158
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1159
+ if (!token) {
1160
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1161
+ }
1162
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1163
+ client.setAuthToken(token);
1164
+ const queryString = new URLSearchParams();
1165
+ if (params.clientId) queryString.append('clientId', params.clientId);
1166
+ const url = `/api/enterprise/sales/clientContact/list${queryString.toString() ? '?' + queryString.toString() : ''}`;
1167
+ const response = await client.getClient().get(url);
1168
+ const responseData = response.data;
1169
+
1170
+ if (responseData && responseData.data && Array.isArray(responseData.data)) {
1171
+ return {
1172
+ success: true,
1173
+ data: {
1174
+ rows: responseData.data,
1175
+ pageNo: 0,
1176
+ pageSize: responseData.data.length,
1177
+ totalRows: responseData.data.length,
1178
+ },
1179
+ };
1180
+ }
1181
+ return responseData as ClientContactApiResponse;
1182
+ } catch (error) {
1183
+ return handleApiErrorClientContact(error);
1184
+ }
1185
+ },
1186
+
1187
+ async getClientContact(
1188
+ environment: Environment,
1189
+ tenant: string,
1190
+ clientContactId: string
1191
+ ): Promise<ClientContactApiResponse> {
1192
+ try {
1193
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1194
+ if (!token) {
1195
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1196
+ }
1197
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1198
+ client.setAuthToken(token);
1199
+ const response = await client.getClient().get<ClientContactApiResponse>(
1200
+ `/api/enterprise/sales/clientContact/detail?clientContactId=${clientContactId}`
1201
+ );
1202
+ return response.data;
1203
+ } catch (error) {
1204
+ return handleApiErrorClientContact(error);
1205
+ }
1206
+ },
1207
+
1208
+ async createClientContact(
1209
+ environment: Environment,
1210
+ tenant: string,
1211
+ data: CreateClientContactRequest
1212
+ ): Promise<ClientContactApiResponse> {
1213
+ try {
1214
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1215
+ if (!token) {
1216
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1217
+ }
1218
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1219
+ client.setAuthToken(token);
1220
+ const response = await client.getClient().post<ClientContactApiResponse>('/api/enterprise/sales/clientContact/add', data);
1221
+ return response.data;
1222
+ } catch (error) {
1223
+ return handleApiErrorClientContact(error);
1224
+ }
1225
+ },
1226
+
1227
+ async updateClientContact(
1228
+ environment: Environment,
1229
+ tenant: string,
1230
+ data: UpdateClientContactRequest
1231
+ ): Promise<ClientContactApiResponse> {
1232
+ try {
1233
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1234
+ if (!token) {
1235
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1236
+ }
1237
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1238
+ client.setAuthToken(token);
1239
+ const response = await client.getClient().post<ClientContactApiResponse>('/api/enterprise/sales/clientContact/edit', data);
1240
+ return response.data;
1241
+ } catch (error) {
1242
+ return handleApiErrorClientContact(error);
1243
+ }
1244
+ },
1245
+
1246
+ async deleteClientContact(
1247
+ environment: Environment,
1248
+ tenant: string,
1249
+ clientContactId: string
1250
+ ): Promise<ClientContactApiResponse> {
1251
+ try {
1252
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1253
+ if (!token) {
1254
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1255
+ }
1256
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1257
+ client.setAuthToken(token);
1258
+ const response = await client.getClient().post<ClientContactApiResponse>(
1259
+ '/api/enterprise/sales/clientContact/delete',
1260
+ { clientContactId }
1261
+ );
1262
+ return response.data;
1263
+ } catch (error) {
1264
+ return handleApiErrorClientContact(error);
1265
+ }
1266
+ },
1267
+
1268
+
920
1269
  async listSuppliers(
921
1270
  environment: Environment,
922
1271
  tenant: string,
@@ -1137,11 +1486,11 @@ export const apiClient = {
1137
1486
  }
1138
1487
  },
1139
1488
 
1140
- async createMaterial(
1489
+ async listSupplierContacts(
1141
1490
  environment: Environment,
1142
1491
  tenant: string,
1143
- data: MaterialRequest
1144
- ): Promise<MaterialApiResponse> {
1492
+ params: SupplierContactQueryParams
1493
+ ): Promise<SupplierContactApiResponse> {
1145
1494
  try {
1146
1495
  const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1147
1496
  if (!token) {
@@ -1149,19 +1498,34 @@ export const apiClient = {
1149
1498
  }
1150
1499
  const client = createAPIClient('liberica' as Service, environment, tenant);
1151
1500
  client.setAuthToken(token);
1152
- const response = await client.getClient().post<MaterialApiResponse>('/api/enterprise/sales/material/add', data);
1153
- return response.data;
1501
+ const queryString = new URLSearchParams();
1502
+ if (params.supplierId) queryString.append('supplierId', params.supplierId);
1503
+ const url = `/api/enterprise/purchases/supplierContact/list${queryString.toString() ? '?' + queryString.toString() : ''}`;
1504
+ const response = await client.getClient().get(url);
1505
+ const responseData = response.data;
1506
+
1507
+ if (responseData && responseData.data && Array.isArray(responseData.data)) {
1508
+ return {
1509
+ success: true,
1510
+ data: {
1511
+ rows: responseData.data,
1512
+ pageNo: 0,
1513
+ pageSize: responseData.data.length,
1514
+ totalRows: responseData.data.length,
1515
+ },
1516
+ };
1517
+ }
1518
+ return responseData as SupplierContactApiResponse;
1154
1519
  } catch (error) {
1155
- return handleApiErrorMaterial(error);
1520
+ return handleApiErrorSupplierContact(error);
1156
1521
  }
1157
1522
  },
1158
1523
 
1159
- async updateMaterial(
1524
+ async getSupplierContact(
1160
1525
  environment: Environment,
1161
1526
  tenant: string,
1162
- materialId: string,
1163
- data: MaterialRequest
1164
- ): Promise<MaterialApiResponse> {
1527
+ supplierContactId: string
1528
+ ): Promise<SupplierContactApiResponse> {
1165
1529
  try {
1166
1530
  const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1167
1531
  if (!token) {
@@ -1169,18 +1533,20 @@ export const apiClient = {
1169
1533
  }
1170
1534
  const client = createAPIClient('liberica' as Service, environment, tenant);
1171
1535
  client.setAuthToken(token);
1172
- const response = await client.getClient().post<MaterialApiResponse>('/api/enterprise/sales/material/edit', { materialId, ...data });
1536
+ const response = await client.getClient().get<SupplierContactApiResponse>(
1537
+ `/api/enterprise/purchases/supplierContact/detail?supplierContactId=${supplierContactId}`
1538
+ );
1173
1539
  return response.data;
1174
1540
  } catch (error) {
1175
- return handleApiErrorMaterial(error);
1541
+ return handleApiErrorSupplierContact(error);
1176
1542
  }
1177
1543
  },
1178
1544
 
1179
- async disableMaterial(
1545
+ async createSupplierContact(
1180
1546
  environment: Environment,
1181
1547
  tenant: string,
1182
- materialId: string
1183
- ): Promise<MaterialApiResponse> {
1548
+ data: CreateSupplierContactRequest
1549
+ ): Promise<SupplierContactApiResponse> {
1184
1550
  try {
1185
1551
  const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1186
1552
  if (!token) {
@@ -1188,21 +1554,18 @@ export const apiClient = {
1188
1554
  }
1189
1555
  const client = createAPIClient('liberica' as Service, environment, tenant);
1190
1556
  client.setAuthToken(token);
1191
- const response = await client.getClient().post<MaterialApiResponse>(
1192
- '/api/enterprise/sales/material/batchDeActive',
1193
- { materialIdList: [materialId] }
1194
- );
1557
+ const response = await client.getClient().post<SupplierContactApiResponse>('/api/enterprise/purchases/supplierContact/add', data);
1195
1558
  return response.data;
1196
1559
  } catch (error) {
1197
- return handleApiErrorMaterial(error);
1560
+ return handleApiErrorSupplierContact(error);
1198
1561
  }
1199
1562
  },
1200
1563
 
1201
- async enableMaterial(
1564
+ async updateSupplierContact(
1202
1565
  environment: Environment,
1203
1566
  tenant: string,
1204
- materialId: string
1205
- ): Promise<MaterialApiResponse> {
1567
+ data: UpdateSupplierContactRequest
1568
+ ): Promise<SupplierContactApiResponse> {
1206
1569
  try {
1207
1570
  const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1208
1571
  if (!token) {
@@ -1210,21 +1573,18 @@ export const apiClient = {
1210
1573
  }
1211
1574
  const client = createAPIClient('liberica' as Service, environment, tenant);
1212
1575
  client.setAuthToken(token);
1213
- const response = await client.getClient().post<MaterialApiResponse>(
1214
- '/api/enterprise/sales/material/batchActive',
1215
- { materialIdList: [materialId] }
1216
- );
1576
+ const response = await client.getClient().post<SupplierContactApiResponse>('/api/enterprise/purchases/supplierContact/edit', data);
1217
1577
  return response.data;
1218
1578
  } catch (error) {
1219
- return handleApiErrorMaterial(error);
1579
+ return handleApiErrorSupplierContact(error);
1220
1580
  }
1221
1581
  },
1222
1582
 
1223
- async listUoms(
1583
+ async deleteSupplierContact(
1224
1584
  environment: Environment,
1225
1585
  tenant: string,
1226
- params: UomQueryParams
1227
- ): Promise<UomApiResponse> {
1586
+ supplierContactId: string
1587
+ ): Promise<SupplierContactApiResponse> {
1228
1588
  try {
1229
1589
  const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1230
1590
  if (!token) {
@@ -1232,7 +1592,245 @@ export const apiClient = {
1232
1592
  }
1233
1593
  const client = createAPIClient('liberica' as Service, environment, tenant);
1234
1594
  client.setAuthToken(token);
1235
- const queryString = new URLSearchParams();
1595
+ const response = await client.getClient().post<SupplierContactApiResponse>(
1596
+ '/api/enterprise/purchases/supplierContact/delete',
1597
+ { supplierContactId }
1598
+ );
1599
+ return response.data;
1600
+ } catch (error) {
1601
+ return handleApiErrorSupplierContact(error);
1602
+ }
1603
+ },
1604
+
1605
+ async createMaterial(
1606
+ environment: Environment,
1607
+ tenant: string,
1608
+ data: MaterialRequest
1609
+ ): Promise<MaterialApiResponse> {
1610
+ try {
1611
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1612
+ if (!token) {
1613
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1614
+ }
1615
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1616
+ client.setAuthToken(token);
1617
+ const response = await client.getClient().post<MaterialApiResponse>('/api/enterprise/sales/material/add', data);
1618
+ return response.data;
1619
+ } catch (error) {
1620
+ return handleApiErrorMaterial(error);
1621
+ }
1622
+ },
1623
+
1624
+ async updateMaterial(
1625
+ environment: Environment,
1626
+ tenant: string,
1627
+ materialId: string,
1628
+ data: MaterialRequest
1629
+ ): Promise<MaterialApiResponse> {
1630
+ try {
1631
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1632
+ if (!token) {
1633
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1634
+ }
1635
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1636
+ client.setAuthToken(token);
1637
+ const response = await client.getClient().post<MaterialApiResponse>('/api/enterprise/sales/material/edit', { materialId, ...data });
1638
+ return response.data;
1639
+ } catch (error) {
1640
+ return handleApiErrorMaterial(error);
1641
+ }
1642
+ },
1643
+
1644
+ async disableMaterial(
1645
+ environment: Environment,
1646
+ tenant: string,
1647
+ materialId: string
1648
+ ): Promise<MaterialApiResponse> {
1649
+ try {
1650
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1651
+ if (!token) {
1652
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1653
+ }
1654
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1655
+ client.setAuthToken(token);
1656
+ const response = await client.getClient().post<MaterialApiResponse>(
1657
+ '/api/enterprise/sales/material/batchDeActive',
1658
+ { materialIdList: [materialId] }
1659
+ );
1660
+ return response.data;
1661
+ } catch (error) {
1662
+ return handleApiErrorMaterial(error);
1663
+ }
1664
+ },
1665
+
1666
+ async enableMaterial(
1667
+ environment: Environment,
1668
+ tenant: string,
1669
+ materialId: string
1670
+ ): Promise<MaterialApiResponse> {
1671
+ try {
1672
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1673
+ if (!token) {
1674
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1675
+ }
1676
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1677
+ client.setAuthToken(token);
1678
+ const response = await client.getClient().post<MaterialApiResponse>(
1679
+ '/api/enterprise/sales/material/batchActive',
1680
+ { materialIdList: [materialId] }
1681
+ );
1682
+ return response.data;
1683
+ } catch (error) {
1684
+ return handleApiErrorMaterial(error);
1685
+ }
1686
+ },
1687
+
1688
+ async listStock(
1689
+ environment: Environment,
1690
+ tenant: string,
1691
+ params: MasterStockQueryParams
1692
+ ): Promise<MasterStockApiResponse> {
1693
+ try {
1694
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1695
+ if (!token) {
1696
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in...' } };
1697
+ }
1698
+
1699
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1700
+ client.setAuthToken(token);
1701
+
1702
+ const searchParams = new URLSearchParams();
1703
+ Object.entries(params).forEach(([key, value]) => {
1704
+ if (value !== undefined && value !== null) {
1705
+ searchParams.append(key, String(value));
1706
+ }
1707
+ });
1708
+
1709
+ const url = `/api/enterprise/master/stock/page/withWarehouse?${searchParams.toString()}`;
1710
+ const response = await client.getClient().get<MasterStockApiResponse>(url);
1711
+ return response.data;
1712
+ } catch (error) {
1713
+ return handleApiErrorStock(error);
1714
+ }
1715
+ },
1716
+
1717
+ async listStockLedger(
1718
+ environment: Environment,
1719
+ tenant: string,
1720
+ params: StockJourneyQueryParams
1721
+ ): Promise<StockJourneyApiResponse> {
1722
+ try {
1723
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1724
+ if (!token) {
1725
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in...' } };
1726
+ }
1727
+
1728
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1729
+ client.setAuthToken(token);
1730
+
1731
+ const searchParams = new URLSearchParams();
1732
+ Object.entries(params).forEach(([key, value]) => {
1733
+ if (value !== undefined && value !== null) {
1734
+ searchParams.append(key, String(value));
1735
+ }
1736
+ });
1737
+
1738
+ const url = `/api/enterprise/master/stock/journey/page?${searchParams.toString()}`;
1739
+ const response = await client.getClient().get<StockJourneyApiResponse>(url);
1740
+ return response.data;
1741
+ } catch (error) {
1742
+ return handleApiErrorStock(error) as unknown as StockJourneyApiResponse;
1743
+ }
1744
+ },
1745
+
1746
+ async getStockLedgerSummary(
1747
+ environment: Environment,
1748
+ tenant: string,
1749
+ params: StockJourneyQueryParams
1750
+ ): Promise<StockJourneySummaryApiResponse> {
1751
+ try {
1752
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1753
+ if (!token) {
1754
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in...' } };
1755
+ }
1756
+
1757
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1758
+ client.setAuthToken(token);
1759
+
1760
+ const searchParams = new URLSearchParams();
1761
+ Object.entries(params).forEach(([key, value]) => {
1762
+ if (value !== undefined && value !== null) {
1763
+ searchParams.append(key, String(value));
1764
+ }
1765
+ });
1766
+
1767
+ const url = `/api/enterprise/master/stock/journey/page/summary?${searchParams.toString()}`;
1768
+ const response = await client.getClient().get<StockJourneySummaryApiResponse>(url);
1769
+ return response.data;
1770
+ } catch (error) {
1771
+ return handleApiErrorStock(error) as unknown as StockJourneySummaryApiResponse;
1772
+ }
1773
+ },
1774
+
1775
+ async listCalendar(
1776
+ environment: Environment,
1777
+ tenant: string,
1778
+ params: CalendarQueryParams
1779
+ ): Promise<CalendarApiResponse> {
1780
+ try {
1781
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1782
+ if (!token) {
1783
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1784
+ }
1785
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1786
+ client.setAuthToken(token);
1787
+ const queryString = new URLSearchParams();
1788
+ queryString.append('year', params.year.toString());
1789
+ queryString.append('month', params.month.toString());
1790
+ if (params.months) queryString.append('months', params.months.toString());
1791
+ const url = `/api/enterprise/portal/calendar/page?${queryString.toString()}`;
1792
+ const response = await client.getClient().get<CalendarApiResponse>(url);
1793
+ return response.data;
1794
+ } catch (error) {
1795
+ return handleApiError(error) as CalendarApiResponse;
1796
+ }
1797
+ },
1798
+
1799
+ async setCalendar(
1800
+ environment: Environment,
1801
+ tenant: string,
1802
+ request: CalendarSetRequest
1803
+ ): Promise<APIResponse<void>> {
1804
+ try {
1805
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1806
+ if (!token) {
1807
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1808
+ }
1809
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1810
+ client.setAuthToken(token);
1811
+ const response = await client.getClient().post<APIResponse<void>>(
1812
+ '/api/enterprise/portal/calendar/edit',
1813
+ request
1814
+ );
1815
+ return response.data;
1816
+ } catch (error) {
1817
+ return handleApiError(error) as APIResponse<void>;
1818
+ }
1819
+ },
1820
+
1821
+ async listUoms(
1822
+ environment: Environment,
1823
+ tenant: string,
1824
+ params: UomQueryParams
1825
+ ): Promise<UomApiResponse> {
1826
+ try {
1827
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1828
+ if (!token) {
1829
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1830
+ }
1831
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1832
+ client.setAuthToken(token);
1833
+ const queryString = new URLSearchParams();
1236
1834
  if (params.pageNo !== undefined) queryString.append('pageNo', params.pageNo.toString());
1237
1835
  if (params.pageSize) queryString.append('pageSize', params.pageSize.toString());
1238
1836
  if (params.status) queryString.append('status', params.status.toString());
@@ -1561,54 +2159,637 @@ export const apiClient = {
1561
2159
  }
1562
2160
  },
1563
2161
 
1564
- };
2162
+ async listWarehouses(
2163
+ environment: Environment,
2164
+ tenant: string,
2165
+ params: WarehouseQueryParams
2166
+ ): Promise<WarehouseApiResponse> {
2167
+ try {
2168
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2169
+ if (!token) {
2170
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2171
+ }
2172
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2173
+ client.setAuthToken(token);
2174
+ const response = await client.getClient().get<WarehouseApiResponse>(
2175
+ '/api/enterprise/purchases/warehouse/page',
2176
+ { params }
2177
+ );
2178
+ return response.data;
2179
+ } catch (error) {
2180
+ return handleApiErrorWarehouse(error);
2181
+ }
2182
+ },
1565
2183
 
1566
- function handleApiError(error: unknown): EmployeeApiResponse {
1567
- if (axios.isAxiosError(error)) {
1568
- const axiosError = error as AxiosError<Record<string, unknown>>;
1569
- const responseData = axiosError.response?.data;
1570
- if (responseData) {
1571
- const success = responseData.success as boolean | undefined;
1572
- if (success === false) {
1573
- const code = responseData.code as string | undefined;
1574
- const message = responseData.message as string | undefined;
1575
- const errorObj = responseData.error as { code?: string; message?: string } | undefined;
1576
- if (!errorObj && (code || message)) {
1577
- return {
1578
- success: false,
1579
- error: {
1580
- code: code || 'API_ERROR',
1581
- message: message || 'API error occurred',
1582
- },
1583
- };
1584
- }
2184
+ async getWarehouse(
2185
+ environment: Environment,
2186
+ tenant: string,
2187
+ warehouseId: string
2188
+ ): Promise<WarehouseApiResponse> {
2189
+ try {
2190
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2191
+ if (!token) {
2192
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1585
2193
  }
1586
- return responseData as unknown as EmployeeApiResponse;
2194
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2195
+ client.setAuthToken(token);
2196
+ const response = await client.getClient().get<WarehouseApiResponse>(
2197
+ `/api/enterprise/purchases/warehouse/detail?warehouseId=${warehouseId}`
2198
+ );
2199
+ return response.data;
2200
+ } catch (error) {
2201
+ return handleApiErrorWarehouse(error);
1587
2202
  }
1588
- return {
1589
- success: false,
1590
- error: {
1591
- code: 'NETWORK_ERROR',
1592
- message: axiosError.message || 'Network error occurred',
1593
- },
1594
- };
1595
- }
1596
- return {
1597
- success: false,
1598
- error: {
1599
- code: 'UNKNOWN_ERROR',
1600
- message: error instanceof Error ? error.message : 'Unknown error occurred',
1601
- },
1602
- };
1603
- }
2203
+ },
1604
2204
 
1605
- function handleApiErrorClient(error: unknown): ClientApiResponse {
1606
- if (axios.isAxiosError(error)) {
1607
- const axiosError = error as AxiosError<Record<string, unknown>>;
1608
- const responseData = axiosError.response?.data;
1609
- if (responseData) {
1610
- const success = responseData.success as boolean | undefined;
1611
- if (success === false) {
2205
+ async createWarehouse(
2206
+ environment: Environment,
2207
+ tenant: string,
2208
+ data: CreateWarehouseRequest
2209
+ ): Promise<WarehouseApiResponse> {
2210
+ try {
2211
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2212
+ if (!token) {
2213
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2214
+ }
2215
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2216
+ client.setAuthToken(token);
2217
+ const response = await client.getClient().post<WarehouseApiResponse>(
2218
+ '/api/enterprise/purchases/warehouse/add',
2219
+ data
2220
+ );
2221
+ return response.data;
2222
+ } catch (error) {
2223
+ return handleApiErrorWarehouse(error);
2224
+ }
2225
+ },
2226
+
2227
+ async updateWarehouse(
2228
+ environment: Environment,
2229
+ tenant: string,
2230
+ data: UpdateWarehouseRequest
2231
+ ): Promise<WarehouseApiResponse> {
2232
+ try {
2233
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2234
+ if (!token) {
2235
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2236
+ }
2237
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2238
+ client.setAuthToken(token);
2239
+ const response = await client.getClient().post<WarehouseApiResponse>(
2240
+ '/api/enterprise/purchases/warehouse/edit',
2241
+ data
2242
+ );
2243
+ return response.data;
2244
+ } catch (error) {
2245
+ return handleApiErrorWarehouse(error);
2246
+ }
2247
+ },
2248
+
2249
+ async deleteWarehouse(
2250
+ environment: Environment,
2251
+ tenant: string,
2252
+ warehouseId: string
2253
+ ): Promise<WarehouseApiResponse> {
2254
+ try {
2255
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2256
+ if (!token) {
2257
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2258
+ }
2259
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2260
+ client.setAuthToken(token);
2261
+ const response = await client.getClient().post<WarehouseApiResponse>(
2262
+ '/api/enterprise/purchases/warehouse/delete',
2263
+ { warehouseId }
2264
+ );
2265
+ return response.data;
2266
+ } catch (error) {
2267
+ return handleApiErrorWarehouse(error);
2268
+ }
2269
+ },
2270
+
2271
+ async batchEnableWarehouses(
2272
+ environment: Environment,
2273
+ tenant: string,
2274
+ warehouseIds: string[]
2275
+ ): Promise<WarehouseApiResponse> {
2276
+ try {
2277
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2278
+ if (!token) {
2279
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2280
+ }
2281
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2282
+ client.setAuthToken(token);
2283
+ const response = await client.getClient().post<WarehouseApiResponse>(
2284
+ '/api/enterprise/purchases/warehouse/batchActive',
2285
+ { warehouseIdList: warehouseIds }
2286
+ );
2287
+ return response.data;
2288
+ } catch (error) {
2289
+ return handleApiErrorWarehouse(error);
2290
+ }
2291
+ },
2292
+
2293
+ async batchDisableWarehouses(
2294
+ environment: Environment,
2295
+ tenant: string,
2296
+ warehouseIds: string[]
2297
+ ): Promise<WarehouseApiResponse> {
2298
+ try {
2299
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2300
+ if (!token) {
2301
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2302
+ }
2303
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2304
+ client.setAuthToken(token);
2305
+ const response = await client.getClient().post<WarehouseApiResponse>(
2306
+ '/api/enterprise/purchases/warehouse/batchDeActive',
2307
+ { warehouseIdList: warehouseIds }
2308
+ );
2309
+ return response.data;
2310
+ } catch (error) {
2311
+ return handleApiErrorWarehouse(error);
2312
+ }
2313
+ },
2314
+
2315
+ async listLocations(
2316
+ environment: Environment,
2317
+ tenant: string,
2318
+ params: LocationQueryParams
2319
+ ): Promise<LocationApiResponse> {
2320
+ try {
2321
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2322
+ if (!token) {
2323
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2324
+ }
2325
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2326
+ client.setAuthToken(token);
2327
+ const response = await client.getClient().get<LocationApiResponse>(
2328
+ '/api/enterprise/purchases/warehouse/location/page',
2329
+ { params }
2330
+ );
2331
+ return response.data;
2332
+ } catch (error) {
2333
+ return handleApiErrorLocation(error);
2334
+ }
2335
+ },
2336
+
2337
+ async getLocation(
2338
+ environment: Environment,
2339
+ tenant: string,
2340
+ warehouseLocationId: string
2341
+ ): Promise<LocationApiResponse> {
2342
+ try {
2343
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2344
+ if (!token) {
2345
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2346
+ }
2347
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2348
+ client.setAuthToken(token);
2349
+ const response = await client.getClient().get<LocationApiResponse>(
2350
+ `/api/enterprise/purchases/warehouse/location/detail?warehouseLocationId=${warehouseLocationId}`
2351
+ );
2352
+ return response.data;
2353
+ } catch (error) {
2354
+ return handleApiErrorLocation(error);
2355
+ }
2356
+ },
2357
+
2358
+ async createLocation(
2359
+ environment: Environment,
2360
+ tenant: string,
2361
+ data: CreateLocationRequest
2362
+ ): Promise<LocationApiResponse> {
2363
+ try {
2364
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2365
+ if (!token) {
2366
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2367
+ }
2368
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2369
+ client.setAuthToken(token);
2370
+ const response = await client.getClient().post<LocationApiResponse>(
2371
+ '/api/enterprise/purchases/warehouse/location/add',
2372
+ data
2373
+ );
2374
+ return response.data;
2375
+ } catch (error) {
2376
+ return handleApiErrorLocation(error);
2377
+ }
2378
+ },
2379
+
2380
+ async updateLocation(
2381
+ environment: Environment,
2382
+ tenant: string,
2383
+ data: UpdateLocationRequest
2384
+ ): Promise<LocationApiResponse> {
2385
+ try {
2386
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2387
+ if (!token) {
2388
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2389
+ }
2390
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2391
+ client.setAuthToken(token);
2392
+ const response = await client.getClient().post<LocationApiResponse>(
2393
+ '/api/enterprise/purchases/warehouse/location/edit',
2394
+ data
2395
+ );
2396
+ return response.data;
2397
+ } catch (error) {
2398
+ return handleApiErrorLocation(error);
2399
+ }
2400
+ },
2401
+
2402
+ async deleteLocation(
2403
+ environment: Environment,
2404
+ tenant: string,
2405
+ warehouseLocationId: string
2406
+ ): Promise<LocationApiResponse> {
2407
+ try {
2408
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2409
+ if (!token) {
2410
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2411
+ }
2412
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2413
+ client.setAuthToken(token);
2414
+ const response = await client.getClient().post<LocationApiResponse>(
2415
+ '/api/enterprise/purchases/warehouse/location/delete',
2416
+ { warehouseLocationId }
2417
+ );
2418
+ return response.data;
2419
+ } catch (error) {
2420
+ return handleApiErrorLocation(error);
2421
+ }
2422
+ },
2423
+
2424
+ async batchEnableLocations(
2425
+ environment: Environment,
2426
+ tenant: string,
2427
+ warehouseLocationIds: string[]
2428
+ ): Promise<LocationApiResponse> {
2429
+ try {
2430
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2431
+ if (!token) {
2432
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2433
+ }
2434
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2435
+ client.setAuthToken(token);
2436
+ const response = await client.getClient().post<LocationApiResponse>(
2437
+ '/api/enterprise/purchases/warehouse/location/batchActive',
2438
+ { warehouseLocationIdList: warehouseLocationIds }
2439
+ );
2440
+ return response.data;
2441
+ } catch (error) {
2442
+ return handleApiErrorLocation(error);
2443
+ }
2444
+ },
2445
+
2446
+ async batchDisableLocations(
2447
+ environment: Environment,
2448
+ tenant: string,
2449
+ warehouseLocationIds: string[]
2450
+ ): Promise<LocationApiResponse> {
2451
+ try {
2452
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2453
+ if (!token) {
2454
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2455
+ }
2456
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2457
+ client.setAuthToken(token);
2458
+ const response = await client.getClient().post<LocationApiResponse>(
2459
+ '/api/enterprise/purchases/warehouse/location/batchDeActive',
2460
+ { warehouseLocationIdList: warehouseLocationIds }
2461
+ );
2462
+ return response.data;
2463
+ } catch (error) {
2464
+ return handleApiErrorLocation(error);
2465
+ }
2466
+ },
2467
+
2468
+ async listOperations(
2469
+ environment: Environment,
2470
+ tenant: string,
2471
+ params: OperationQueryParams
2472
+ ): Promise<OperationApiResponse> {
2473
+ try {
2474
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2475
+ if (!token) {
2476
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2477
+ }
2478
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2479
+ client.setAuthToken(token);
2480
+ const queryString = new URLSearchParams();
2481
+ if (params.pageNo !== undefined) queryString.append('pageNo', params.pageNo.toString());
2482
+ if (params.pageSize) queryString.append('pageSize', params.pageSize.toString());
2483
+ if (params.status) queryString.append('status', params.status.toString());
2484
+ if (params.operationCode) queryString.append('operationCode', params.operationCode);
2485
+ if (params.operationName) queryString.append('operationName', params.operationName);
2486
+ if (params.operationType) queryString.append('operationType', params.operationType);
2487
+ if (params.workCenterCode) queryString.append('workCenterCode', params.workCenterCode);
2488
+ const url = `/api/enterprise/manufacture/operation/page${queryString.toString() ? '?' + queryString.toString() : ''}`;
2489
+ const response = await client.getClient().get<OperationApiResponse>(url);
2490
+ return response.data;
2491
+ } catch (error) {
2492
+ return handleApiErrorOperation(error);
2493
+ }
2494
+ },
2495
+
2496
+ async getOperationDetail(
2497
+ environment: Environment,
2498
+ tenant: string,
2499
+ idOrCode: string
2500
+ ): Promise<OperationApiResponse> {
2501
+ try {
2502
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2503
+ if (!token) {
2504
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2505
+ }
2506
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2507
+ client.setAuthToken(token);
2508
+ const isNumeric = /^\d+$/.test(idOrCode);
2509
+ const paramName = isNumeric ? 'operationId' : 'operationCode';
2510
+ const response = await client.getClient().get<OperationApiResponse>(
2511
+ `/api/enterprise/manufacture/operation/detail?${paramName}=${encodeURIComponent(idOrCode)}`
2512
+ );
2513
+ return response.data;
2514
+ } catch (error) {
2515
+ return handleApiErrorOperation(error);
2516
+ }
2517
+ },
2518
+
2519
+ async createOperation(
2520
+ environment: Environment,
2521
+ tenant: string,
2522
+ data: OperationCreateRequest
2523
+ ): Promise<OperationApiResponse> {
2524
+ try {
2525
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2526
+ if (!token) {
2527
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2528
+ }
2529
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2530
+ client.setAuthToken(token);
2531
+ const response = await client.getClient().post<OperationApiResponse>('/api/enterprise/manufacture/operation/add', data);
2532
+ return response.data;
2533
+ } catch (error) {
2534
+ return handleApiErrorOperation(error);
2535
+ }
2536
+ },
2537
+
2538
+ async updateOperation(
2539
+ environment: Environment,
2540
+ tenant: string,
2541
+ data: OperationUpdateRequest
2542
+ ): Promise<OperationApiResponse> {
2543
+ try {
2544
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2545
+ if (!token) {
2546
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2547
+ }
2548
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2549
+ client.setAuthToken(token);
2550
+ const response = await client.getClient().post<OperationApiResponse>('/api/enterprise/manufacture/operation/edit', data);
2551
+ return response.data;
2552
+ } catch (error) {
2553
+ return handleApiErrorOperation(error);
2554
+ }
2555
+ },
2556
+
2557
+ async deleteOperation(
2558
+ environment: Environment,
2559
+ tenant: string,
2560
+ operationId: string
2561
+ ): Promise<OperationApiResponse> {
2562
+ try {
2563
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2564
+ if (!token) {
2565
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2566
+ }
2567
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2568
+ client.setAuthToken(token);
2569
+ const response = await client.getClient().post<OperationApiResponse>(
2570
+ '/api/enterprise/manufacture/operation/delete',
2571
+ { operationId }
2572
+ );
2573
+ return response.data;
2574
+ } catch (error) {
2575
+ return handleApiErrorOperation(error);
2576
+ }
2577
+ },
2578
+
2579
+ async batchDeleteOperations(
2580
+ environment: Environment,
2581
+ tenant: string,
2582
+ operationIds: string[]
2583
+ ): Promise<OperationApiResponse> {
2584
+ try {
2585
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2586
+ if (!token) {
2587
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2588
+ }
2589
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2590
+ client.setAuthToken(token);
2591
+ const response = await client.getClient().post<OperationApiResponse>(
2592
+ '/api/enterprise/manufacture/operation/batchDelete',
2593
+ { operationIdList: operationIds }
2594
+ );
2595
+ return response.data;
2596
+ } catch (error) {
2597
+ return handleApiErrorOperation(error);
2598
+ }
2599
+ },
2600
+
2601
+ async copyOperation(
2602
+ environment: Environment,
2603
+ tenant: string,
2604
+ operationId: string
2605
+ ): Promise<OperationApiResponse> {
2606
+ try {
2607
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2608
+ if (!token) {
2609
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2610
+ }
2611
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2612
+ client.setAuthToken(token);
2613
+ const response = await client.getClient().post<OperationApiResponse>(
2614
+ '/api/enterprise/manufacture/operation/copy',
2615
+ { operationId }
2616
+ );
2617
+ return response.data;
2618
+ } catch (error) {
2619
+ return handleApiErrorOperation(error);
2620
+ }
2621
+ },
2622
+
2623
+ async batchActiveOperations(
2624
+ environment: Environment,
2625
+ tenant: string,
2626
+ operationIds: string[]
2627
+ ): Promise<OperationApiResponse> {
2628
+ try {
2629
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2630
+ if (!token) {
2631
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2632
+ }
2633
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2634
+ client.setAuthToken(token);
2635
+ const response = await client.getClient().post<OperationApiResponse>(
2636
+ '/api/enterprise/manufacture/operation/batchActive',
2637
+ { operationIdList: operationIds }
2638
+ );
2639
+ return response.data;
2640
+ } catch (error) {
2641
+ return handleApiErrorOperation(error);
2642
+ }
2643
+ },
2644
+
2645
+ async batchDeActiveOperations(
2646
+ environment: Environment,
2647
+ tenant: string,
2648
+ operationIds: string[]
2649
+ ): Promise<OperationApiResponse> {
2650
+ try {
2651
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
2652
+ if (!token) {
2653
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
2654
+ }
2655
+ const client = createAPIClient('liberica' as Service, environment, tenant);
2656
+ client.setAuthToken(token);
2657
+ const response = await client.getClient().post<OperationApiResponse>(
2658
+ '/api/enterprise/manufacture/operation/batchDeActive',
2659
+ { operationIdList: operationIds }
2660
+ );
2661
+ return response.data;
2662
+ } catch (error) {
2663
+ return handleApiErrorOperation(error);
2664
+ }
2665
+ },
2666
+
2667
+ };
2668
+
2669
+ function handleApiError(error: unknown): EmployeeApiResponse {
2670
+ if (axios.isAxiosError(error)) {
2671
+ const axiosError = error as AxiosError<Record<string, unknown>>;
2672
+ const responseData = axiosError.response?.data;
2673
+ if (responseData) {
2674
+ const success = responseData.success as boolean | undefined;
2675
+ if (success === false) {
2676
+ const code = responseData.code as string | undefined;
2677
+ const message = responseData.message as string | undefined;
2678
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
2679
+ if (!errorObj && (code || message)) {
2680
+ return {
2681
+ success: false,
2682
+ error: {
2683
+ code: code || 'API_ERROR',
2684
+ message: message || 'API error occurred',
2685
+ },
2686
+ };
2687
+ }
2688
+ }
2689
+ return responseData as unknown as EmployeeApiResponse;
2690
+ }
2691
+ return {
2692
+ success: false,
2693
+ error: {
2694
+ code: 'NETWORK_ERROR',
2695
+ message: axiosError.message || 'Network error occurred',
2696
+ },
2697
+ };
2698
+ }
2699
+ return {
2700
+ success: false,
2701
+ error: {
2702
+ code: 'UNKNOWN_ERROR',
2703
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
2704
+ },
2705
+ };
2706
+ }
2707
+
2708
+ function handleApiErrorClient(error: unknown): ClientApiResponse {
2709
+ if (axios.isAxiosError(error)) {
2710
+ const axiosError = error as AxiosError<Record<string, unknown>>;
2711
+ const responseData = axiosError.response?.data;
2712
+ if (responseData) {
2713
+ const success = responseData.success as boolean | undefined;
2714
+ if (success === false) {
2715
+ const code = responseData.code as string | undefined;
2716
+ const message = responseData.message as string | undefined;
2717
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
2718
+ if (!errorObj && (code || message)) {
2719
+ return {
2720
+ success: false,
2721
+ error: {
2722
+ code: code || 'API_ERROR',
2723
+ message: message || 'API error occurred',
2724
+ },
2725
+ };
2726
+ }
2727
+ }
2728
+ return responseData as unknown as ClientApiResponse;
2729
+ }
2730
+ return {
2731
+ success: false,
2732
+ error: {
2733
+ code: 'NETWORK_ERROR',
2734
+ message: axiosError.message || 'Network error occurred',
2735
+ },
2736
+ };
2737
+ }
2738
+ return {
2739
+ success: false,
2740
+ error: {
2741
+ code: 'UNKNOWN_ERROR',
2742
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
2743
+ },
2744
+ };
2745
+ }
2746
+
2747
+ function handleApiErrorClientContact(error: unknown): ClientContactApiResponse {
2748
+ if (axios.isAxiosError(error)) {
2749
+ const axiosError = error as AxiosError<Record<string, unknown>>;
2750
+ const responseData = axiosError.response?.data;
2751
+ if (responseData) {
2752
+ const success = responseData.success as boolean | undefined;
2753
+ if (success === false) {
2754
+ const code = responseData.code as string | undefined;
2755
+ const message = responseData.message as string | undefined;
2756
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
2757
+ if (!errorObj && (code || message)) {
2758
+ return {
2759
+ success: false,
2760
+ error: {
2761
+ code: code || 'API_ERROR',
2762
+ message: message || 'API error occurred',
2763
+ },
2764
+ };
2765
+ }
2766
+ }
2767
+ return responseData as unknown as ClientContactApiResponse;
2768
+ }
2769
+ return {
2770
+ success: false,
2771
+ error: {
2772
+ code: 'NETWORK_ERROR',
2773
+ message: axiosError.message || 'Network error occurred',
2774
+ },
2775
+ };
2776
+ }
2777
+ return {
2778
+ success: false,
2779
+ error: {
2780
+ code: 'UNKNOWN_ERROR',
2781
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
2782
+ },
2783
+ };
2784
+ }
2785
+
2786
+ function handleApiErrorSupplierContact(error: unknown): SupplierContactApiResponse {
2787
+ if (axios.isAxiosError(error)) {
2788
+ const axiosError = error as AxiosError<Record<string, unknown>>;
2789
+ const responseData = axiosError.response?.data;
2790
+ if (responseData) {
2791
+ const success = responseData.success as boolean | undefined;
2792
+ if (success === false) {
1612
2793
  const code = responseData.code as string | undefined;
1613
2794
  const message = responseData.message as string | undefined;
1614
2795
  const errorObj = responseData.error as { code?: string; message?: string } | undefined;
@@ -1622,7 +2803,7 @@ function handleApiErrorClient(error: unknown): ClientApiResponse {
1622
2803
  };
1623
2804
  }
1624
2805
  }
1625
- return responseData as unknown as ClientApiResponse;
2806
+ return responseData as unknown as SupplierContactApiResponse;
1626
2807
  }
1627
2808
  return {
1628
2809
  success: false,
@@ -1758,6 +2939,84 @@ function handleApiErrorUom(error: unknown): UomApiResponse {
1758
2939
  };
1759
2940
  }
1760
2941
 
2942
+ function handleApiErrorWarehouse(error: unknown): WarehouseApiResponse {
2943
+ if (axios.isAxiosError(error)) {
2944
+ const axiosError = error as AxiosError<Record<string, unknown>>;
2945
+ const responseData = axiosError.response?.data;
2946
+ if (responseData) {
2947
+ const success = responseData.success as boolean | undefined;
2948
+ if (success === false) {
2949
+ const code = responseData.code as string | undefined;
2950
+ const message = responseData.message as string | undefined;
2951
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
2952
+ if (!errorObj && (code || message)) {
2953
+ return {
2954
+ success: false,
2955
+ error: {
2956
+ code: code || 'API_ERROR',
2957
+ message: message || 'API error occurred',
2958
+ },
2959
+ };
2960
+ }
2961
+ }
2962
+ return responseData as unknown as WarehouseApiResponse;
2963
+ }
2964
+ return {
2965
+ success: false,
2966
+ error: {
2967
+ code: 'NETWORK_ERROR',
2968
+ message: axiosError.message || 'Network error occurred',
2969
+ },
2970
+ };
2971
+ }
2972
+ return {
2973
+ success: false,
2974
+ error: {
2975
+ code: 'UNKNOWN_ERROR',
2976
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
2977
+ },
2978
+ };
2979
+ }
2980
+
2981
+ function handleApiErrorLocation(error: unknown): LocationApiResponse {
2982
+ if (axios.isAxiosError(error)) {
2983
+ const axiosError = error as AxiosError<Record<string, unknown>>;
2984
+ const responseData = axiosError.response?.data;
2985
+ if (responseData) {
2986
+ const success = responseData.success as boolean | undefined;
2987
+ if (success === false) {
2988
+ const code = responseData.code as string | undefined;
2989
+ const message = responseData.message as string | undefined;
2990
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
2991
+ if (!errorObj && (code || message)) {
2992
+ return {
2993
+ success: false,
2994
+ error: {
2995
+ code: code || 'API_ERROR',
2996
+ message: message || 'API error occurred',
2997
+ },
2998
+ };
2999
+ }
3000
+ }
3001
+ return responseData as unknown as LocationApiResponse;
3002
+ }
3003
+ return {
3004
+ success: false,
3005
+ error: {
3006
+ code: 'NETWORK_ERROR',
3007
+ message: axiosError.message || 'Network error occurred',
3008
+ },
3009
+ };
3010
+ }
3011
+ return {
3012
+ success: false,
3013
+ error: {
3014
+ code: 'UNKNOWN_ERROR',
3015
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
3016
+ },
3017
+ };
3018
+ }
3019
+
1761
3020
  function handleApiErrorCurrency(error: unknown): CurrencyApiResponse {
1762
3021
  if (axios.isAxiosError(error)) {
1763
3022
  const axiosError = error as AxiosError<Record<string, unknown>>;
@@ -1795,4 +3054,160 @@ function handleApiErrorCurrency(error: unknown): CurrencyApiResponse {
1795
3054
  message: error instanceof Error ? error.message : 'Unknown error occurred',
1796
3055
  },
1797
3056
  };
3057
+ }
3058
+
3059
+ function handleApiErrorDictType(error: unknown): DictTypeApiResponse {
3060
+ if (axios.isAxiosError(error)) {
3061
+ const axiosError = error as AxiosError<Record<string, unknown>>;
3062
+ const responseData = axiosError.response?.data;
3063
+ if (responseData) {
3064
+ const success = responseData.success as boolean | undefined;
3065
+ if (success === false) {
3066
+ const code = responseData.code as string | undefined;
3067
+ const message = responseData.message as string | undefined;
3068
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
3069
+ if (!errorObj && (code || message)) {
3070
+ return {
3071
+ success: false,
3072
+ error: {
3073
+ code: code || 'API_ERROR',
3074
+ message: message || 'API error occurred',
3075
+ },
3076
+ };
3077
+ }
3078
+ }
3079
+ return responseData as unknown as DictTypeApiResponse;
3080
+ }
3081
+ return {
3082
+ success: false,
3083
+ error: {
3084
+ code: 'NETWORK_ERROR',
3085
+ message: axiosError.message || 'Network error occurred',
3086
+ },
3087
+ };
3088
+ }
3089
+ return {
3090
+ success: false,
3091
+ error: {
3092
+ code: 'UNKNOWN_ERROR',
3093
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
3094
+ },
3095
+ };
3096
+ }
3097
+
3098
+ function handleApiErrorDict(error: unknown): DictApiResponse {
3099
+ if (axios.isAxiosError(error)) {
3100
+ const axiosError = error as AxiosError<Record<string, unknown>>;
3101
+ const responseData = axiosError.response?.data;
3102
+ if (responseData) {
3103
+ const success = responseData.success as boolean | undefined;
3104
+ if (success === false) {
3105
+ const code = responseData.code as string | undefined;
3106
+ const message = responseData.message as string | undefined;
3107
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
3108
+ if (!errorObj && (code || message)) {
3109
+ return {
3110
+ success: false,
3111
+ error: {
3112
+ code: code || 'API_ERROR',
3113
+ message: message || 'API error occurred',
3114
+ },
3115
+ };
3116
+ }
3117
+ }
3118
+ return responseData as unknown as DictApiResponse;
3119
+ }
3120
+ return {
3121
+ success: false,
3122
+ error: {
3123
+ code: 'NETWORK_ERROR',
3124
+ message: axiosError.message || 'Network error occurred',
3125
+ },
3126
+ };
3127
+ }
3128
+ return {
3129
+ success: false,
3130
+ error: {
3131
+ code: 'UNKNOWN_ERROR',
3132
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
3133
+ },
3134
+ };
3135
+ }
3136
+
3137
+ function handleApiErrorOperation(error: unknown): OperationApiResponse {
3138
+ if (axios.isAxiosError(error)) {
3139
+ const axiosError = error as AxiosError<Record<string, unknown>>;
3140
+ const responseData = axiosError.response?.data;
3141
+ if (responseData) {
3142
+ const success = responseData.success as boolean | undefined;
3143
+ if (success === false) {
3144
+ const code = responseData.code as string | undefined;
3145
+ const message = responseData.message as string | undefined;
3146
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
3147
+ if (!errorObj && (code || message)) {
3148
+ return {
3149
+ success: false,
3150
+ error: {
3151
+ code: code || 'API_ERROR',
3152
+ message: message || 'API error occurred',
3153
+ },
3154
+ };
3155
+ }
3156
+ }
3157
+ return responseData as unknown as OperationApiResponse;
3158
+ }
3159
+ return {
3160
+ success: false,
3161
+ error: {
3162
+ code: 'NETWORK_ERROR',
3163
+ message: axiosError.message || 'Network error occurred',
3164
+ },
3165
+ };
3166
+ }
3167
+ return {
3168
+ success: false,
3169
+ error: {
3170
+ code: 'UNKNOWN_ERROR',
3171
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
3172
+ },
3173
+ };
3174
+ }
3175
+
3176
+ function handleApiErrorStock(error: unknown): MasterStockApiResponse {
3177
+ if (axios.isAxiosError(error)) {
3178
+ const axiosError = error as AxiosError<Record<string, unknown>>;
3179
+ const responseData = axiosError.response?.data;
3180
+ if (responseData) {
3181
+ const success = responseData.success as boolean | undefined;
3182
+ if (success === false) {
3183
+ const code = responseData.code as string | undefined;
3184
+ const message = responseData.message as string | undefined;
3185
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
3186
+ if (!errorObj && (code || message)) {
3187
+ return {
3188
+ success: false,
3189
+ error: {
3190
+ code: code || 'API_ERROR',
3191
+ message: message || 'API error occurred',
3192
+ },
3193
+ };
3194
+ }
3195
+ }
3196
+ return responseData as unknown as MasterStockApiResponse;
3197
+ }
3198
+ return {
3199
+ success: false,
3200
+ error: {
3201
+ code: 'NETWORK_ERROR',
3202
+ message: axiosError.message || 'Network error occurred',
3203
+ },
3204
+ };
3205
+ }
3206
+ return {
3207
+ success: false,
3208
+ error: {
3209
+ code: 'UNKNOWN_ERROR',
3210
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
3211
+ },
3212
+ };
1798
3213
  }