@sixtyninecommerce/admin 0.9.0 → 0.11.0

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 (258) hide show
  1. package/README.md +4598 -128
  2. package/dist/catalog/assets.d.ts +120 -8
  3. package/dist/catalog/assets.js +98 -12
  4. package/dist/catalog/collections.d.ts +279 -14
  5. package/dist/catalog/collections.js +246 -15
  6. package/dist/catalog/index.d.ts +9 -2
  7. package/dist/catalog/index.js +4 -0
  8. package/dist/catalog/products.d.ts +318 -17
  9. package/dist/catalog/products.js +182 -14
  10. package/dist/catalog/properties.d.ts +102 -14
  11. package/dist/catalog/properties.js +13 -0
  12. package/dist/catalog/recommendations.d.ts +261 -0
  13. package/dist/catalog/recommendations.js +145 -0
  14. package/dist/catalog/reviews.d.ts +368 -0
  15. package/dist/catalog/reviews.js +318 -0
  16. package/dist/catalog/types.d.ts +17 -1
  17. package/dist/catalog/types.js +10 -0
  18. package/dist/catalog/variant-find.d.ts +136 -0
  19. package/dist/catalog/variant-find.js +239 -0
  20. package/dist/catalog/variants.d.ts +282 -25
  21. package/dist/catalog/variants.js +173 -25
  22. package/dist/catalog/visibility.d.ts +20 -5
  23. package/dist/catalog/visibility.js +19 -1
  24. package/dist/client.d.ts +116 -9
  25. package/dist/client.js +41 -7
  26. package/dist/content/assets.d.ts +286 -0
  27. package/dist/content/assets.js +181 -0
  28. package/dist/content/items.d.ts +269 -0
  29. package/dist/content/items.js +170 -0
  30. package/dist/content/types.d.ts +282 -0
  31. package/dist/content/types.js +100 -0
  32. package/dist/customers/age-verification.d.ts +66 -0
  33. package/dist/customers/age-verification.js +79 -0
  34. package/dist/customers/credit.d.ts +263 -0
  35. package/dist/customers/credit.js +244 -0
  36. package/dist/customers/delivery-preferences.d.ts +120 -0
  37. package/dist/customers/delivery-preferences.js +97 -0
  38. package/dist/customers/groups.d.ts +207 -0
  39. package/dist/customers/groups.js +438 -0
  40. package/dist/customers/index.d.ts +447 -37
  41. package/dist/customers/index.js +313 -40
  42. package/dist/customers/invitation-status.d.ts +57 -0
  43. package/dist/customers/invitation-status.js +21 -0
  44. package/dist/customers/notes.d.ts +67 -0
  45. package/dist/customers/notes.js +51 -0
  46. package/dist/customers/notification-recipients.d.ts +97 -0
  47. package/dist/customers/notification-recipients.js +84 -0
  48. package/dist/customers/saved-lists.d.ts +42 -0
  49. package/dist/customers/saved-lists.js +61 -0
  50. package/dist/customers/vat.d.ts +83 -0
  51. package/dist/customers/vat.js +46 -0
  52. package/dist/customers/wire.d.ts +20 -0
  53. package/dist/customers/wire.js +35 -0
  54. package/dist/documents/ar.d.ts +307 -0
  55. package/dist/documents/ar.js +254 -0
  56. package/dist/documents/index.d.ts +731 -21
  57. package/dist/documents/index.js +436 -24
  58. package/dist/documents/pdf.d.ts +2 -0
  59. package/dist/documents/pdf.js +11 -0
  60. package/dist/fulfillments/create.d.ts +167 -0
  61. package/dist/fulfillments/create.js +216 -0
  62. package/dist/fulfillments/index.d.ts +121 -10
  63. package/dist/fulfillments/index.js +120 -2
  64. package/dist/fulfillments/payment-policy.d.ts +64 -0
  65. package/dist/fulfillments/payment-policy.js +140 -0
  66. package/dist/fulfillments/warehouse.d.ts +724 -0
  67. package/dist/fulfillments/warehouse.js +914 -0
  68. package/dist/geo/index.d.ts +119 -0
  69. package/dist/geo/index.js +107 -0
  70. package/dist/index.d.ts +129 -30
  71. package/dist/index.js +47 -9
  72. package/dist/integrations/afas-actions.d.ts +234 -0
  73. package/dist/integrations/afas-actions.js +310 -0
  74. package/dist/integrations/afas-types.d.ts +483 -0
  75. package/dist/integrations/afas-types.js +5 -0
  76. package/dist/integrations/afas.d.ts +234 -0
  77. package/dist/integrations/afas.js +290 -0
  78. package/dist/integrations/connections.d.ts +103 -0
  79. package/dist/integrations/connections.js +55 -0
  80. package/dist/integrations/esp.d.ts +313 -0
  81. package/dist/integrations/esp.js +169 -0
  82. package/dist/integrations/exact-online-types.d.ts +423 -0
  83. package/dist/integrations/exact-online-types.js +6 -0
  84. package/dist/integrations/exact-online.d.ts +248 -0
  85. package/dist/integrations/exact-online.js +376 -0
  86. package/dist/integrations/index.d.ts +40 -0
  87. package/dist/integrations/index.js +24 -0
  88. package/dist/integrations/pipeline-keys.d.ts +13 -0
  89. package/dist/integrations/pipeline-keys.js +22 -0
  90. package/dist/integrations/pipelines.d.ts +114 -0
  91. package/dist/integrations/pipelines.js +46 -0
  92. package/dist/integrations/types.d.ts +322 -0
  93. package/dist/integrations/types.js +8 -0
  94. package/dist/jobs/bulk-action-run.d.ts +11 -2
  95. package/dist/jobs/bulk-action-run.js +4 -5
  96. package/dist/locations/index.d.ts +66 -0
  97. package/dist/locations/index.js +31 -0
  98. package/dist/meta/index.d.ts +162 -0
  99. package/dist/orders/bulk.d.ts +75 -0
  100. package/dist/orders/bulk.js +150 -0
  101. package/dist/orders/cancel-with-money.d.ts +227 -0
  102. package/dist/orders/cancel-with-money.js +153 -0
  103. package/dist/orders/commit-edit.d.ts +7 -1
  104. package/dist/orders/commit-edit.js +5 -1
  105. package/dist/orders/deposit-policy.d.ts +103 -0
  106. package/dist/orders/deposit-policy.js +202 -0
  107. package/dist/orders/drafts.d.ts +800 -0
  108. package/dist/orders/drafts.js +771 -0
  109. package/dist/orders/fields.d.ts +245 -0
  110. package/dist/orders/fields.js +188 -0
  111. package/dist/orders/get.d.ts +29 -19
  112. package/dist/orders/get.js +17 -8
  113. package/dist/orders/index.d.ts +125 -5
  114. package/dist/orders/index.js +35 -2
  115. package/dist/orders/lifecycle.d.ts +128 -0
  116. package/dist/orders/lifecycle.js +158 -0
  117. package/dist/orders/line-price-preview.d.ts +7 -2
  118. package/dist/orders/list.d.ts +222 -0
  119. package/dist/orders/list.js +377 -0
  120. package/dist/orders/manual-discounts.d.ts +11 -2
  121. package/dist/orders/manual-discounts.js +2 -0
  122. package/dist/orders/manual-pricing.d.ts +5 -0
  123. package/dist/orders/order-entry.d.ts +20 -7
  124. package/dist/orders/plan-edit.d.ts +1 -1
  125. package/dist/orders/plan-edit.js +4 -1
  126. package/dist/orders/settings.d.ts +201 -0
  127. package/dist/orders/settings.js +325 -0
  128. package/dist/orders/status.d.ts +159 -13
  129. package/dist/orders/status.js +21 -0
  130. package/dist/orders/surcharges.d.ts +8 -1
  131. package/dist/orders/surcharges.js +3 -2
  132. package/dist/payments/account-credit.d.ts +30 -0
  133. package/dist/payments/account-credit.js +19 -0
  134. package/dist/payments/ar.d.ts +292 -0
  135. package/dist/payments/ar.js +223 -0
  136. package/dist/payments/connected-account.d.ts +47 -0
  137. package/dist/payments/connected-account.js +61 -0
  138. package/dist/payments/credit-noted-fields.d.ts +12 -0
  139. package/dist/payments/credit-noted-fields.js +37 -0
  140. package/dist/payments/index.d.ts +263 -10
  141. package/dist/payments/index.js +133 -1
  142. package/dist/payments/methods.d.ts +332 -0
  143. package/dist/payments/methods.js +363 -0
  144. package/dist/payments/mollie-methods.d.ts +159 -0
  145. package/dist/payments/mollie-methods.js +141 -0
  146. package/dist/payments/payment-links.d.ts +180 -0
  147. package/dist/payments/payment-links.js +97 -0
  148. package/dist/payments/provider-keys.d.ts +150 -0
  149. package/dist/payments/provider-keys.js +118 -0
  150. package/dist/payments/providers.d.ts +86 -11
  151. package/dist/payments/providers.js +29 -0
  152. package/dist/payments/requests.d.ts +144 -0
  153. package/dist/payments/requests.js +92 -0
  154. package/dist/payments/store-credit-fields.d.ts +15 -0
  155. package/dist/payments/store-credit-fields.js +51 -0
  156. package/dist/pickups/index.d.ts +104 -0
  157. package/dist/pickups/index.js +105 -0
  158. package/dist/platform/channels.d.ts +132 -0
  159. package/dist/platform/channels.js +128 -0
  160. package/dist/platform/geo.d.ts +123 -0
  161. package/dist/platform/geo.js +144 -0
  162. package/dist/platform/tax.d.ts +154 -0
  163. package/dist/platform/tax.js +139 -0
  164. package/dist/pos/anomalies.d.ts +158 -0
  165. package/dist/pos/anomalies.js +64 -0
  166. package/dist/pos/assisted-selling.d.ts +79 -0
  167. package/dist/pos/assisted-selling.js +38 -0
  168. package/dist/pos/exchanges.d.ts +103 -0
  169. package/dist/pos/exchanges.js +22 -0
  170. package/dist/pos/gift-cards.d.ts +135 -0
  171. package/dist/pos/gift-cards.js +47 -0
  172. package/dist/pos/index.d.ts +2125 -32
  173. package/dist/pos/index.js +742 -4
  174. package/dist/pos/no-receipt.d.ts +94 -0
  175. package/dist/pos/no-receipt.js +25 -0
  176. package/dist/pos/offline-sales.d.ts +187 -0
  177. package/dist/pos/offline-sales.js +116 -0
  178. package/dist/pos/pay-by-link.d.ts +143 -0
  179. package/dist/pos/pay-by-link.js +57 -0
  180. package/dist/pos/quick-keys.d.ts +103 -0
  181. package/dist/pos/quick-keys.js +45 -0
  182. package/dist/pos/reports.d.ts +360 -0
  183. package/dist/pos/reports.js +62 -0
  184. package/dist/pos/returns.d.ts +217 -0
  185. package/dist/pos/returns.js +53 -0
  186. package/dist/pricing/bulk-coupons.d.ts +139 -0
  187. package/dist/pricing/bulk-coupons.js +112 -0
  188. package/dist/pricing/index.d.ts +177 -4
  189. package/dist/pricing/index.js +176 -1
  190. package/dist/pricing/price-lists.d.ts +604 -0
  191. package/dist/pricing/price-lists.js +600 -0
  192. package/dist/pricing/vouchers.d.ts +103 -0
  193. package/dist/pricing/vouchers.js +69 -0
  194. package/dist/purchasing/alerts.d.ts +89 -0
  195. package/dist/purchasing/alerts.js +62 -0
  196. package/dist/purchasing/cost.d.ts +110 -0
  197. package/dist/purchasing/cost.js +86 -0
  198. package/dist/purchasing/index.d.ts +36 -0
  199. package/dist/purchasing/index.js +16 -0
  200. package/dist/purchasing/purchase-orders.d.ts +548 -0
  201. package/dist/purchasing/purchase-orders.js +491 -0
  202. package/dist/purchasing/replenishment.d.ts +281 -0
  203. package/dist/purchasing/replenishment.js +240 -0
  204. package/dist/purchasing/settings.d.ts +152 -0
  205. package/dist/purchasing/settings.js +181 -0
  206. package/dist/purchasing/suppliers.d.ts +476 -0
  207. package/dist/purchasing/suppliers.js +438 -0
  208. package/dist/quotes/index.d.ts +501 -0
  209. package/dist/quotes/index.js +439 -0
  210. package/dist/reports/index.d.ts +71 -8
  211. package/dist/reports/index.js +74 -11
  212. package/dist/returns/index.d.ts +818 -0
  213. package/dist/returns/index.js +844 -0
  214. package/dist/search/index.d.ts +174 -0
  215. package/dist/search/index.js +125 -0
  216. package/dist/shipping/definitions.d.ts +29 -0
  217. package/dist/shipping/definitions.js +47 -0
  218. package/dist/shipping/fulfillment-profiles.d.ts +174 -0
  219. package/dist/shipping/fulfillment-profiles.js +104 -0
  220. package/dist/shipping/hendriks.d.ts +97 -0
  221. package/dist/shipping/hendriks.js +50 -0
  222. package/dist/shipping/index.d.ts +48 -0
  223. package/dist/shipping/index.js +25 -0
  224. package/dist/shipping/methods.d.ts +198 -0
  225. package/dist/shipping/methods.js +240 -0
  226. package/dist/shipping/myparcel.d.ts +254 -0
  227. package/dist/shipping/myparcel.js +178 -0
  228. package/dist/shipping/parcel-count-suggestion.d.ts +2 -0
  229. package/dist/shipping/parcel-rule.d.ts +6 -5
  230. package/dist/shipping/parcel-rule.js +21 -23
  231. package/dist/shipping/rate-tables.d.ts +179 -0
  232. package/dist/shipping/rate-tables.js +184 -0
  233. package/dist/stock/index.d.ts +10 -3
  234. package/dist/stock/index.js +3 -0
  235. package/dist/stock/locations.d.ts +144 -0
  236. package/dist/stock/locations.js +168 -0
  237. package/dist/stock/transfers.d.ts +216 -43
  238. package/dist/stock/transfers.js +140 -13
  239. package/dist/stored-value/index.d.ts +214 -4
  240. package/dist/stored-value/index.js +152 -0
  241. package/dist/subscriptions/index.d.ts +682 -0
  242. package/dist/subscriptions/index.js +815 -0
  243. package/dist/tax/index.d.ts +76 -1
  244. package/dist/tax/index.js +50 -0
  245. package/dist/tenant/email-style.d.ts +102 -0
  246. package/dist/tenant/email-style.js +72 -0
  247. package/dist/tenant/email-templates.d.ts +66 -0
  248. package/dist/tenant/email-templates.js +54 -0
  249. package/dist/tenant/notifications.d.ts +23 -17
  250. package/dist/tenant/settings-sources.d.ts +1 -1
  251. package/dist/tenant/time-zone.d.ts +17 -0
  252. package/dist/tenant/time-zone.js +11 -0
  253. package/dist/types.d.ts +51 -4
  254. package/dist/users/index.d.ts +3 -0
  255. package/dist/users/index.js +2 -0
  256. package/dist/users/warehouses.d.ts +50 -0
  257. package/dist/users/warehouses.js +51 -0
  258. package/package.json +2 -2
