@labdigital/commercetools-mock 2.48.0 → 2.49.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/dist/index.cjs CHANGED
@@ -294,7 +294,7 @@ var OAuth2Server = class {
294
294
  return async (request, response, next) => {
295
295
  const token = getBearerToken(request);
296
296
  if (!token) {
297
- next(
297
+ return next(
298
298
  new CommercetoolsError(
299
299
  {
300
300
  code: "invalid_token",
@@ -305,7 +305,7 @@ var OAuth2Server = class {
305
305
  );
306
306
  }
307
307
  if (!token || !this.store.validateToken(token)) {
308
- next(
308
+ return next(
309
309
  new CommercetoolsError(
310
310
  {
311
311
  code: "invalid_token",
@@ -315,7 +315,7 @@ var OAuth2Server = class {
315
315
  )
316
316
  );
317
317
  }
318
- next();
318
+ return next();
319
319
  };
320
320
  }
321
321
  async validateClientCredentials(request, response, next) {
@@ -1584,6 +1584,28 @@ var CartUpdateHandler = class extends AbstractUpdateHandler {
1584
1584
  resource.shippingInfo = void 0;
1585
1585
  }
1586
1586
  }
1587
+ setShippingAddressCustomField(context, resource, { name, value }) {
1588
+ if (!resource.shippingAddress) {
1589
+ throw new Error("Resource has no shipping address");
1590
+ }
1591
+ if (!resource.shippingAddress.custom) {
1592
+ throw new Error("Resource has no custom field");
1593
+ }
1594
+ resource.shippingAddress.custom.fields[name] = value;
1595
+ }
1596
+ removeShippingMethod(context, resource, { shippingKey }) {
1597
+ if (!resource.shippingInfo) {
1598
+ return;
1599
+ }
1600
+ const shippingMethod = this._storage.getByResourceIdentifier(
1601
+ context.projectKey,
1602
+ { key: shippingKey }
1603
+ );
1604
+ if (resource.shippingInfo?.shippingMethod?.id !== shippingMethod.id) {
1605
+ throw new Error("Shipping method with key not found");
1606
+ }
1607
+ resource.shippingInfo = void 0;
1608
+ }
1587
1609
  };
1588
1610
 
1589
1611
  // src/repositories/cart/index.ts
@@ -8200,7 +8222,7 @@ var AbstractService = class {
8200
8222
  }
8201
8223
  );
8202
8224
  if (!result) {
8203
- response.sendStatus(404);
8225
+ response.status(404).send({ statusCode: 404 });
8204
8226
  return;
8205
8227
  }
8206
8228
  response.status(200).send(result);
@@ -8211,7 +8233,7 @@ var AbstractService = class {
8211
8233
  request.params.key
8212
8234
  );
8213
8235
  if (!resource) {
8214
- response.sendStatus(404);
8236
+ response.status(404).send({ statusCode: 404 });
8215
8237
  return;
8216
8238
  }
8217
8239
  const result = this.repository.delete(
@@ -8222,7 +8244,7 @@ var AbstractService = class {
8222
8244
  }
8223
8245
  );
8224
8246
  if (!result) {
8225
- response.sendStatus(404);
8247
+ response.status(404).send({ statusCode: 404 });
8226
8248
  return;
8227
8249
  }
8228
8250
  response.status(200).send(result);
@@ -8246,7 +8268,7 @@ var AbstractService = class {
8246
8268
  request.params.id
8247
8269
  );
8248
8270
  if (!resource) {
8249
- response.sendStatus(404);
8271
+ response.status(404).send({ statusCode: 404 });
8250
8272
  return;
8251
8273
  }
8252
8274
  const updatedResource = this.repository.processUpdateActions(
@@ -8268,7 +8290,7 @@ var AbstractService = class {
8268
8290
  request.params.key
8269
8291
  );
8270
8292
  if (!resource) {
8271
- response.sendStatus(404);
8293
+ response.status(404).send({ statusCode: 404 });
8272
8294
  return;
8273
8295
  }
8274
8296
  const updatedResource = this.repository.processUpdateActions(
@@ -8540,7 +8562,7 @@ var CustomObjectService = class extends AbstractService {
8540
8562
  request.params.key
8541
8563
  );
8542
8564
  if (!result) {
8543
- response.sendStatus(404);
8565
+ response.status(404).send({ statusCode: 404 });
8544
8566
  return;
8545
8567
  }
8546
8568
  response.status(200).send(result);
@@ -8561,7 +8583,7 @@ var CustomObjectService = class extends AbstractService {
8561
8583
  request.params.key
8562
8584
  );
8563
8585
  if (!current) {
8564
- response.sendStatus(404);
8586
+ response.status(404).send({ statusCode: 404 });
8565
8587
  return;
8566
8588
  }
8567
8589
  const result = this.repository.delete(
@@ -8717,7 +8739,16 @@ var MyCartService = class extends AbstractService {
8717
8739
  activeCart(request, response) {
8718
8740
  const resource = this.repository.getActiveCart(request.params.projectKey);
8719
8741
  if (!resource) {
8720
- response.sendStatus(404);
8742
+ response.status(404).send({
8743
+ statusCode: 404,
8744
+ message: "No active cart exists.",
8745
+ errors: [
8746
+ {
8747
+ code: "ResourceNotFound",
8748
+ message: "No active cart exists."
8749
+ }
8750
+ ]
8751
+ });
8721
8752
  return;
8722
8753
  }
8723
8754
  response.status(200).send(resource);
@@ -8752,7 +8783,7 @@ var MyCustomerService = class extends AbstractService {
8752
8783
  getMe(request, response) {
8753
8784
  const resource = this.repository.getMe(getRepositoryContext(request));
8754
8785
  if (!resource) {
8755
- response.sendStatus(404);
8786
+ response.status(404).send({ statusCode: 404 });
8756
8787
  return;
8757
8788
  }
8758
8789
  response.status(200).send(resource);
@@ -8760,7 +8791,7 @@ var MyCustomerService = class extends AbstractService {
8760
8791
  updateMe(request, response) {
8761
8792
  const resource = this.repository.getMe(getRepositoryContext(request));
8762
8793
  if (!resource) {
8763
- response.sendStatus(404);
8794
+ response.status(404).send({ statusCode: 404 });
8764
8795
  return;
8765
8796
  }
8766
8797
  const updateRequest = validateData(
@@ -8779,7 +8810,7 @@ var MyCustomerService = class extends AbstractService {
8779
8810
  deleteMe(request, response) {
8780
8811
  const resource = this.repository.deleteMe(getRepositoryContext(request));
8781
8812
  if (!resource) {
8782
- response.sendStatus(404);
8813
+ response.status(404).send({ statusCode: 404 });
8783
8814
  return;
8784
8815
  }
8785
8816
  response.status(200).send(resource);
@@ -8910,9 +8941,10 @@ var OrderService = class extends AbstractService {
8910
8941
  response.status(200).send(resource);
8911
8942
  }
8912
8943
  getWithOrderNumber(request, response) {
8944
+ const orderNumber = request.params.orderNumber;
8913
8945
  const resource = this.repository.getWithOrderNumber(
8914
8946
  getRepositoryContext(request),
8915
- request.params.orderNumber,
8947
+ orderNumber,
8916
8948
  // @ts-ignore
8917
8949
  request.query
8918
8950
  );
@@ -8920,7 +8952,16 @@ var OrderService = class extends AbstractService {
8920
8952
  response.status(200).send(resource);
8921
8953
  return;
8922
8954
  }
8923
- response.sendStatus(404);
8955
+ response.status(404).send({
8956
+ statusCode: 404,
8957
+ message: `The Resource with key '${orderNumber}' was not found.`,
8958
+ errors: [
8959
+ {
8960
+ code: "ResourceNotFound",
8961
+ message: `The Resource with key '${orderNumber}' was not found.`
8962
+ }
8963
+ ]
8964
+ });
8924
8965
  }
8925
8966
  };
8926
8967
 
@@ -9314,7 +9355,7 @@ var ProjectService = class {
9314
9355
  );
9315
9356
  const project = this.repository.get(getRepositoryContext(request));
9316
9357
  if (!project) {
9317
- response.sendStatus(404);
9358
+ response.status(404).send({ statusCode: 404 });
9318
9359
  return;
9319
9360
  }
9320
9361
  const updatedResource = this.repository.processUpdateActions(
@@ -9744,8 +9785,8 @@ var CommercetoolsMock = class {
9744
9785
  this._repositories = createRepositories(config);
9745
9786
  this._oauth2.setCustomerRepository(this._repositories.customer);
9746
9787
  const app = (0, import_express11.default)();
9788
+ app.use(import_express11.default.json());
9747
9789
  const projectRouter = import_express11.default.Router({ mergeParams: true });
9748
- projectRouter.use(import_express11.default.json());
9749
9790
  if (!options?.silent) {
9750
9791
  app.use((0, import_morgan.default)("tiny"));
9751
9792
  }