@labdigital/commercetools-mock 2.61.1 → 2.61.3
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/dist/index.mjs +73 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
- package/src/repositories/business-unit.ts +119 -42
- package/src/repositories/customer/actions.ts +18 -0
package/dist/index.mjs
CHANGED
|
@@ -2138,14 +2138,15 @@ var BusinessUnitUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2138
2138
|
resource.stores.push(newStore);
|
|
2139
2139
|
}
|
|
2140
2140
|
}
|
|
2141
|
-
changeAddress(context, resource, { addressId, address }) {
|
|
2142
|
-
const
|
|
2143
|
-
|
|
2141
|
+
changeAddress(context, resource, { addressId, addressKey, address }) {
|
|
2142
|
+
const current = this._findAddress(resource, addressId, addressKey, true);
|
|
2143
|
+
assert(current?.id);
|
|
2144
|
+
const oldAddressIndex = resource.addresses.findIndex((a) => a.id === current.id);
|
|
2144
2145
|
const newAddress = createAddress({
|
|
2145
2146
|
...address,
|
|
2146
|
-
id:
|
|
2147
|
+
id: current.id
|
|
2147
2148
|
}, context.projectKey, this._storage);
|
|
2148
|
-
if (newAddress) resource.addresses[
|
|
2149
|
+
if (newAddress) resource.addresses[oldAddressIndex] = newAddress;
|
|
2149
2150
|
}
|
|
2150
2151
|
changeApprovalRuleMode(context, resource, { approvalRuleMode }) {
|
|
2151
2152
|
resource.approvalRuleMode = approvalRuleMode;
|
|
@@ -2187,27 +2188,44 @@ var BusinessUnitUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2187
2188
|
setStoreMode(context, resource, { storeMode }) {
|
|
2188
2189
|
resource.storeMode = storeMode;
|
|
2189
2190
|
}
|
|
2190
|
-
setDefaultShippingAddress(context, resource, { addressId }) {
|
|
2191
|
-
|
|
2191
|
+
setDefaultShippingAddress(context, resource, { addressId, addressKey }) {
|
|
2192
|
+
const address = this._findAddress(resource, addressId, addressKey, true);
|
|
2193
|
+
assert(address?.id);
|
|
2194
|
+
resource.defaultShippingAddressId = address.id;
|
|
2195
|
+
if (resource.shippingAddressIds === void 0) resource.shippingAddressIds = [];
|
|
2196
|
+
if (!resource.shippingAddressIds.includes(address.id)) resource.shippingAddressIds.push(address.id);
|
|
2192
2197
|
}
|
|
2193
|
-
addShippingAddressId(context, resource, { addressId }) {
|
|
2194
|
-
|
|
2195
|
-
|
|
2198
|
+
addShippingAddressId(context, resource, { addressId, addressKey }) {
|
|
2199
|
+
const address = this._findAddress(resource, addressId, addressKey, true);
|
|
2200
|
+
assert(address?.id);
|
|
2201
|
+
if (resource.shippingAddressIds === void 0) resource.shippingAddressIds = [];
|
|
2202
|
+
if (!resource.shippingAddressIds.includes(address.id)) resource.shippingAddressIds.push(address.id);
|
|
2203
|
+
return resource;
|
|
2196
2204
|
}
|
|
2197
|
-
removeShippingAddressId(context, resource, { addressId }) {
|
|
2198
|
-
|
|
2199
|
-
|
|
2205
|
+
removeShippingAddressId(context, resource, { addressId, addressKey }) {
|
|
2206
|
+
const address = this._findAddress(resource, addressId, addressKey, true);
|
|
2207
|
+
assert(address?.id);
|
|
2208
|
+
resource.shippingAddressIds = resource.shippingAddressIds?.filter((id) => id !== address.id);
|
|
2209
|
+
if (resource.defaultShippingAddressId === address.id) resource.defaultShippingAddressId = void 0;
|
|
2200
2210
|
}
|
|
2201
|
-
addBillingAddressId(context, resource, { addressId }) {
|
|
2202
|
-
|
|
2203
|
-
|
|
2211
|
+
addBillingAddressId(context, resource, { addressId, addressKey }) {
|
|
2212
|
+
const address = this._findAddress(resource, addressId, addressKey, true);
|
|
2213
|
+
assert(address?.id);
|
|
2214
|
+
if (resource.billingAddressIds === void 0) resource.billingAddressIds = [];
|
|
2215
|
+
if (!resource.billingAddressIds.includes(address.id)) resource.billingAddressIds.push(address.id);
|
|
2204
2216
|
}
|
|
2205
|
-
removeBillingAddressId(context, resource, { addressId }) {
|
|
2206
|
-
|
|
2207
|
-
|
|
2217
|
+
removeBillingAddressId(context, resource, { addressId, addressKey }) {
|
|
2218
|
+
const address = this._findAddress(resource, addressId, addressKey, true);
|
|
2219
|
+
assert(address?.id);
|
|
2220
|
+
resource.billingAddressIds = resource.billingAddressIds?.filter((id) => id !== address.id);
|
|
2221
|
+
if (resource.defaultBillingAddressId === address.id) resource.defaultBillingAddressId = void 0;
|
|
2208
2222
|
}
|
|
2209
|
-
setDefaultBillingAddress(context, resource, { addressId }) {
|
|
2210
|
-
|
|
2223
|
+
setDefaultBillingAddress(context, resource, { addressId, addressKey }) {
|
|
2224
|
+
const address = this._findAddress(resource, addressId, addressKey, true);
|
|
2225
|
+
assert(address?.id);
|
|
2226
|
+
resource.defaultBillingAddressId = address.id;
|
|
2227
|
+
if (resource.billingAddressIds === void 0) resource.billingAddressIds = [];
|
|
2228
|
+
if (!resource.billingAddressIds.includes(address.id)) resource.billingAddressIds.push(address.id);
|
|
2211
2229
|
}
|
|
2212
2230
|
setCustomField(context, resource, { name, value }) {
|
|
2213
2231
|
if (!resource.custom) throw new Error("Resource has no custom type");
|
|
@@ -2228,12 +2246,36 @@ var BusinessUnitUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2228
2246
|
fields
|
|
2229
2247
|
}, context.projectKey, this._storage);
|
|
2230
2248
|
}
|
|
2231
|
-
removeAddress(context, resource, { addressId }) {
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
if (resource.
|
|
2236
|
-
if (resource.
|
|
2249
|
+
removeAddress(context, resource, { addressId, addressKey }) {
|
|
2250
|
+
const address = this._findAddress(resource, addressId, addressKey, true);
|
|
2251
|
+
assert(address?.id);
|
|
2252
|
+
resource.addresses = resource.addresses.filter((a) => a.id !== address.id);
|
|
2253
|
+
if (resource.shippingAddressIds) resource.shippingAddressIds = resource.shippingAddressIds.filter((id) => id !== address.id);
|
|
2254
|
+
if (resource.billingAddressIds) resource.billingAddressIds = resource.billingAddressIds.filter((id) => id !== address.id);
|
|
2255
|
+
if (resource.defaultShippingAddressId === address.id) resource.defaultShippingAddressId = void 0;
|
|
2256
|
+
if (resource.defaultBillingAddressId === address.id) resource.defaultBillingAddressId = void 0;
|
|
2257
|
+
}
|
|
2258
|
+
_findAddress(resource, addressId, addressKey, required = false) {
|
|
2259
|
+
if (addressKey) {
|
|
2260
|
+
const address = resource.addresses.find((a) => a.key === addressKey);
|
|
2261
|
+
if (!address) throw new CommercetoolsError({
|
|
2262
|
+
code: "InvalidOperation",
|
|
2263
|
+
message: `Business Unit does not contain an address with the key ${addressKey}.`
|
|
2264
|
+
}, 400);
|
|
2265
|
+
return address;
|
|
2266
|
+
}
|
|
2267
|
+
if (addressId) {
|
|
2268
|
+
const address = resource.addresses.find((a) => a.id === addressId);
|
|
2269
|
+
if (!address) throw new CommercetoolsError({
|
|
2270
|
+
code: "InvalidOperation",
|
|
2271
|
+
message: `Business Unit does not contain an address with the id ${addressId}.`
|
|
2272
|
+
}, 400);
|
|
2273
|
+
return address;
|
|
2274
|
+
}
|
|
2275
|
+
if (required) throw new CommercetoolsError({
|
|
2276
|
+
code: "InvalidOperation",
|
|
2277
|
+
message: "One of address 'addressId' or 'addressKey' is required."
|
|
2278
|
+
}, 400);
|
|
2237
2279
|
}
|
|
2238
2280
|
};
|
|
2239
2281
|
|
|
@@ -2636,6 +2678,10 @@ var CustomerUpdateHandler = class extends AbstractUpdateHandler {
|
|
|
2636
2678
|
const address = this._findAddress(resource, action.addressId, action.addressKey, true);
|
|
2637
2679
|
assert(address?.id);
|
|
2638
2680
|
resource.addresses = resource.addresses.filter((a) => a.id !== address.id);
|
|
2681
|
+
if (resource.shippingAddressIds) resource.shippingAddressIds = resource.shippingAddressIds.filter((id) => id !== address.id);
|
|
2682
|
+
if (resource.billingAddressIds) resource.billingAddressIds = resource.billingAddressIds.filter((id) => id !== address.id);
|
|
2683
|
+
if (resource.defaultShippingAddressId === address.id) resource.defaultShippingAddressId = void 0;
|
|
2684
|
+
if (resource.defaultBillingAddressId === address.id) resource.defaultBillingAddressId = void 0;
|
|
2639
2685
|
}
|
|
2640
2686
|
removeBillingAddressId(context, resource, action) {
|
|
2641
2687
|
const address = this._findAddress(resource, action.addressId, action.addressKey, true);
|