@newpeak/barista-cli 0.1.6 → 0.1.7

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 (125) 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/index.d.ts.map +1 -1
  6. package/dist/commands/liberica/index.js +4 -0
  7. package/dist/commands/liberica/index.js.map +1 -1
  8. package/dist/commands/liberica/materials/create.d.ts.map +1 -1
  9. package/dist/commands/liberica/materials/create.js +35 -9
  10. package/dist/commands/liberica/materials/create.js.map +1 -1
  11. package/dist/commands/liberica/orgs/index.d.ts.map +1 -1
  12. package/dist/commands/liberica/orgs/index.js.map +1 -1
  13. package/dist/commands/liberica/users/create.d.ts.map +1 -1
  14. package/dist/commands/liberica/users/create.js +1 -0
  15. package/dist/commands/liberica/users/create.js.map +1 -1
  16. package/dist/commands/liberica/warehouses/create.d.ts +3 -0
  17. package/dist/commands/liberica/warehouses/create.d.ts.map +1 -0
  18. package/dist/commands/liberica/warehouses/create.js +196 -0
  19. package/dist/commands/liberica/warehouses/create.js.map +1 -0
  20. package/dist/commands/liberica/warehouses/delete.d.ts +3 -0
  21. package/dist/commands/liberica/warehouses/delete.d.ts.map +1 -0
  22. package/dist/commands/liberica/warehouses/delete.js +111 -0
  23. package/dist/commands/liberica/warehouses/delete.js.map +1 -0
  24. package/dist/commands/liberica/warehouses/disable.d.ts +3 -0
  25. package/dist/commands/liberica/warehouses/disable.d.ts.map +1 -0
  26. package/dist/commands/liberica/warehouses/disable.js +173 -0
  27. package/dist/commands/liberica/warehouses/disable.js.map +1 -0
  28. package/dist/commands/liberica/warehouses/enable.d.ts +3 -0
  29. package/dist/commands/liberica/warehouses/enable.d.ts.map +1 -0
  30. package/dist/commands/liberica/warehouses/enable.js +173 -0
  31. package/dist/commands/liberica/warehouses/enable.js.map +1 -0
  32. package/dist/commands/liberica/warehouses/get.d.ts +3 -0
  33. package/dist/commands/liberica/warehouses/get.d.ts.map +1 -0
  34. package/dist/commands/liberica/warehouses/get.js +90 -0
  35. package/dist/commands/liberica/warehouses/get.js.map +1 -0
  36. package/dist/commands/liberica/warehouses/index.d.ts +3 -0
  37. package/dist/commands/liberica/warehouses/index.d.ts.map +1 -0
  38. package/dist/commands/liberica/warehouses/index.js +23 -0
  39. package/dist/commands/liberica/warehouses/index.js.map +1 -0
  40. package/dist/commands/liberica/warehouses/list.d.ts +3 -0
  41. package/dist/commands/liberica/warehouses/list.d.ts.map +1 -0
  42. package/dist/commands/liberica/warehouses/list.js +101 -0
  43. package/dist/commands/liberica/warehouses/list.js.map +1 -0
  44. package/dist/commands/liberica/warehouses/locations/create.d.ts +3 -0
  45. package/dist/commands/liberica/warehouses/locations/create.d.ts.map +1 -0
  46. package/dist/commands/liberica/warehouses/locations/create.js +199 -0
  47. package/dist/commands/liberica/warehouses/locations/create.js.map +1 -0
  48. package/dist/commands/liberica/warehouses/locations/delete.d.ts +3 -0
  49. package/dist/commands/liberica/warehouses/locations/delete.d.ts.map +1 -0
  50. package/dist/commands/liberica/warehouses/locations/delete.js +115 -0
  51. package/dist/commands/liberica/warehouses/locations/delete.js.map +1 -0
  52. package/dist/commands/liberica/warehouses/locations/disable.d.ts +3 -0
  53. package/dist/commands/liberica/warehouses/locations/disable.d.ts.map +1 -0
  54. package/dist/commands/liberica/warehouses/locations/disable.js +173 -0
  55. package/dist/commands/liberica/warehouses/locations/disable.js.map +1 -0
  56. package/dist/commands/liberica/warehouses/locations/enable.d.ts +3 -0
  57. package/dist/commands/liberica/warehouses/locations/enable.d.ts.map +1 -0
  58. package/dist/commands/liberica/warehouses/locations/enable.js +173 -0
  59. package/dist/commands/liberica/warehouses/locations/enable.js.map +1 -0
  60. package/dist/commands/liberica/warehouses/locations/get.d.ts +3 -0
  61. package/dist/commands/liberica/warehouses/locations/get.d.ts.map +1 -0
  62. package/dist/commands/liberica/warehouses/locations/get.js +73 -0
  63. package/dist/commands/liberica/warehouses/locations/get.js.map +1 -0
  64. package/dist/commands/liberica/warehouses/locations/index.d.ts +3 -0
  65. package/dist/commands/liberica/warehouses/locations/index.d.ts.map +1 -0
  66. package/dist/commands/liberica/warehouses/locations/index.js +21 -0
  67. package/dist/commands/liberica/warehouses/locations/index.js.map +1 -0
  68. package/dist/commands/liberica/warehouses/locations/list.d.ts +3 -0
  69. package/dist/commands/liberica/warehouses/locations/list.d.ts.map +1 -0
  70. package/dist/commands/liberica/warehouses/locations/list.js +104 -0
  71. package/dist/commands/liberica/warehouses/locations/list.js.map +1 -0
  72. package/dist/commands/liberica/warehouses/locations/update.d.ts +3 -0
  73. package/dist/commands/liberica/warehouses/locations/update.d.ts.map +1 -0
  74. package/dist/commands/liberica/warehouses/locations/update.js +128 -0
  75. package/dist/commands/liberica/warehouses/locations/update.js.map +1 -0
  76. package/dist/commands/liberica/warehouses/update.d.ts +3 -0
  77. package/dist/commands/liberica/warehouses/update.d.ts.map +1 -0
  78. package/dist/commands/liberica/warehouses/update.js +143 -0
  79. package/dist/commands/liberica/warehouses/update.js.map +1 -0
  80. package/dist/core/api/client.d.ts +16 -0
  81. package/dist/core/api/client.d.ts.map +1 -1
  82. package/dist/core/api/client.js +286 -0
  83. package/dist/core/api/client.js.map +1 -1
  84. package/dist/index.js +1 -3
  85. package/dist/index.js.map +1 -1
  86. package/dist/types/index.d.ts +4 -4
  87. package/dist/types/index.d.ts.map +1 -1
  88. package/dist/types/location.d.ts +53 -0
  89. package/dist/types/location.d.ts.map +1 -0
  90. package/dist/types/location.js +2 -0
  91. package/dist/types/location.js.map +1 -0
  92. package/dist/types/warehouse.d.ts +68 -0
  93. package/dist/types/warehouse.d.ts.map +1 -0
  94. package/dist/types/warehouse.js +2 -0
  95. package/dist/types/warehouse.js.map +1 -0
  96. package/docs/commands/liberica/locations/create.md +195 -0
  97. package/docs/commands/liberica/locations/list.md +171 -0
  98. package/docs/commands/liberica/warehouses/create.md +222 -0
  99. package/docs/commands/liberica/warehouses/list.md +184 -0
  100. package/package.json +1 -1
  101. package/src/commands/liberica/index.ts +4 -0
  102. package/src/commands/liberica/materials/create.ts +32 -9
  103. package/src/commands/liberica/orgs/index.ts +0 -1
  104. package/src/commands/liberica/users/create.ts +1 -0
  105. package/src/commands/liberica/warehouses/create.ts +204 -0
  106. package/src/commands/liberica/warehouses/delete.ts +112 -0
  107. package/src/commands/liberica/warehouses/disable.ts +174 -0
  108. package/src/commands/liberica/warehouses/enable.ts +174 -0
  109. package/src/commands/liberica/warehouses/get.ts +101 -0
  110. package/src/commands/liberica/warehouses/index.ts +25 -0
  111. package/src/commands/liberica/warehouses/list.ts +136 -0
  112. package/src/commands/liberica/warehouses/locations/create.ts +209 -0
  113. package/src/commands/liberica/warehouses/locations/delete.ts +116 -0
  114. package/src/commands/liberica/warehouses/locations/disable.ts +174 -0
  115. package/src/commands/liberica/warehouses/locations/enable.ts +174 -0
  116. package/src/commands/liberica/warehouses/locations/get.ts +84 -0
  117. package/src/commands/liberica/warehouses/locations/index.ts +23 -0
  118. package/src/commands/liberica/warehouses/locations/list.ts +140 -0
  119. package/src/commands/liberica/warehouses/locations/update.ts +135 -0
  120. package/src/commands/liberica/warehouses/update.ts +142 -0
  121. package/src/core/api/client.ts +396 -0
  122. package/src/index.ts +1 -3
  123. package/src/types/index.ts +4 -4
  124. package/src/types/location.ts +66 -0
  125. package/src/types/warehouse.ts +82 -0
