@sixtyninecommerce/admin 0.10.0 → 0.12.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.
- package/README.md +5772 -118
- package/dist/auth/index.d.ts +7 -1
- package/dist/auth/index.js +8 -1
- package/dist/catalog/assets.d.ts +120 -8
- package/dist/catalog/assets.js +98 -12
- package/dist/catalog/collections.d.ts +279 -14
- package/dist/catalog/collections.js +246 -15
- package/dist/catalog/documents.d.ts +142 -0
- package/dist/catalog/documents.js +114 -0
- package/dist/catalog/index.d.ts +54 -6
- package/dist/catalog/index.js +10 -1
- package/dist/catalog/metadata.d.ts +244 -0
- package/dist/catalog/metadata.js +220 -0
- package/dist/catalog/products.d.ts +159 -19
- package/dist/catalog/products.js +88 -13
- package/dist/catalog/properties.d.ts +140 -14
- package/dist/catalog/properties.js +65 -1
- package/dist/catalog/recommendations.d.ts +288 -0
- package/dist/catalog/recommendations.js +237 -0
- package/dist/catalog/reviews.d.ts +381 -0
- package/dist/catalog/reviews.js +325 -0
- package/dist/catalog/types.d.ts +17 -1
- package/dist/catalog/types.js +10 -0
- package/dist/catalog/variant-find.d.ts +136 -0
- package/dist/catalog/variant-find.js +239 -0
- package/dist/catalog/variants.d.ts +293 -26
- package/dist/catalog/variants.js +164 -7
- package/dist/catalog/visibility.d.ts +38 -7
- package/dist/catalog/visibility.js +19 -1
- package/dist/client.d.ts +121 -9
- package/dist/client.js +53 -14
- package/dist/content/assets.d.ts +285 -0
- package/dist/content/assets.js +181 -0
- package/dist/content/forms.d.ts +332 -1
- package/dist/content/forms.js +140 -4
- package/dist/content/items.d.ts +292 -0
- package/dist/content/items.js +170 -0
- package/dist/content/menus.d.ts +254 -0
- package/dist/content/menus.js +70 -0
- package/dist/content/strings.d.ts +137 -0
- package/dist/content/strings.js +82 -0
- package/dist/content/types.d.ts +282 -0
- package/dist/content/types.js +100 -0
- package/dist/customers/age-verification.d.ts +66 -0
- package/dist/customers/age-verification.js +79 -0
- package/dist/customers/credit.d.ts +263 -0
- package/dist/customers/credit.js +244 -0
- package/dist/customers/delivery-preferences.d.ts +120 -0
- package/dist/customers/delivery-preferences.js +97 -0
- package/dist/customers/delivery-terms.d.ts +44 -0
- package/dist/customers/delivery-terms.js +32 -0
- package/dist/customers/groups.d.ts +207 -0
- package/dist/customers/groups.js +438 -0
- package/dist/customers/index.d.ts +462 -37
- package/dist/customers/index.js +317 -40
- package/dist/customers/invitation-status.d.ts +57 -0
- package/dist/customers/invitation-status.js +21 -0
- package/dist/customers/notes.d.ts +67 -0
- package/dist/customers/notes.js +51 -0
- package/dist/customers/notification-recipients.d.ts +97 -0
- package/dist/customers/notification-recipients.js +84 -0
- package/dist/customers/saved-lists.d.ts +42 -0
- package/dist/customers/saved-lists.js +61 -0
- package/dist/customers/vat.d.ts +83 -0
- package/dist/customers/vat.js +46 -0
- package/dist/customers/wire.d.ts +20 -0
- package/dist/customers/wire.js +35 -0
- package/dist/documents/ar.d.ts +307 -0
- package/dist/documents/ar.js +254 -0
- package/dist/documents/emails.d.ts +150 -0
- package/dist/documents/emails.js +220 -0
- package/dist/documents/index.d.ts +744 -21
- package/dist/documents/index.js +438 -24
- package/dist/documents/pdf.d.ts +2 -0
- package/dist/documents/pdf.js +11 -0
- package/dist/fulfillments/create.d.ts +167 -0
- package/dist/fulfillments/create.js +216 -0
- package/dist/fulfillments/index.d.ts +163 -11
- package/dist/fulfillments/index.js +135 -6
- package/dist/fulfillments/payment-policy.d.ts +64 -0
- package/dist/fulfillments/payment-policy.js +140 -0
- package/dist/fulfillments/warehouse.d.ts +724 -0
- package/dist/fulfillments/warehouse.js +914 -0
- package/dist/geo/index.d.ts +119 -0
- package/dist/geo/index.js +107 -0
- package/dist/index.d.ts +147 -39
- package/dist/index.js +51 -12
- package/dist/integrations/afas-actions.d.ts +234 -0
- package/dist/integrations/afas-actions.js +310 -0
- package/dist/integrations/afas-types.d.ts +483 -0
- package/dist/integrations/afas-types.js +5 -0
- package/dist/integrations/afas.d.ts +234 -0
- package/dist/integrations/afas.js +290 -0
- package/dist/integrations/connections.d.ts +103 -0
- package/dist/integrations/connections.js +55 -0
- package/dist/integrations/esp.d.ts +313 -0
- package/dist/integrations/esp.js +169 -0
- package/dist/integrations/exact-online-types.d.ts +965 -0
- package/dist/integrations/exact-online-types.js +6 -0
- package/dist/integrations/exact-online.d.ts +784 -0
- package/dist/integrations/exact-online.js +1089 -0
- package/dist/integrations/index.d.ts +44 -3
- package/dist/integrations/index.js +23 -3
- package/dist/integrations/pipeline-discoveries.d.ts +65 -0
- package/dist/integrations/pipeline-discoveries.js +65 -0
- package/dist/integrations/pipeline-keys.d.ts +13 -0
- package/dist/integrations/pipeline-keys.js +22 -0
- package/dist/integrations/pipeline-runs.d.ts +119 -0
- package/dist/integrations/pipeline-runs.js +87 -0
- package/dist/integrations/pipelines.d.ts +87 -15
- package/dist/integrations/pipelines.js +41 -22
- package/dist/integrations/price-import.d.ts +223 -0
- package/dist/integrations/price-import.js +124 -0
- package/dist/integrations/types.d.ts +367 -3
- package/dist/integrations/types.js +4 -3
- package/dist/locations/index.d.ts +66 -0
- package/dist/locations/index.js +31 -0
- package/dist/meta/index.d.ts +172 -0
- package/dist/metafields/index.d.ts +8 -1
- package/dist/metafields/index.js +10 -0
- package/dist/orders/cancel-with-money.d.ts +237 -0
- package/dist/orders/cancel-with-money.js +155 -0
- package/dist/orders/commit-edit.d.ts +23 -1
- package/dist/orders/commit-edit.js +19 -2
- package/dist/orders/deposit-policy.d.ts +3 -1
- package/dist/orders/drafts.d.ts +800 -0
- package/dist/orders/drafts.js +771 -0
- package/dist/orders/fields.d.ts +245 -0
- package/dist/orders/fields.js +188 -0
- package/dist/orders/get.d.ts +29 -19
- package/dist/orders/get.js +17 -8
- package/dist/orders/index.d.ts +66 -15
- package/dist/orders/index.js +25 -2
- package/dist/orders/lifecycle.d.ts +128 -0
- package/dist/orders/lifecycle.js +158 -0
- package/dist/orders/line-price-preview.d.ts +7 -2
- package/dist/orders/list.d.ts +243 -0
- package/dist/orders/list.js +487 -0
- package/dist/orders/manual-discounts.d.ts +13 -5
- package/dist/orders/manual-pricing.d.ts +5 -0
- package/dist/orders/money-view.d.ts +149 -0
- package/dist/orders/money-view.js +99 -0
- package/dist/orders/order-entry.d.ts +20 -7
- package/dist/orders/plan-edit.d.ts +34 -2
- package/dist/orders/plan-edit.js +112 -11
- package/dist/orders/settings.d.ts +201 -0
- package/dist/orders/settings.js +325 -0
- package/dist/orders/status.d.ts +159 -13
- package/dist/orders/status.js +21 -0
- package/dist/orders/surcharges.d.ts +20 -1
- package/dist/orders/surcharges.js +37 -11
- package/dist/payments/account-credit.d.ts +46 -0
- package/dist/payments/account-credit.js +42 -0
- package/dist/payments/ar.d.ts +292 -0
- package/dist/payments/ar.js +223 -0
- package/dist/payments/connected-account.d.ts +47 -0
- package/dist/payments/connected-account.js +61 -0
- package/dist/payments/credit-noted-fields.d.ts +19 -0
- package/dist/payments/credit-noted-fields.js +69 -0
- package/dist/payments/customer-consent.d.ts +30 -0
- package/dist/payments/customer-consent.js +49 -0
- package/dist/payments/index.d.ts +340 -19
- package/dist/payments/index.js +151 -1
- package/dist/payments/methods.d.ts +303 -8
- package/dist/payments/methods.js +337 -7
- package/dist/payments/mollie-methods.d.ts +159 -0
- package/dist/payments/mollie-methods.js +141 -0
- package/dist/payments/payment-links.d.ts +180 -0
- package/dist/payments/payment-links.js +97 -0
- package/dist/payments/provider-keys.d.ts +150 -0
- package/dist/payments/provider-keys.js +118 -0
- package/dist/payments/providers.d.ts +86 -11
- package/dist/payments/providers.js +29 -0
- package/dist/payments/requests.d.ts +147 -0
- package/dist/payments/requests.js +93 -0
- package/dist/payments/store-credit-fields.d.ts +15 -0
- package/dist/payments/store-credit-fields.js +51 -0
- package/dist/pickups/index.d.ts +106 -0
- package/dist/pickups/index.js +108 -0
- package/dist/platform/channels.d.ts +132 -0
- package/dist/platform/channels.js +128 -0
- package/dist/platform/email-gateways.d.ts +165 -0
- package/dist/platform/email-gateways.js +78 -0
- package/dist/platform/geo.d.ts +123 -0
- package/dist/platform/geo.js +144 -0
- package/dist/platform/tax.d.ts +162 -0
- package/dist/platform/tax.js +169 -0
- package/dist/pos/anomalies.d.ts +158 -0
- package/dist/pos/anomalies.js +64 -0
- package/dist/pos/assisted-selling.d.ts +79 -0
- package/dist/pos/assisted-selling.js +38 -0
- package/dist/pos/exchanges.d.ts +108 -0
- package/dist/pos/exchanges.js +22 -0
- package/dist/pos/gift-cards.d.ts +135 -0
- package/dist/pos/gift-cards.js +47 -0
- package/dist/pos/index.d.ts +2370 -58
- package/dist/pos/index.js +854 -7
- package/dist/pos/no-receipt.d.ts +94 -0
- package/dist/pos/no-receipt.js +25 -0
- package/dist/pos/offline-sales.d.ts +228 -0
- package/dist/pos/offline-sales.js +170 -0
- package/dist/pos/pay-by-link.d.ts +143 -0
- package/dist/pos/pay-by-link.js +57 -0
- package/dist/pos/quick-keys.d.ts +103 -0
- package/dist/pos/quick-keys.js +45 -0
- package/dist/pos/reports.d.ts +360 -0
- package/dist/pos/reports.js +62 -0
- package/dist/pos/returns.d.ts +244 -0
- package/dist/pos/returns.js +83 -0
- package/dist/pricing/bulk-coupons.d.ts +139 -0
- package/dist/pricing/bulk-coupons.js +112 -0
- package/dist/pricing/index.d.ts +174 -4
- package/dist/pricing/index.js +174 -1
- package/dist/pricing/price-lists.d.ts +606 -0
- package/dist/pricing/price-lists.js +600 -0
- package/dist/purchasing/alerts.d.ts +104 -0
- package/dist/purchasing/alerts.js +88 -0
- package/dist/purchasing/backorders.d.ts +61 -0
- package/dist/purchasing/backorders.js +92 -0
- package/dist/purchasing/cost.d.ts +110 -0
- package/dist/purchasing/cost.js +86 -0
- package/dist/purchasing/index.d.ts +54 -0
- package/dist/purchasing/index.js +24 -0
- package/dist/purchasing/links.d.ts +263 -0
- package/dist/purchasing/links.js +192 -0
- package/dist/purchasing/purchase-orders.d.ts +551 -0
- package/dist/purchasing/purchase-orders.js +491 -0
- package/dist/purchasing/receipts.d.ts +396 -0
- package/dist/purchasing/receipts.js +287 -0
- package/dist/purchasing/replenishment.d.ts +281 -0
- package/dist/purchasing/replenishment.js +240 -0
- package/dist/purchasing/returns.d.ts +273 -0
- package/dist/purchasing/returns.js +229 -0
- package/dist/purchasing/settings.d.ts +152 -0
- package/dist/purchasing/settings.js +181 -0
- package/dist/purchasing/suppliers.d.ts +476 -0
- package/dist/purchasing/suppliers.js +438 -0
- package/dist/quotes/index.d.ts +518 -0
- package/dist/quotes/index.js +439 -0
- package/dist/reports/index.d.ts +71 -8
- package/dist/reports/index.js +74 -11
- package/dist/returns/index.d.ts +675 -21
- package/dist/returns/index.js +756 -11
- package/dist/search/index.d.ts +76 -1
- package/dist/search/index.js +63 -0
- package/dist/seo/config.d.ts +128 -0
- package/dist/seo/config.js +95 -0
- package/dist/seo/redirects.d.ts +125 -0
- package/dist/seo/redirects.js +60 -1
- package/dist/seo/settings.d.ts +147 -0
- package/dist/seo/settings.js +209 -0
- package/dist/shipping/definitions.d.ts +29 -0
- package/dist/shipping/definitions.js +47 -0
- package/dist/shipping/fulfillment-profiles.d.ts +174 -0
- package/dist/shipping/fulfillment-profiles.js +104 -0
- package/dist/shipping/hendriks.d.ts +97 -0
- package/dist/shipping/hendriks.js +50 -0
- package/dist/shipping/index.d.ts +54 -0
- package/dist/shipping/index.js +27 -0
- package/dist/shipping/methods.d.ts +205 -0
- package/dist/shipping/methods.js +240 -0
- package/dist/shipping/myparcel.d.ts +668 -0
- package/dist/shipping/myparcel.js +466 -0
- package/dist/shipping/parcel-count-suggestion.d.ts +2 -0
- package/dist/shipping/parcel-rule.d.ts +6 -5
- package/dist/shipping/parcel-rule.js +21 -23
- package/dist/shipping/rate-tables.d.ts +324 -0
- package/dist/shipping/rate-tables.js +390 -0
- package/dist/shipping/ship-to-countries.d.ts +75 -0
- package/dist/shipping/ship-to-countries.js +47 -0
- package/dist/stock/by-location.d.ts +86 -0
- package/dist/stock/by-location.js +94 -0
- package/dist/stock/index.d.ts +18 -4
- package/dist/stock/index.js +7 -0
- package/dist/stock/locations.d.ts +144 -0
- package/dist/stock/locations.js +168 -0
- package/dist/stock/settings.d.ts +106 -0
- package/dist/stock/settings.js +103 -0
- package/dist/stock/transfers.d.ts +386 -52
- package/dist/stock/transfers.js +222 -17
- package/dist/stored-value/index.d.ts +312 -11
- package/dist/stored-value/index.js +223 -4
- package/dist/subscriptions/index.d.ts +682 -0
- package/dist/subscriptions/index.js +815 -0
- package/dist/tax/display-policy.d.ts +105 -0
- package/dist/tax/display-policy.js +84 -0
- package/dist/tax/index.d.ts +79 -1
- package/dist/tax/index.js +52 -0
- package/dist/tenant/email-style.d.ts +102 -0
- package/dist/tenant/email-style.js +72 -0
- package/dist/tenant/email-templates.d.ts +287 -0
- package/dist/tenant/email-templates.js +271 -0
- package/dist/tenant/notifications.d.ts +23 -17
- package/dist/tenant/settings-sources.d.ts +1 -1
- package/dist/tenant/time-zone.d.ts +17 -0
- package/dist/tenant/time-zone.js +11 -0
- package/dist/types.d.ts +50 -3
- package/dist/users/index.d.ts +3 -0
- package/dist/users/index.js +2 -0
- package/dist/users/warehouses.d.ts +50 -0
- package/dist/users/warehouses.js +51 -0
- package/package.json +2 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isUnknownFieldRejection } from '../payments/store-credit-fields.js';
|
|
1
2
|
const ACCOUNT_FIELDS = `
|
|
2
3
|
id
|
|
3
4
|
createdAt
|
|
@@ -34,7 +35,8 @@ export const STORED_VALUE_STATEMENT_QUERY = /* GraphQL */ `
|
|
|
34
35
|
totalItems
|
|
35
36
|
entries {
|
|
36
37
|
id createdAt occurredAt entryType amount balanceAfter unit sourceType sourceId paymentId
|
|
37
|
-
orderId locationId actorType actorId onBehalfOfRef deviceRef reason
|
|
38
|
+
orderId locationId actorType actorId onBehalfOfRef deviceRef reason origin originRef lotId
|
|
39
|
+
customerAgreed
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
}
|
|
@@ -42,10 +44,28 @@ export const STORED_VALUE_STATEMENT_QUERY = /* GraphQL */ `
|
|
|
42
44
|
export const STORED_VALUE_LIABILITY_QUERY = /* GraphQL */ `
|
|
43
45
|
query StoredValueLiability($at: DateTime, $kind: String, $locationId: ID) {
|
|
44
46
|
storedValueLiability(at: $at, kind: $kind, locationId: $locationId) {
|
|
45
|
-
unit kind accounts issued
|
|
47
|
+
unit kind accounts issued issuedGoodwill issuedFromOrders issuedFromReturns redeemed
|
|
48
|
+
reversed adjusted expired forfeited paidOut outstanding
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
`;
|
|
52
|
+
/**
|
|
53
|
+
* The statement's and the liability's fields from incentives sprint 8 (the wallet's origins and
|
|
54
|
+
* split, PR 1; the payout's `lotId` and `paidOut`, PR 5; the customer's consent, PR 6a). An engine
|
|
55
|
+
* before them refuses a document naming one as a whole, before it runs; the same document without
|
|
56
|
+
* them reads as it did then.
|
|
57
|
+
*/
|
|
58
|
+
const WALLET_FIELDS = /\b(?:origin|originRef|lotId|customerAgreed|issuedGoodwill|issuedFromOrders|issuedFromReturns|paidOut)\b/g;
|
|
59
|
+
/** `document` without the fields above: what an engine before them accepts. */
|
|
60
|
+
export function withoutWalletFields(document) {
|
|
61
|
+
return document.replace(WALLET_FIELDS, '');
|
|
62
|
+
}
|
|
63
|
+
/** The newest of them, the customer's consent (PR 6a): an engine with the others lacks only it. */
|
|
64
|
+
const CONSENT_FIELD = /\bcustomerAgreed\b/g;
|
|
65
|
+
/** `document` without the consent field: what an engine of sprint 8 before PR 6a accepts. */
|
|
66
|
+
export function withoutConsentField(document) {
|
|
67
|
+
return document.replace(CONSENT_FIELD, '');
|
|
68
|
+
}
|
|
49
69
|
export const ISSUE_STORED_VALUE_MUTATION = /* GraphQL */ `
|
|
50
70
|
mutation IssueStoredValue($input: IssueStoredValueInput!, $idempotencyKey: String) {
|
|
51
71
|
issueStoredValue(input: $input, idempotencyKey: $idempotencyKey) { ${ACCOUNT_FIELDS} }
|
|
@@ -81,6 +101,18 @@ export const SET_STORED_VALUE_EXPIRY_MUTATION = /* GraphQL */ `
|
|
|
81
101
|
) { ${ACCOUNT_FIELDS} }
|
|
82
102
|
}
|
|
83
103
|
`;
|
|
104
|
+
export const PAY_OUT_STORE_CREDIT_MUTATION = /* GraphQL */ `
|
|
105
|
+
mutation PayOutStoreCredit($input: PayOutStoreCreditInput!, $idempotencyKey: String) {
|
|
106
|
+
payOutStoreCredit(input: $input, idempotencyKey: $idempotencyKey) {
|
|
107
|
+
id
|
|
108
|
+
total
|
|
109
|
+
state
|
|
110
|
+
method
|
|
111
|
+
transactionId
|
|
112
|
+
reason
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
`;
|
|
84
116
|
export const REDEEM_STORED_VALUE_MUTATION = /* GraphQL */ `
|
|
85
117
|
mutation RedeemStoredValue($input: RedeemStoredValueInput!, $idempotencyKey: String) {
|
|
86
118
|
redeemStoredValue(input: $input, idempotencyKey: $idempotencyKey) {
|
|
@@ -91,8 +123,132 @@ export const REDEEM_STORED_VALUE_MUTATION = /* GraphQL */ `
|
|
|
91
123
|
}
|
|
92
124
|
}
|
|
93
125
|
`;
|
|
126
|
+
const STORE_CREDIT_SETTINGS_FIELDS = `
|
|
127
|
+
refundToCredit
|
|
128
|
+
book
|
|
129
|
+
available
|
|
130
|
+
code
|
|
131
|
+
message
|
|
132
|
+
`;
|
|
133
|
+
export const STORE_CREDIT_SETTINGS_QUERY = /* GraphQL */ `
|
|
134
|
+
query StoreCreditSettings {
|
|
135
|
+
storeCreditSettings { ${STORE_CREDIT_SETTINGS_FIELDS} }
|
|
136
|
+
}
|
|
137
|
+
`;
|
|
138
|
+
export const UPDATE_STORE_CREDIT_SETTINGS_MUTATION = /* GraphQL */ `
|
|
139
|
+
mutation UpdateStoreCreditSettings($input: UpdateStoreCreditSettingsInput!) {
|
|
140
|
+
updateStoreCreditSettings(input: $input) { ${STORE_CREDIT_SETTINGS_FIELDS} }
|
|
141
|
+
}
|
|
142
|
+
`;
|
|
143
|
+
const GIFT_CARD_FIELDS = `
|
|
144
|
+
id
|
|
145
|
+
createdAt
|
|
146
|
+
account { ${ACCOUNT_FIELDS} }
|
|
147
|
+
origin
|
|
148
|
+
orderId
|
|
149
|
+
orderLineId
|
|
150
|
+
unitIndex
|
|
151
|
+
productVariantId
|
|
152
|
+
faceValue
|
|
153
|
+
maskedCode
|
|
154
|
+
voided
|
|
155
|
+
`;
|
|
156
|
+
export const GIFT_CARDS_QUERY = /* GraphQL */ `
|
|
157
|
+
query GiftCards($orderId: ID, $origin: String, $take: Int, $skip: Int) {
|
|
158
|
+
giftCards(orderId: $orderId, origin: $origin, take: $take, skip: $skip) {
|
|
159
|
+
items { ${GIFT_CARD_FIELDS} }
|
|
160
|
+
totalItems
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
`;
|
|
164
|
+
export const GIFT_CARD_QUERY = /* GraphQL */ `
|
|
165
|
+
query GiftCard($id: ID!) {
|
|
166
|
+
giftCard(id: $id) { ${GIFT_CARD_FIELDS} }
|
|
167
|
+
}
|
|
168
|
+
`;
|
|
169
|
+
export const GIFT_CARD_BY_CODE_QUERY = /* GraphQL */ `
|
|
170
|
+
query GiftCardByCode($code: String!) {
|
|
171
|
+
giftCardByCode(code: $code) { ${GIFT_CARD_FIELDS} }
|
|
172
|
+
}
|
|
173
|
+
`;
|
|
174
|
+
export const GIFT_CARD_VARIANTS_QUERY = /* GraphQL */ `
|
|
175
|
+
query GiftCardVariants($productVariantIds: [ID!]!) {
|
|
176
|
+
giftCardVariants(productVariantIds: $productVariantIds) {
|
|
177
|
+
productVariantId
|
|
178
|
+
validityMonths
|
|
179
|
+
createdAt
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
`;
|
|
183
|
+
export const GIFT_CARD_VARIANT_UNPAID_ORDERS_QUERY = /* GraphQL */ `
|
|
184
|
+
query GiftCardVariantUnpaidOrders($productVariantIds: [ID!]!) {
|
|
185
|
+
giftCardVariants(productVariantIds: $productVariantIds) {
|
|
186
|
+
productVariantId
|
|
187
|
+
unpaidOrders
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
`;
|
|
191
|
+
export const SET_GIFT_CARD_VARIANT_MUTATION = /* GraphQL */ `
|
|
192
|
+
mutation SetGiftCardVariant($productVariantId: ID!, $enabled: Boolean!, $validityMonths: Int) {
|
|
193
|
+
setGiftCardVariant(
|
|
194
|
+
productVariantId: $productVariantId
|
|
195
|
+
enabled: $enabled
|
|
196
|
+
validityMonths: $validityMonths
|
|
197
|
+
) {
|
|
198
|
+
productVariantId
|
|
199
|
+
validityMonths
|
|
200
|
+
createdAt
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
`;
|
|
204
|
+
export const VOID_GIFT_CARD_MUTATION = /* GraphQL */ `
|
|
205
|
+
mutation VoidGiftCard($id: ID!, $reason: String!, $idempotencyKey: String) {
|
|
206
|
+
voidGiftCard(id: $id, reason: $reason, idempotencyKey: $idempotencyKey) { ${GIFT_CARD_FIELDS} }
|
|
207
|
+
}
|
|
208
|
+
`;
|
|
209
|
+
export const REISSUE_GIFT_CARD_CODE_MUTATION = /* GraphQL */ `
|
|
210
|
+
mutation ReissueGiftCardCode(
|
|
211
|
+
$id: ID!
|
|
212
|
+
$reason: String!
|
|
213
|
+
$notify: Boolean!
|
|
214
|
+
$idempotencyKey: String
|
|
215
|
+
) {
|
|
216
|
+
reissueGiftCardCode(
|
|
217
|
+
id: $id
|
|
218
|
+
reason: $reason
|
|
219
|
+
notify: $notify
|
|
220
|
+
idempotencyKey: $idempotencyKey
|
|
221
|
+
) {
|
|
222
|
+
giftCard { ${GIFT_CARD_FIELDS} }
|
|
223
|
+
code
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
`;
|
|
227
|
+
export const ISSUE_GIFT_CARD_MUTATION = /* GraphQL */ `
|
|
228
|
+
mutation IssueGiftCard($input: IssueGiftCardInput!, $idempotencyKey: String) {
|
|
229
|
+
issueGiftCard(input: $input, idempotencyKey: $idempotencyKey) {
|
|
230
|
+
giftCard { ${GIFT_CARD_FIELDS} }
|
|
231
|
+
code
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
`;
|
|
94
235
|
export function createStoredValueModule(transport) {
|
|
95
236
|
const read = async (query, variables, options) => transport.graphql({ api: 'admin', query, variables }, options);
|
|
237
|
+
// A read naming the sprint-8 fields, sent again to an engine that refuses one as unknown: first
|
|
238
|
+
// without the consent field alone (an engine with the rest of sprint 8), then without any of them.
|
|
239
|
+
const readWallet = async (query, variables, options) => {
|
|
240
|
+
const documents = [...new Set([query, withoutConsentField(query), withoutWalletFields(query)])];
|
|
241
|
+
for (const [index, document] of documents.entries()) {
|
|
242
|
+
try {
|
|
243
|
+
return await read(document, variables, options);
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
if (index === documents.length - 1 || !isUnknownFieldRejection(error))
|
|
247
|
+
throw error;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
throw new Error('unreachable: the last document either answers or throws');
|
|
251
|
+
};
|
|
96
252
|
// The key is an ARGUMENT on the Admin API; `undefined` keeps an omitted key off the wire.
|
|
97
253
|
const write = async (query, variables, options) => transport.graphql({ api: 'admin', query, variables: { ...variables, idempotencyKey: options?.idempotencyKey } }, options);
|
|
98
254
|
return {
|
|
@@ -103,10 +259,27 @@ export function createStoredValueModule(transport) {
|
|
|
103
259
|
return (await read(STORED_VALUE_ACCOUNT_QUERY, { id }, options)).storedValueAccount;
|
|
104
260
|
},
|
|
105
261
|
async statement(accountId, window = {}, options) {
|
|
106
|
-
|
|
262
|
+
const statement = (await readWallet(STORED_VALUE_STATEMENT_QUERY, { accountId, ...window }, options)).storedValueStatement;
|
|
263
|
+
return {
|
|
264
|
+
...statement,
|
|
265
|
+
entries: statement.entries.map((entry) => ({
|
|
266
|
+
...entry,
|
|
267
|
+
origin: entry.origin ?? null,
|
|
268
|
+
originRef: entry.originRef ?? null,
|
|
269
|
+
lotId: entry.lotId ?? null,
|
|
270
|
+
customerAgreed: entry.customerAgreed ?? null,
|
|
271
|
+
})),
|
|
272
|
+
};
|
|
107
273
|
},
|
|
108
274
|
async liability(filter = {}, options) {
|
|
109
|
-
|
|
275
|
+
const rows = (await readWallet(STORED_VALUE_LIABILITY_QUERY, filter, options)).storedValueLiability;
|
|
276
|
+
return rows.map((row) => ({
|
|
277
|
+
...row,
|
|
278
|
+
issuedGoodwill: row.issuedGoodwill ?? null,
|
|
279
|
+
issuedFromOrders: row.issuedFromOrders ?? null,
|
|
280
|
+
issuedFromReturns: row.issuedFromReturns ?? null,
|
|
281
|
+
paidOut: row.paidOut ?? null,
|
|
282
|
+
}));
|
|
110
283
|
},
|
|
111
284
|
async issue(input, options) {
|
|
112
285
|
return (await write(ISSUE_STORED_VALUE_MUTATION, { input }, options)).issueStoredValue;
|
|
@@ -126,5 +299,51 @@ export function createStoredValueModule(transport) {
|
|
|
126
299
|
async redeem(input, options) {
|
|
127
300
|
return (await write(REDEEM_STORED_VALUE_MUTATION, { input }, options)).redeemStoredValue;
|
|
128
301
|
},
|
|
302
|
+
async payOut(input, options) {
|
|
303
|
+
return (await write(PAY_OUT_STORE_CREDIT_MUTATION, { input }, options)).payOutStoreCredit;
|
|
304
|
+
},
|
|
305
|
+
async storeCreditSettings(options) {
|
|
306
|
+
return (await read(STORE_CREDIT_SETTINGS_QUERY, {}, options)).storeCreditSettings;
|
|
307
|
+
},
|
|
308
|
+
async updateStoreCreditSettings(input, options) {
|
|
309
|
+
return (await read(UPDATE_STORE_CREDIT_SETTINGS_MUTATION, { input: { refundToCredit: input.refundToCredit } }, options)).updateStoreCreditSettings;
|
|
310
|
+
},
|
|
311
|
+
giftCards: {
|
|
312
|
+
async list(filter = {}, options) {
|
|
313
|
+
return (await read(GIFT_CARDS_QUERY, filter, options)).giftCards;
|
|
314
|
+
},
|
|
315
|
+
async get(id, options) {
|
|
316
|
+
return (await read(GIFT_CARD_QUERY, { id }, options))
|
|
317
|
+
.giftCard;
|
|
318
|
+
},
|
|
319
|
+
// A GraphQL call is always a POST body: the code never reaches a URL (the engine refuses a
|
|
320
|
+
// GET lookup, `STORED_VALUE_GIFT_CARD_LOOKUP_POST_ONLY`).
|
|
321
|
+
async byCode(code, options) {
|
|
322
|
+
return (await read(GIFT_CARD_BY_CODE_QUERY, { code }, options)).giftCardByCode;
|
|
323
|
+
},
|
|
324
|
+
async variants(productVariantIds, options) {
|
|
325
|
+
return (await read(GIFT_CARD_VARIANTS_QUERY, { productVariantIds }, options)).giftCardVariants;
|
|
326
|
+
},
|
|
327
|
+
async variantUnpaidOrders(productVariantId, options) {
|
|
328
|
+
const [variant] = (await read(GIFT_CARD_VARIANT_UNPAID_ORDERS_QUERY, { productVariantIds: [productVariantId] }, options)).giftCardVariants;
|
|
329
|
+
return variant ? variant.unpaidOrders : null;
|
|
330
|
+
},
|
|
331
|
+
async setVariant(productVariantId, enabled, validityMonths, options) {
|
|
332
|
+
return (await read(SET_GIFT_CARD_VARIANT_MUTATION, {
|
|
333
|
+
productVariantId,
|
|
334
|
+
enabled,
|
|
335
|
+
...(validityMonths === undefined ? {} : { validityMonths }),
|
|
336
|
+
}, options)).setGiftCardVariant;
|
|
337
|
+
},
|
|
338
|
+
async void(id, reason, options) {
|
|
339
|
+
return (await write(VOID_GIFT_CARD_MUTATION, { id, reason }, options)).voidGiftCard;
|
|
340
|
+
},
|
|
341
|
+
async reissueCode(id, input, options) {
|
|
342
|
+
return (await write(REISSUE_GIFT_CARD_CODE_MUTATION, { id, reason: input.reason, notify: input.notify }, options)).reissueGiftCardCode;
|
|
343
|
+
},
|
|
344
|
+
async issue(input, options) {
|
|
345
|
+
return (await write(ISSUE_GIFT_CARD_MUTATION, { input }, options)).issueGiftCard;
|
|
346
|
+
},
|
|
347
|
+
},
|
|
129
348
|
};
|
|
130
349
|
}
|