@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.js CHANGED
@@ -257,7 +257,7 @@ var OAuth2Server = class {
257
257
  return async (request, response, next) => {
258
258
  const token = getBearerToken(request);
259
259
  if (!token) {
260
- next(
260
+ return next(
261
261
  new CommercetoolsError(
262
262
  {
263
263
  code: "invalid_token",
@@ -268,7 +268,7 @@ var OAuth2Server = class {
268
268
  );
269
269
  }
270
270
  if (!token || !this.store.validateToken(token)) {
271
- next(
271
+ return next(
272
272
  new CommercetoolsError(
273
273
  {
274
274
  code: "invalid_token",
@@ -278,7 +278,7 @@ var OAuth2Server = class {
278
278
  )
279
279
  );
280
280
  }
281
- next();
281
+ return next();
282
282
  };
283
283
  }
284
284
  async validateClientCredentials(request, response, next) {
@@ -1547,6 +1547,28 @@ var CartUpdateHandler = class extends AbstractUpdateHandler {
1547
1547
  resource.shippingInfo = void 0;
1548
1548
  }
1549
1549
  }
1550
+ setShippingAddressCustomField(context, resource, { name, value }) {
1551
+ if (!resource.shippingAddress) {
1552
+ throw new Error("Resource has no shipping address");
1553
+ }
1554
+ if (!resource.shippingAddress.custom) {
1555
+ throw new Error("Resource has no custom field");
1556
+ }
1557
+ resource.shippingAddress.custom.fields[name] = value;
1558
+ }
1559
+ removeShippingMethod(context, resource, { shippingKey }) {
1560
+ if (!resource.shippingInfo) {
1561
+ return;
1562
+ }
1563
+ const shippingMethod = this._storage.getByResourceIdentifier(
1564
+ context.projectKey,
1565
+ { key: shippingKey }
1566
+ );
1567
+ if (resource.shippingInfo?.shippingMethod?.id !== shippingMethod.id) {
1568
+ throw new Error("Shipping method with key not found");
1569
+ }
1570
+ resource.shippingInfo = void 0;
1571
+ }
1550
1572
  };
1551
1573
 
1552
1574
  // src/repositories/cart/index.ts
@@ -8163,7 +8185,7 @@ var AbstractService = class {
8163
8185
  }
8164
8186
  );
8165
8187
  if (!result) {
8166
- response.sendStatus(404);
8188
+ response.status(404).send({ statusCode: 404 });
8167
8189
  return;
8168
8190
  }
8169
8191
  response.status(200).send(result);
@@ -8174,7 +8196,7 @@ var AbstractService = class {
8174
8196
  request.params.key
8175
8197
  );
8176
8198
  if (!resource) {
8177
- response.sendStatus(404);
8199
+ response.status(404).send({ statusCode: 404 });
8178
8200
  return;
8179
8201
  }
8180
8202
  const result = this.repository.delete(
@@ -8185,7 +8207,7 @@ var AbstractService = class {
8185
8207
  }
8186
8208
  );
8187
8209
  if (!result) {
8188
- response.sendStatus(404);
8210
+ response.status(404).send({ statusCode: 404 });
8189
8211
  return;
8190
8212
  }
8191
8213
  response.status(200).send(result);
@@ -8209,7 +8231,7 @@ var AbstractService = class {
8209
8231
  request.params.id
8210
8232
  );
8211
8233
  if (!resource) {
8212
- response.sendStatus(404);
8234
+ response.status(404).send({ statusCode: 404 });
8213
8235
  return;
8214
8236
  }
8215
8237
  const updatedResource = this.repository.processUpdateActions(
@@ -8231,7 +8253,7 @@ var AbstractService = class {
8231
8253
  request.params.key
8232
8254
  );
8233
8255
  if (!resource) {
8234
- response.sendStatus(404);
8256
+ response.status(404).send({ statusCode: 404 });
8235
8257
  return;
8236
8258
  }
8237
8259
  const updatedResource = this.repository.processUpdateActions(
@@ -8503,7 +8525,7 @@ var CustomObjectService = class extends AbstractService {
8503
8525
  request.params.key
8504
8526
  );
8505
8527
  if (!result) {
8506
- response.sendStatus(404);
8528
+ response.status(404).send({ statusCode: 404 });
8507
8529
  return;
8508
8530
  }
8509
8531
  response.status(200).send(result);
@@ -8524,7 +8546,7 @@ var CustomObjectService = class extends AbstractService {
8524
8546
  request.params.key
8525
8547
  );
8526
8548
  if (!current) {
8527
- response.sendStatus(404);
8549
+ response.status(404).send({ statusCode: 404 });
8528
8550
  return;
8529
8551
  }
8530
8552
  const result = this.repository.delete(
@@ -8680,7 +8702,16 @@ var MyCartService = class extends AbstractService {
8680
8702
  activeCart(request, response) {
8681
8703
  const resource = this.repository.getActiveCart(request.params.projectKey);
8682
8704
  if (!resource) {
8683
- response.sendStatus(404);
8705
+ response.status(404).send({
8706
+ statusCode: 404,
8707
+ message: "No active cart exists.",
8708
+ errors: [
8709
+ {
8710
+ code: "ResourceNotFound",
8711
+ message: "No active cart exists."
8712
+ }
8713
+ ]
8714
+ });
8684
8715
  return;
8685
8716
  }
8686
8717
  response.status(200).send(resource);
@@ -8715,7 +8746,7 @@ var MyCustomerService = class extends AbstractService {
8715
8746
  getMe(request, response) {
8716
8747
  const resource = this.repository.getMe(getRepositoryContext(request));
8717
8748
  if (!resource) {
8718
- response.sendStatus(404);
8749
+ response.status(404).send({ statusCode: 404 });
8719
8750
  return;
8720
8751
  }
8721
8752
  response.status(200).send(resource);
@@ -8723,7 +8754,7 @@ var MyCustomerService = class extends AbstractService {
8723
8754
  updateMe(request, response) {
8724
8755
  const resource = this.repository.getMe(getRepositoryContext(request));
8725
8756
  if (!resource) {
8726
- response.sendStatus(404);
8757
+ response.status(404).send({ statusCode: 404 });
8727
8758
  return;
8728
8759
  }
8729
8760
  const updateRequest = validateData(
@@ -8742,7 +8773,7 @@ var MyCustomerService = class extends AbstractService {
8742
8773
  deleteMe(request, response) {
8743
8774
  const resource = this.repository.deleteMe(getRepositoryContext(request));
8744
8775
  if (!resource) {
8745
- response.sendStatus(404);
8776
+ response.status(404).send({ statusCode: 404 });
8746
8777
  return;
8747
8778
  }
8748
8779
  response.status(200).send(resource);
@@ -8873,9 +8904,10 @@ var OrderService = class extends AbstractService {
8873
8904
  response.status(200).send(resource);
8874
8905
  }
8875
8906
  getWithOrderNumber(request, response) {
8907
+ const orderNumber = request.params.orderNumber;
8876
8908
  const resource = this.repository.getWithOrderNumber(
8877
8909
  getRepositoryContext(request),
8878
- request.params.orderNumber,
8910
+ orderNumber,
8879
8911
  // @ts-ignore
8880
8912
  request.query
8881
8913
  );
@@ -8883,7 +8915,16 @@ var OrderService = class extends AbstractService {
8883
8915
  response.status(200).send(resource);
8884
8916
  return;
8885
8917
  }
8886
- response.sendStatus(404);
8918
+ response.status(404).send({
8919
+ statusCode: 404,
8920
+ message: `The Resource with key '${orderNumber}' was not found.`,
8921
+ errors: [
8922
+ {
8923
+ code: "ResourceNotFound",
8924
+ message: `The Resource with key '${orderNumber}' was not found.`
8925
+ }
8926
+ ]
8927
+ });
8887
8928
  }
8888
8929
  };
8889
8930
 
@@ -9277,7 +9318,7 @@ var ProjectService = class {
9277
9318
  );
9278
9319
  const project = this.repository.get(getRepositoryContext(request));
9279
9320
  if (!project) {
9280
- response.sendStatus(404);
9321
+ response.status(404).send({ statusCode: 404 });
9281
9322
  return;
9282
9323
  }
9283
9324
  const updatedResource = this.repository.processUpdateActions(
@@ -9707,8 +9748,8 @@ var CommercetoolsMock = class {
9707
9748
  this._repositories = createRepositories(config);
9708
9749
  this._oauth2.setCustomerRepository(this._repositories.customer);
9709
9750
  const app = express2();
9751
+ app.use(express2.json());
9710
9752
  const projectRouter = express2.Router({ mergeParams: true });
9711
- projectRouter.use(express2.json());
9712
9753
  if (!options?.silent) {
9713
9754
  app.use(morgan("tiny"));
9714
9755
  }