@@ -43,6 +43,18 @@ import {
43
43
  } from '../../types/currency.js';
44
44
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
45
45
  import { ApiResponse, Material, MaterialApiResponse, MaterialQueryParams, MaterialRequest } from '../../types/material.js';
46
+ import {
47
+ WarehouseQueryParams,
48
+ WarehouseApiResponse,
49
+ CreateWarehouseRequest,
50
+ UpdateWarehouseRequest,
51
+ } from '../../types/warehouse.js';
52
+ import {
53
+ LocationQueryParams,
54
+ LocationApiResponse,
55
+ CreateLocationRequest,
56
+ UpdateLocationRequest,
57
+ } from '../../types/location.js';
46
58
 
47
59
  export interface LoginResponse {
48
60
  token: string;
@@ -1561,6 +1573,312 @@ export const apiClient = {
1561
1573
  }
1562
1574
  },
1563
1575
 
1576
+ async listWarehouses(
1577
+ environment: Environment,
1578
+ tenant: string,
1579
+ params: WarehouseQueryParams
1580
+ ): Promise<WarehouseApiResponse> {
1581
+ try {
1582
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1583
+ if (!token) {
1584
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1585
+ }
1586
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1587
+ client.setAuthToken(token);
1588
+ const response = await client.getClient().get<WarehouseApiResponse>(
1589
+ '/api/enterprise/purchases/warehouse/page',
1590
+ { params }
1591
+ );
1592
+ return response.data;
1593
+ } catch (error) {
1594
+ return handleApiErrorWarehouse(error);
1595
+ }
1596
+ },
1597
+
1598
+ async getWarehouse(
1599
+ environment: Environment,
1600
+ tenant: string,
1601
+ warehouseId: string
1602
+ ): Promise<WarehouseApiResponse> {
1603
+ try {
1604
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1605
+ if (!token) {
1606
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1607
+ }
1608
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1609
+ client.setAuthToken(token);
1610
+ const response = await client.getClient().get<WarehouseApiResponse>(
1611
+ `/api/enterprise/purchases/warehouse/detail?warehouseId=${warehouseId}`
1612
+ );
1613
+ return response.data;
1614
+ } catch (error) {
1615
+ return handleApiErrorWarehouse(error);
1616
+ }
1617
+ },
1618
+
1619
+ async createWarehouse(
1620
+ environment: Environment,
1621
+ tenant: string,
1622
+ data: CreateWarehouseRequest
1623
+ ): Promise<WarehouseApiResponse> {
1624
+ try {
1625
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1626
+ if (!token) {
1627
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1628
+ }
1629
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1630
+ client.setAuthToken(token);
1631
+ const response = await client.getClient().post<WarehouseApiResponse>(
1632
+ '/api/enterprise/purchases/warehouse/add',
1633
+ data
1634
+ );
1635
+ return response.data;
1636
+ } catch (error) {
1637
+ return handleApiErrorWarehouse(error);
1638
+ }
1639
+ },
1640
+
1641
+ async updateWarehouse(
1642
+ environment: Environment,
1643
+ tenant: string,
1644
+ data: UpdateWarehouseRequest
1645
+ ): Promise<WarehouseApiResponse> {
1646
+ try {
1647
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1648
+ if (!token) {
1649
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1650
+ }
1651
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1652
+ client.setAuthToken(token);
1653
+ const response = await client.getClient().post<WarehouseApiResponse>(
1654
+ '/api/enterprise/purchases/warehouse/edit',
1655
+ data
1656
+ );
1657
+ return response.data;
1658
+ } catch (error) {
1659
+ return handleApiErrorWarehouse(error);
1660
+ }
1661
+ },
1662
+
1663
+ async deleteWarehouse(
1664
+ environment: Environment,
1665
+ tenant: string,
1666
+ warehouseId: string
1667
+ ): Promise<WarehouseApiResponse> {
1668
+ try {
1669
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1670
+ if (!token) {
1671
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1672
+ }
1673
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1674
+ client.setAuthToken(token);
1675
+ const response = await client.getClient().post<WarehouseApiResponse>(
1676
+ '/api/enterprise/purchases/warehouse/delete',
1677
+ { warehouseId }
1678
+ );
1679
+ return response.data;
1680
+ } catch (error) {
1681
+ return handleApiErrorWarehouse(error);
1682
+ }
1683
+ },
1684
+
1685
+ async batchEnableWarehouses(
1686
+ environment: Environment,
1687
+ tenant: string,
1688
+ warehouseIds: string[]
1689
+ ): Promise<WarehouseApiResponse> {
1690
+ try {
1691
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1692
+ if (!token) {
1693
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1694
+ }
1695
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1696
+ client.setAuthToken(token);
1697
+ const response = await client.getClient().post<WarehouseApiResponse>(
1698
+ '/api/enterprise/purchases/warehouse/batchActive',
1699
+ { warehouseIdList: warehouseIds }
1700
+ );
1701
+ return response.data;
1702
+ } catch (error) {
1703
+ return handleApiErrorWarehouse(error);
1704
+ }
1705
+ },
1706
+
1707
+ async batchDisableWarehouses(
1708
+ environment: Environment,
1709
+ tenant: string,
1710
+ warehouseIds: string[]
1711
+ ): Promise<WarehouseApiResponse> {
1712
+ try {
1713
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1714
+ if (!token) {
1715
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1716
+ }
1717
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1718
+ client.setAuthToken(token);
1719
+ const response = await client.getClient().post<WarehouseApiResponse>(
1720
+ '/api/enterprise/purchases/warehouse/batchDeActive',
1721
+ { warehouseIdList: warehouseIds }
1722
+ );
1723
+ return response.data;
1724
+ } catch (error) {
1725
+ return handleApiErrorWarehouse(error);
1726
+ }
1727
+ },
1728
+
1729
+ async listLocations(
1730
+ environment: Environment,
1731
+ tenant: string,
1732
+ params: LocationQueryParams
1733
+ ): Promise<LocationApiResponse> {
1734
+ try {
1735
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1736
+ if (!token) {
1737
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1738
+ }
1739
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1740
+ client.setAuthToken(token);
1741
+ const response = await client.getClient().get<LocationApiResponse>(
1742
+ '/api/enterprise/purchases/warehouse/location/page',
1743
+ { params }
1744
+ );
1745
+ return response.data;
1746
+ } catch (error) {
1747
+ return handleApiErrorLocation(error);
1748
+ }
1749
+ },
1750
+
1751
+ async getLocation(
1752
+ environment: Environment,
1753
+ tenant: string,
1754
+ warehouseLocationId: string
1755
+ ): Promise<LocationApiResponse> {
1756
+ try {
1757
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1758
+ if (!token) {
1759
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1760
+ }
1761
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1762
+ client.setAuthToken(token);
1763
+ const response = await client.getClient().get<LocationApiResponse>(
1764
+ `/api/enterprise/purchases/warehouse/location/detail?warehouseLocationId=${warehouseLocationId}`
1765
+ );
1766
+ return response.data;
1767
+ } catch (error) {
1768
+ return handleApiErrorLocation(error);
1769
+ }
1770
+ },
1771
+
1772
+ async createLocation(
1773
+ environment: Environment,
1774
+ tenant: string,
1775
+ data: CreateLocationRequest
1776
+ ): Promise<LocationApiResponse> {
1777
+ try {
1778
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1779
+ if (!token) {
1780
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1781
+ }
1782
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1783
+ client.setAuthToken(token);
1784
+ const response = await client.getClient().post<LocationApiResponse>(
1785
+ '/api/enterprise/purchases/warehouse/location/add',
1786
+ data
1787
+ );
1788
+ return response.data;
1789
+ } catch (error) {
1790
+ return handleApiErrorLocation(error);
1791
+ }
1792
+ },
1793
+
1794
+ async updateLocation(
1795
+ environment: Environment,
1796
+ tenant: string,
1797
+ data: UpdateLocationRequest
1798
+ ): Promise<LocationApiResponse> {
1799
+ try {
1800
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1801
+ if (!token) {
1802
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1803
+ }
1804
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1805
+ client.setAuthToken(token);
1806
+ const response = await client.getClient().post<LocationApiResponse>(
1807
+ '/api/enterprise/purchases/warehouse/location/edit',
1808
+ data
1809
+ );
1810
+ return response.data;
1811
+ } catch (error) {
1812
+ return handleApiErrorLocation(error);
1813
+ }
1814
+ },
1815
+
1816
+ async deleteLocation(
1817
+ environment: Environment,
1818
+ tenant: string,
1819
+ warehouseLocationId: string
1820
+ ): Promise<LocationApiResponse> {
1821
+ try {
1822
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1823
+ if (!token) {
1824
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1825
+ }
1826
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1827
+ client.setAuthToken(token);
1828
+ const response = await client.getClient().post<LocationApiResponse>(
1829
+ '/api/enterprise/purchases/warehouse/location/delete',
1830
+ { warehouseLocationId }
1831
+ );
1832
+ return response.data;
1833
+ } catch (error) {
1834
+ return handleApiErrorLocation(error);
1835
+ }
1836
+ },
1837
+
1838
+ async batchEnableLocations(
1839
+ environment: Environment,
1840
+ tenant: string,
1841
+ warehouseLocationIds: string[]
1842
+ ): Promise<LocationApiResponse> {
1843
+ try {
1844
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1845
+ if (!token) {
1846
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1847
+ }
1848
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1849
+ client.setAuthToken(token);
1850
+ const response = await client.getClient().post<LocationApiResponse>(
1851
+ '/api/enterprise/purchases/warehouse/location/batchActive',
1852
+ { warehouseLocationIdList: warehouseLocationIds }
1853
+ );
1854
+ return response.data;
1855
+ } catch (error) {
1856
+ return handleApiErrorLocation(error);
1857
+ }
1858
+ },
1859
+
1860
+ async batchDisableLocations(
1861
+ environment: Environment,
1862
+ tenant: string,
1863
+ warehouseLocationIds: string[]
1864
+ ): Promise<LocationApiResponse> {
1865
+ try {
1866
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
1867
+ if (!token) {
1868
+ return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
1869
+ }
1870
+ const client = createAPIClient('liberica' as Service, environment, tenant);
1871
+ client.setAuthToken(token);
1872
+ const response = await client.getClient().post<LocationApiResponse>(
1873
+ '/api/enterprise/purchases/warehouse/location/batchDeActive',
1874
+ { warehouseLocationIdList: warehouseLocationIds }
1875
+ );
1876
+ return response.data;
1877
+ } catch (error) {
1878
+ return handleApiErrorLocation(error);
1879
+ }
1880
+ },
1881
+
1564
1882
  };
