@snabcentr/client-core 3.0.1-dev → 3.1.0-dev

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.
@@ -2592,14 +2592,6 @@ class ScReferencesService {
2592
2592
  getDeliveryTypeById$(typeId) {
2593
2593
  return this.deliveryTypes$.pipe(map((types) => types.find((type) => type.id === typeId)));
2594
2594
  }
2595
- /**
2596
- * Возвращает {@link Observable} тип статуса заказа, соответствующий идентификатору на входе.
2597
- *
2598
- * @param statusId Идентификатор типа статуса.
2599
- */
2600
- getOrderStatusById$(statusId) {
2601
- return this.orderStatuses$.pipe(map((types) => types.find((type) => type.id === statusId)));
2602
- }
2603
2595
  /**
2604
2596
  * Возвращает {@link Observable} типа статуса рекламаций, соответствующий указанному идентификатору.
2605
2597
  *
@@ -5806,29 +5798,41 @@ var ScOpfList;
5806
5798
  var ScOrderStateStatus;
5807
5799
  (function (ScOrderStateStatus) {
5808
5800
  /**
5809
- * Принято в обработку.
5801
+ * Ожидает обработки сотрудником.
5802
+ */
5803
+ ScOrderStateStatus["new"] = "new";
5804
+ /**
5805
+ * Принят в работу сотрудником.
5806
+ */
5807
+ ScOrderStateStatus["processing"] = "processing";
5808
+ /**
5809
+ * Ожадается поставка товара на склад.
5810
+ */
5811
+ ScOrderStateStatus["awaitingSupplyProducts"] = "awaiting_supply_products";
5812
+ /**
5813
+ * Выставлен счет.
5810
5814
  */
5811
- ScOrderStateStatus[ScOrderStateStatus["new"] = 1] = "new";
5815
+ ScOrderStateStatus["invoiceIssued"] = "invoice_issued";
5812
5816
  /**
5813
- * В обработке.
5817
+ * Сборка заказа на складе.
5814
5818
  */
5815
- ScOrderStateStatus[ScOrderStateStatus["worked_out"] = 2] = "worked_out";
5819
+ ScOrderStateStatus["processingOnStock"] = "processing_on_stock";
5816
5820
  /**
5817
- * Обрабатывается.
5821
+ * Заказ завершен.
5818
5822
  */
5819
- ScOrderStateStatus[ScOrderStateStatus["pending"] = 3] = "pending";
5823
+ ScOrderStateStatus["finished"] = "finished";
5820
5824
  /**
5821
- * Отправлено клиенту.
5825
+ * Данные заказа обновлены.
5822
5826
  */
5823
- ScOrderStateStatus[ScOrderStateStatus["completed"] = 4] = "completed";
5827
+ ScOrderStateStatus["orderUpdated"] = "order_updated";
5824
5828
  /**
5825
- * Отменён.
5829
+ * Заказ отменен
5826
5830
  */
5827
- ScOrderStateStatus[ScOrderStateStatus["declined"] = 5] = "declined";
5831
+ ScOrderStateStatus["canceled"] = "canceled";
5828
5832
  /**
5829
- * Удалён.
5833
+ * Возникла ошибка движения заказа.
5830
5834
  */
5831
- ScOrderStateStatus[ScOrderStateStatus["deleted"] = 6] = "deleted";
5835
+ ScOrderStateStatus["error"] = "error";
5832
5836
  })(ScOrderStateStatus || (ScOrderStateStatus = {}));
5833
5837
 
5834
5838
  /**
@@ -6581,7 +6585,7 @@ class ScOrder extends ScOrderShort {
6581
6585
  * @inheritDoc
6582
6586
  */
6583
6587
  get isPayable() {
6584
- return ([ScOrderStateStatus.new, ScOrderStateStatus.worked_out, ScOrderStateStatus.pending].includes(this.status.id) &&
6588
+ return (this.status.slug === ScOrderStateStatus.invoiceIssued &&
6585
6589
  this.payment.type === ScPaymentType.online &&
6586
6590
  this.payment.status !== undefined &&
6587
6591
  [ScPaymentStatus.none, ScPaymentStatus.sent_payment_link, ScPaymentStatus.goto_payment_page, ScPaymentStatus.error_by_user].includes(this.payment.status) &&
@@ -6591,21 +6595,19 @@ class ScOrder extends ScOrderShort {
6591
6595
  * @inheritDoc
6592
6596
  */
6593
6597
  get isPayableSoon() {
6594
- return (![ScOrderStateStatus.declined, ScOrderStateStatus.deleted, ScOrderStateStatus.completed].includes(this.status.id) &&
6595
- !this.isPayable &&
6596
- this.payment.type === ScPaymentType.online);
6598
+ return Boolean(this.nextStatuses && this.nextStatuses.some((status) => status.slug === ScOrderStateStatus.invoiceIssued) && this.payment.type === ScPaymentType.online);
6597
6599
  }
6598
6600
  /**
6599
6601
  * @inheritDoc
6600
6602
  */
6601
6603
  get isCompleted() {
6602
- return [ScOrderStateStatus.completed, ScOrderStateStatus.declined, ScOrderStateStatus.deleted].includes(this.status.id);
6604
+ return [ScOrderStateStatus.finished, ScOrderStateStatus.canceled].includes(this.status.slug);
6603
6605
  }
6604
6606
  /**
6605
- * @inheritDoc
6607
+ * Признак, что заказ может быть отменен.
6606
6608
  */
6607
- get isNew() {
6608
- return this.status.id === ScOrderStateStatus.new;
6609
+ get isCanBeCanceled() {
6610
+ return this.nextStatuses?.some((status) => status.slug === ScOrderStateStatus.canceled) ?? false;
6609
6611
  }
6610
6612
  /**
6611
6613
  * @inheritDoc
@@ -6968,19 +6970,6 @@ class ScOrdersService {
6968
6970
  this.cartService.updateCart();
6969
6971
  }));
6970
6972
  }
6971
- /**
6972
- * Отменяет заказ.
6973
- *
6974
- * @param orderId Идентификатор заказа.
6975
- */
6976
- cancel$(orderId) {
6977
- return this.http.patch(`${this.urls.apiUrl}/orders/${orderId}/cancel`, {}).pipe(tap(() => {
6978
- this.userMetrikaService.emitUserMetrikaEvent({
6979
- target: ScUserMetrikaGoalsEnum.orderCancelled,
6980
- params: { order_id: orderId },
6981
- });
6982
- }));
6983
- }
6984
6973
  /**
6985
6974
  * Изменяет статус заказа и возвращает обновлённые данные заказа.
6986
6975
  *
@@ -6990,7 +6979,7 @@ class ScOrdersService {
6990
6979
  */
6991
6980
  changeOrderStatus$(orderId, status, statusDetail) {
6992
6981
  return this.http
6993
- .patch(`${this.urls.apiUrl}/internal/orders/${orderId}/status`, {
6982
+ .patch(`${this.urls.apiUrl}/orders/${orderId}/status`, {
6994
6983
  status,
6995
6984
  statusDetail,
6996
6985
  })
@@ -7004,7 +6993,7 @@ class ScOrdersService {
7004
6993
  * @param orderId Идентификатор заказа.
7005
6994
  */
7006
6995
  getOrderStatusHistory$(orderId) {
7007
- return this.http.get(`${this.urls.apiUrl}/internal/orders/${orderId}/history`);
6996
+ return this.http.get(`${this.urls.apiUrl}/orders/${orderId}/history`);
7008
6997
  }
7009
6998
  /**
7010
6999
  * Возвращает информацию о стоимости доставки.