@@ -1,5 +1,6 @@
1
1
  import type { Transport } from '@sixtyninecommerce/core';
2
2
  import type { Call } from '../types.js';
3
+ import { type UserWarehousesModule } from './warehouses.js';
3
4
  /**
4
5
  * What `users.ensure` did. A newer engine may name an outcome this SDK does not know yet; it is
5
6
  * passed through, lower-cased, rather than dropped.
@@ -98,6 +99,8 @@ export interface UsersModule {
98
99
  * Someone outside the active store answers `ENTITY_NOT_FOUND`.
99
100
  */
100
101
  update(input: UpdateUserInput, call?: Call): Promise<StaffUser>;
102
+ /** Which of the store's warehouses a staff member works in. See {@link UserWarehousesModule}. */
103
+ warehouses: UserWarehousesModule;
101
104
  }
102
105
  export declare const ENSURE_ADMINISTRATOR_MUTATION = "\n mutation EnsureAdministrator($input: EnsureAdministratorInput!) {\n ensureAdministrator(input: $input) {\n outcome\n invitationSent\n administrator { \n id\n firstName\n lastName\n emailAddress\n user {\n roles {\n id\n code\n }\n }\n }\n }\n }\n";
103
106
  export declare const UPDATE_ADMINISTRATOR_MUTATION = "\n mutation UpdateStaffUser($input: UpdateAdministratorInput!) {\n updateAdministrator(input: $input) { \n id\n firstName\n lastName\n emailAddress\n user {\n roles {\n id\n code\n }\n }\n }\n }\n";