1565
1883
 
1566
1884
  function handleApiError(error: unknown): EmployeeApiResponse {
@@ -1758,6 +2076,84 @@ function handleApiErrorUom(error: unknown): UomApiResponse {
1758
2076
  };
1759
2077
  }
1760
2078
 
2079
+ function handleApiErrorWarehouse(error: unknown): WarehouseApiResponse {
2080
+ if (axios.isAxiosError(error)) {
2081
+ const axiosError = error as AxiosError<Record<string, unknown>>;
2082
+ const responseData = axiosError.response?.data;
2083
+ if (responseData) {
2084
+ const success = responseData.success as boolean | undefined;
2085
+ if (success === false) {
2086
+ const code = responseData.code as string | undefined;
2087
+ const message = responseData.message as string | undefined;
2088
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
2089
+ if (!errorObj && (code || message)) {
2090
+ return {
2091
+ success: false,
2092
+ error: {
2093
+ code: code || 'API_ERROR',
2094
+ message: message || 'API error occurred',
2095
+ },
2096
+ };
2097
+ }
2098
+ }
2099
+ return responseData as unknown as WarehouseApiResponse;
2100
+ }
2101
+ return {
2102
+ success: false,
2103
+ error: {
2104
+ code: 'NETWORK_ERROR',
2105
+ message: axiosError.message || 'Network error occurred',
2106
+ },
2107
+ };
2108
+ }
2109
+ return {
2110
+ success: false,
2111
+ error: {
2112
+ code: 'UNKNOWN_ERROR',
2113
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
2114
+ },
2115
+ };
2116
+ }
2117
+
2118
+ function handleApiErrorLocation(error: unknown): LocationApiResponse {
2119
+ if (axios.isAxiosError(error)) {
2120
+ const axiosError = error as AxiosError<Record<string, unknown>>;
2121
+ const responseData = axiosError.response?.data;
2122
+ if (responseData) {
2123
+ const success = responseData.success as boolean | undefined;
2124
+ if (success === false) {
2125
+ const code = responseData.code as string | undefined;
2126
+ const message = responseData.message as string | undefined;
2127
+ const errorObj = responseData.error as { code?: string; message?: string } | undefined;
2128
+ if (!errorObj && (code || message)) {
2129
+ return {
2130
+ success: false,
2131
+ error: {
2132
+ code: code || 'API_ERROR',
2133
+ message: message || 'API error occurred',
2134
+ },
2135
+ };
2136
+ }
2137
+ }
2138
+ return responseData as unknown as LocationApiResponse;
2139
+ }
2140
+ return {
2141
+ success: false,
2142
+ error: {
2143
+ code: 'NETWORK_ERROR',
2144
+ message: axiosError.message || 'Network error occurred',
2145
+ },
2146
+ };
2147
+ }
2148
+ return {
2149
+ success: false,
2150
+ error: {
2151
+ code: 'UNKNOWN_ERROR',
2152
+ message: error instanceof Error ? error.message : 'Unknown error occurred',
2153
+ },
2154
+ };
2155
+ }
2156
+
1761
2157
  function handleApiErrorCurrency(error: unknown): CurrencyApiResponse {
1762
2158
  if (axios.isAxiosError(error)) {
1763
2159
  const axiosError = error as AxiosError<Record<string, unknown>>;
package/src/index.ts CHANGED
@@ -15,11 +15,9 @@ async function main(): Promise<void> {
15
15
  program
16
16
  .name('barista')
17
17
  .description('Barista CLI - Bridge between AI agents and Liberica/Arabica')
18
- .version('0.1.6')
18
+ .version('0.1.7')
19
19
  .option('-e, --env <environment>', 'Target environment (dev|test|prod-cn|prod-jp)')
20
20
  .option('-t, --tenant <tenant>', 'Target tenant (for Liberica)')
21
- .option('--dry-run', 'Execute in dry-run mode')
22
- .option('--json', 'Output as JSON')
23
21
  .option('--debug', 'Enable debug mode');
24
22
 
25
23
  program.addCommand(createContextCommand());
@@ -74,8 +74,8 @@ export * from './employee.js';
74
74
  export * from './org.js';
75
75
  export * from './position.js';
76
76
  export type { Uom, CreateUomRequest, UpdateUomRequest, UomQueryParams, UomListResponse, UomApiResponse, UomStatusFlag } from './uom.js';
77
- export type { Supplier, SupplierListResponse, SupplierQueryParams, SupplierApiResponse } from './supplier.js';
78
- export type { CreateSupplierRequest, UpdateSupplierRequest } from './supplier.js';
79
- export type { ClientListResponse, MasterClientCompactResponse, ClientQueryParams, ClientApiResponse } from './client.js';
80
- export type { MasterClientResponse, CreateClientRequest, UpdateClientRequest } from './client.js';
77
+ export type { Supplier, SupplierListResponse, SupplierQueryParams, SupplierApiResponse, CreateSupplierRequest, UpdateSupplierRequest } from './supplier.js';
78
+ export type { ClientListResponse, MasterClientCompactResponse, ClientQueryParams, ClientApiResponse, MasterClientResponse, CreateClientRequest, UpdateClientRequest } from './client.js';
81
79
  export type { ApiResponse, Material, MaterialRequest, MaterialQueryParams, MaterialListResponse, MaterialApiResponse, MaterialStatusFlag } from './material.js';
80
+ export type { Warehouse, WarehouseListResponse, WarehouseQueryParams, WarehouseApiResponse, CreateWarehouseRequest, UpdateWarehouseRequest } from './warehouse.js';
81
+ export type { WarehouseLocation, LocationListResponse, LocationQueryParams, LocationApiResponse, CreateLocationRequest, UpdateLocationRequest } from './location.js';
@@ -0,0 +1,66 @@
1
+ // Status flag literal type
2
+ export type StatusFlag = 1 | 2;
3
+
4
+ // Full WarehouseLocation entity
5
+ export interface WarehouseLocation {
6
+ warehouseLocationId: string;
7
+ warehouseId: string;
8
+ warehouseLocationCode: string;
9
+ warehouseLocationName: string;
10
+ warehouseLocationType?: string;
11
+ capacity?: number;
12
+ remark?: string;
13
+ statusFlag: StatusFlag;
14
+ }
15
+
16
+ // Request for creating location (add endpoint)
17
+ export interface CreateLocationRequest {
18
+ warehouseId: string;
19
+ warehouseLocationCode: string;
20
+ warehouseLocationName: string;
21
+ warehouseLocationType?: string;
22
+ capacity?: number;
23
+ remark?: string;
24
+ status?: StatusFlag;
25
+ }
26
+
27
+ // Request for updating location (edit endpoint)
28
+ export interface UpdateLocationRequest {
29
+ warehouseLocationId: string;
30
+ warehouseLocationName?: string;
31
+ warehouseLocationType?: string;
32
+ capacity?: number;
33
+ remark?: string;
34
+ status?: StatusFlag;
35
+ }
36
+
37
+ // Query params for list/pagination
38
+ export interface LocationQueryParams {
39
+ pageNo?: number;
40
+ pageSize?: number;
41
+ warehouseId: string;
42
+ status?: StatusFlag;
43
+ warehouseLocationCode?: string;
44
+ warehouseLocationName?: string;
45
+ }
46
+
47
+ // Paginated response wrapper (PageResult from Roses framework)
48
+ export interface PageResult<T> {
49
+ totalRows: number;
50
+ pageSize: number;
51
+ pageNo: number;
52
+ rows: T[];
53
+ }
54
+
55
+ // List response type
56
+ export interface LocationListResponse extends PageResult<WarehouseLocation> {}
57
+
58
+ // API response wrapper
59
+ export interface LocationApiResponse {
60
+ success: boolean;
61
+ data?: WarehouseLocation | LocationListResponse;
62
+ error?: {
63
+ code: string;
64
+ message: string;
65
+ };
66
+ }
@@ -0,0 +1,82 @@
1
+ // Status flag literal type
2
+ export type StatusFlag = 1 | 2;
3
+
4
+ // Full Warehouse entity
5
+ export interface Warehouse {
6
+ warehouseId: string;
7
+ warehouseCode: string;
8
+ warehouseName: string;
9
+ warehouseType?: string;
10
+ warehouseClasses?: string;
11
+ address?: string;
12
+ contact?: string;
13
+ phone?: string;
14
+ manager?: string;
15
+ enableLocation?: boolean | string;
16
+ enableNegativeInventory?: boolean | string;
17
+ remark?: string;
18
+ statusFlag: StatusFlag;
19
+ }
20
+
21
+ // Request for creating warehouse (add endpoint)
22
+ // NOTE: enableLocation/enableNegativeInventory must be "1"/"0" strings (backend Y/N format)
23
+ export interface CreateWarehouseRequest {
24
+ warehouseCode: string;
25
+ warehouseName: string;
26
+ warehouseType?: string;
27
+ warehouseClasses?: string;
28
+ address?: string;
29
+ contact?: string;
30
+ phone?: string;
31
+ manager?: string;
32
+ enableLocation?: string;
33
+ enableNegativeInventory?: string;
34
+ remark?: string;
35
+ status?: StatusFlag;
36
+ }
37
+
38
+ // Request for updating warehouse (edit endpoint)
39
+ export interface UpdateWarehouseRequest {
40
+ warehouseId: string;
41
+ warehouseName?: string;
42
+ warehouseType?: string;
43
+ warehouseClasses?: string;
44
+ address?: string;
45
+ contact?: string;
46
+ phone?: string;
47
+ manager?: string;
48
+ enableLocation?: string;
49
+ enableNegativeInventory?: string;
50
+ remark?: string;
51
+ status?: StatusFlag;
52
+ }
53
+
54
+ // Query params for list/pagination
55
+ export interface WarehouseQueryParams {
56
+ pageNo?: number;
57
+ pageSize?: number;
58
+ status?: StatusFlag;
59
+ warehouseCode?: string;
60
+ warehouseName?: string;
61
+ }
62
+
63
+ // Paginated response wrapper (PageResult from Roses framework)
64
+ export interface PageResult<T> {
65
+ totalRows: number;
66
+ pageSize: number;
67
+ pageNo: number;
68
+ rows: T[];
69
+ }
70
+
71
+ // List response type
72
+ export interface WarehouseListResponse extends PageResult<Warehouse> {}
73
+
74
+ // API response wrapper
75
+ export interface WarehouseApiResponse {
76
+ success: boolean;
77
+ data?: Warehouse | WarehouseListResponse;
78
+ error?: {
79
+ code: string;
80
+ message: string;
81
+ };
82
+ }