@@ -1,3 +1,4 @@
1
+ import { createUserWarehousesModule } from './warehouses.js';
1
2
  const STAFF_USER_FIELDS = /* GraphQL */ `
2
3
  id
3
4
  firstName
@@ -76,5 +77,6 @@ export function createUsersModule(transport) {
76
77
  }, call);
77
78
  return staffUserOf(data.updateAdministrator);
78
79
  },
80
+ warehouses: createUserWarehousesModule(transport),
79
81
  };
80
82
  }
@@ -0,0 +1,50 @@
1
+ import { type Transport } from '@sixtyninecommerce/core';
2
+ import type { Call } from '../types.js';
3
+ /** A warehouse (stock location) a staff member is assigned to, by name. */
4
+ export interface AssignedWarehouse {
5
+ id: string;
6
+ name: string;
7
+ }
8
+ /**
9
+ * `admin.users.warehouses`: which of the store's warehouses a staff member works in (spec §12.3,
10
+ * Settings → Team → a user → Warehouses). A user on the Warehouse role sees and ships only from
11
+ * the warehouses assigned here, and from none without any; a user who manages orders sees every
12
+ * warehouse whatever is assigned.
13
+ *
14
+ * Needs the store's `warehouse` entitlement: without it every method is refused
15
+ * `WAREHOUSE_NOT_ENABLED` (`BusinessRuleError`). Needs `ManageWarehouseAssignments` or
16
+ * `UpdateAdministrator` (either one, so no `@permission` tag: the tag can only say "all of
17
+ * these").
18
+ *
19
+ * Per store: the assignments of the store the client is on, never another store's. A staff member
20
+ * who holds no role in this store, a deleted one and a malformed id are refused alike, as a
21
+ * `ValidationError` naming the user.
22
+ *
23
+ * A credential restricted with `locationIds` (an API token or app) manages only those
24
+ * locations: `get` lists only the assigned warehouses among them, and `set` keeps the person's
25
+ * assignments at the store's other warehouses as they are.
26
+ */
27
+ export interface UserWarehousesModule {
28
+ /**
29
+ * The warehouses the staff member is assigned to in this store, by name.
30
+ *
31
+ * @effect read
32
+ */
33
+ get(administratorId: string, options?: Call): Promise<AssignedWarehouse[]>;
34
+ /**
35
+ * Assign exactly these warehouses (an empty list: none), replacing the person's assignments in
36
+ * this store, and answer them. Repeating the call changes nothing.
37
+ *
38
+ * Refused before anything is written:
39
+ * - a warehouse that is not one of this store's (deleted, another store's, a malformed id) as a
40
+ * `ValidationError` naming it; for a credential restricted with `locationIds`, any id outside
41
+ * its locations is `LOCATION_OUT_OF_SCOPE` (`BusinessRuleError`) instead;
42
+ * - more than 200 warehouses (`ValidationError`).
43
+ *
44
+ * @effect write
45
+ */
46
+ set(administratorId: string, stockLocationIds: readonly string[], options?: Call): Promise<AssignedWarehouse[]>;
47
+ }
48
+ export declare const ADMINISTRATOR_WAREHOUSES_QUERY = "\n query AdministratorWarehouses($administratorId: ID!) {\n administratorWarehouses(administratorId: $administratorId) {\n id\n name\n }\n }\n";
49
+ export declare const SET_ADMINISTRATOR_WAREHOUSES_MUTATION = "\n mutation SetAdministratorWarehouses($administratorId: ID!, $stockLocationIds: [ID!]!) {\n setAdministratorWarehouses(administratorId: $administratorId, stockLocationIds: $stockLocationIds) {\n id\n name\n }\n }\n";
50
+ export declare function createUserWarehousesModule(transport: Transport): UserWarehousesModule;
@@ -0,0 +1,51 @@
1
+ import { ValidationError } from '@sixtyninecommerce/core';
2
+ import { fieldOf } from '../catalog/types.js';
3
+ export const ADMINISTRATOR_WAREHOUSES_QUERY = /* GraphQL */ `
4
+ query AdministratorWarehouses($administratorId: ID!) {
5
+ administratorWarehouses(administratorId: $administratorId) {
6
+ id
7
+ name
8
+ }
9
+ }
10
+ `;
11
+ export const SET_ADMINISTRATOR_WAREHOUSES_MUTATION = /* GraphQL */ `
12
+ mutation SetAdministratorWarehouses($administratorId: ID!, $stockLocationIds: [ID!]!) {
13
+ setAdministratorWarehouses(administratorId: $administratorId, stockLocationIds: $stockLocationIds) {
14
+ id
15
+ name
16
+ }
17
+ }
18
+ `;
19
+ const invalidInput = (message) => new ValidationError({
20
+ code: 'USER_WAREHOUSES_INPUT_INVALID',
21
+ message,
22
+ status: 400,
23
+ service: 'vendure',
24
+ });
25
+ function assertAdministratorId(administratorId) {
26
+ if (typeof administratorId !== 'string' || administratorId.trim() === '') {
27
+ throw invalidInput('administratorId must be a staff member id.');
28
+ }
29
+ }
30
+ const toWarehouse = (wire) => ({
31
+ id: wire.id,
32
+ name: wire.name,
33
+ });
34
+ export function createUserWarehousesModule(transport) {
35
+ return {
36
+ async get(administratorId, options) {
37
+ assertAdministratorId(administratorId);
38
+ const rows = await fieldOf(transport, ADMINISTRATOR_WAREHOUSES_QUERY, 'administratorWarehouses', { administratorId }, options);
39
+ return rows.map(toWarehouse);
40
+ },
41
+ async set(administratorId, stockLocationIds, options) {
42
+ assertAdministratorId(administratorId);
43
+ if (!Array.isArray(stockLocationIds) ||
44
+ !stockLocationIds.every((id) => typeof id === 'string' && id.trim() !== '')) {
45
+ throw invalidInput('stockLocationIds must be a list of stock location ids.');
46
+ }
47
+ const rows = await fieldOf(transport, SET_ADMINISTRATOR_WAREHOUSES_MUTATION, 'setAdministratorWarehouses', { administratorId, stockLocationIds: [...stockLocationIds] }, options);
48
+ return rows.map(toWarehouse);
49
+ },
50
+ };
51
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sixtyninecommerce/admin",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "Back-office SDK for sixtynine-commerce: every capability of the platform as a method",
5
5
  "homepage": "https://github.com/SIXTYNINE-digital/sixtynine-commerce-engine/tree/main/packages/admin-client#readme",
6
6
  "repository": {
@@ -33,7 +33,7 @@
33
33
  "access": "public"
34
34
  },
35
35
  "dependencies": {
36
- "@sixtyninecommerce/core": "^0.5.0"
36
+ "@sixtyninecommerce/core": "^0.6.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "22.19.7",