@snabcentr/client-core 2.66.14 → 3.0.1-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.
@@ -3,7 +3,8 @@ export * from './sc-order-base';
3
3
  export * from './sc-order-draft';
4
4
  export * from './sc-order-draft-short';
5
5
  export * from './sc-order-delivery';
6
- export * from './sc-order-history';
6
+ export * from './sc-order-history-user';
7
+ export * from './sc-i-order-history';
7
8
  export * from './sc-order-item';
8
9
  export * from './sc-order-payment';
9
10
  export * from './sc-order-short';
@@ -0,0 +1,23 @@
1
+ import { ScIReferencesTypes, ScOrderStateStatus } from '../../references';
2
+ import { ScIOrderHistoryUser } from './sc-order-history-user';
3
+ /**
4
+ * Запись истории изменения статуса заказа.
5
+ */
6
+ export interface ScIOrderHistory {
7
+ /**
8
+ * Краткие данные о пользователе.
9
+ */
10
+ user: ScIOrderHistoryUser;
11
+ /**
12
+ * Данные о статусе заказа из справочника.
13
+ */
14
+ status: ScIReferencesTypes<ScOrderStateStatus, typeof ScOrderStateStatus>;
15
+ /**
16
+ * Данные детализирующего статуса заказа.
17
+ */
18
+ statusDetail?: ScIReferencesTypes<ScOrderStateStatus, typeof ScOrderStateStatus>;
19
+ /**
20
+ * Дата и время изменения статуса в формате `Y-m-d H:i:s`.
21
+ */
22
+ createdAt: string;
23
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Краткие данные о пользователе в записи истории статуса заказа.
3
+ */
4
+ export interface ScIOrderHistoryUser {
5
+ /**
6
+ * Тип пользователя.
7
+ */
8
+ type: string;
9
+ /**
10
+ * ФИО пользователя.
11
+ */
12
+ name: string;
13
+ /**
14
+ * Номер телефона в международном формате, например +7XXXXXXXXXX или +375XXXXXXXXX.
15
+ */
16
+ phone: string;
17
+ /**
18
+ * Адрес электронной почты.
19
+ */
20
+ email: string;
21
+ }
@@ -1,4 +1,4 @@
1
- import { ScOrderStateStatus } from '../../references';
1
+ import { ScIReferencesTypes, ScISalesDirection, ScOrderStateStatus } from '../../references';
2
2
  import { ScIOrderShort } from '../internal';
3
3
  import { ScOrderBase } from './sc-order-base';
4
4
  import { ScIOrderDelivery } from './sc-order-delivery';
@@ -10,11 +10,15 @@ export declare class ScOrderShort extends ScOrderBase implements ScIOrderShort {
10
10
  /**
11
11
  * @inheritDoc
12
12
  */
13
- status: ScOrderStateStatus;
13
+ status: ScIReferencesTypes<ScOrderStateStatus, typeof ScOrderStateStatus>;
14
14
  /**
15
15
  * @inheritDoc
16
16
  */
17
- direction: number;
17
+ statusDetail: ScIReferencesTypes<ScOrderStateStatus, typeof ScOrderStateStatus>;
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ salesDirection: ScISalesDirection;
18
22
  /**
19
23
  * @inheritDoc
20
24
  */
@@ -1,7 +1,9 @@
1
1
  import { ScContragent } from '../../contragent/dto/sc-contragent';
2
+ import { ScIReferencesTypes } from '../../references';
3
+ import { ScOrderStateStatus } from '../../references/enums/sc-order-state-status';
2
4
  import { ScDeliveryType, ScPaymentType } from '../enums';
3
5
  import { ScIOrder } from '../internal';
4
- import { ScIOrderHistory } from './sc-order-history';
6
+ import { ScIOrderHistory } from './sc-i-order-history';
5
7
  import { ScOrderItem } from './sc-order-item';
6
8
  import { ScOrderShort } from './sc-order-short';
7
9
  /**
@@ -12,6 +14,14 @@ export declare class ScOrder extends ScOrderShort implements ScIOrder {
12
14
  * @inheritDoc
13
15
  */
14
16
  products: ScOrderItem[];
17
+ /**
18
+ * @inheritDoc
19
+ */
20
+ nextStatuses?: Array<ScIReferencesTypes<ScOrderStateStatus, typeof ScOrderStateStatus>>;
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ tags?: string[];
15
25
  /**
16
26
  * @inheritDoc
17
27
  */
@@ -45,7 +55,7 @@ export declare class ScOrder extends ScOrderShort implements ScIOrder {
45
55
  */
46
56
  name: string;
47
57
  /**
48
- * Номер телефона. В формате "79203436527" или "+79203436527".
58
+ * Номер телефона в международном формате, например `+7XXXXXXXXXX`.
49
59
  */
50
60
  phone: string;
51
61
  /**
@@ -7,7 +7,7 @@ export interface ScIOrderBase {
7
7
  */
8
8
  id: number;
9
9
  /**
10
- * Дата и время создания заказа.
10
+ * Дата и время создания заказа в формате `Y-m-d H:i:s`.
11
11
  */
12
12
  createdAt: string;
13
13
  /**
@@ -1,4 +1,4 @@
1
- import { ScOrderStateStatus } from '../../references';
1
+ import { ScIReferencesTypes, ScISalesDirection, ScOrderStateStatus } from '../../references';
2
2
  import { ScIOrderDelivery } from '../classes/sc-order-delivery';
3
3
  import { ScIOrderPayment } from '../classes/sc-order-payment';
4
4
  import { ScOrderShort } from '../classes/sc-order-short';
@@ -10,11 +10,15 @@ export interface ScIOrderShort extends ScIOrderBase {
10
10
  /**
11
11
  * Идентификатор статуса.
12
12
  */
13
- status: ScOrderStateStatus;
13
+ status: ScIReferencesTypes<ScOrderStateStatus, typeof ScOrderStateStatus>;
14
14
  /**
15
- * Направление продаж.
15
+ * Детализирующий статус заказа.
16
16
  */
17
- direction: number;
17
+ statusDetail: ScIReferencesTypes<ScOrderStateStatus, typeof ScOrderStateStatus>;
18
+ /**
19
+ * Данные о направлении продаж.
20
+ */
21
+ salesDirection: ScISalesDirection;
18
22
  /**
19
23
  * Данные об оплате заказа.
20
24
  */
@@ -1,6 +1,7 @@
1
1
  import { ScContragent } from '../../contragent/dto/sc-contragent';
2
- import { ScIOrderDelivery } from '../classes/sc-order-delivery';
3
- import { ScIOrderHistory } from '../classes/sc-order-history';
2
+ import { ScIReferencesTypes } from '../../references/dto/sc-i-references-types';
3
+ import { ScOrderStateStatus } from '../../references/enums/sc-order-state-status';
4
+ import { ScIOrderHistory } from '../classes/sc-i-order-history';
4
5
  import { ScOrderShort } from '../classes/sc-order-short';
5
6
  import { ScDeliveryType, ScPaymentType } from '../enums';
6
7
  import { ScIOrderItem } from './sc-i-order-item';
@@ -12,35 +13,35 @@ export interface ScIOrder extends ScIOrderShort {
12
13
  /**
13
14
  * Список продуктов заказа.
14
15
  */
15
- products: ScIOrderItem[];
16
+ readonly products: ScIOrderItem[];
17
+ /**
18
+ * Список статусов, в которые текущий пользователь может перевести заказ.
19
+ */
20
+ readonly nextStatuses?: Array<ScIReferencesTypes<ScOrderStateStatus, typeof ScOrderStateStatus>>;
16
21
  /**
17
22
  * Список записей истории изменения статусов заказа.
18
23
  */
19
- history?: ScIOrderHistory[];
24
+ readonly history?: ScIOrderHistory[];
20
25
  /**
21
26
  * Список счетов заказа.
22
27
  */
23
- invoices?: string[];
28
+ readonly invoices?: string[];
24
29
  /**
25
30
  * Комментарий клиента к заказу.
26
31
  */
27
- comment?: string;
32
+ readonly comment?: string;
28
33
  /**
29
34
  * Изображение, прикрепленное к заказу клиентом во время создания.
30
35
  */
31
- image?: string;
32
- /**
33
- * Данные о доставке заказа.
34
- */
35
- delivery: ScIOrderDelivery;
36
+ readonly image?: string;
36
37
  /**
37
38
  * Данные о контрагенте клиента.
38
39
  */
39
- contragent?: ScContragent;
40
+ readonly contragent?: ScContragent;
40
41
  /**
41
42
  * Закрепленный за заказом пользователь.
42
43
  */
43
- attachedUser?: {
44
+ readonly attachedUser?: {
44
45
  /**
45
46
  * Тип пользователя.
46
47
  */
@@ -50,7 +51,7 @@ export interface ScIOrder extends ScIOrderShort {
50
51
  */
51
52
  name: string;
52
53
  /**
53
- * Номер телефона. В формате "79203436527" или "+79203436527".
54
+ * Номер телефона в международном формате, например `+7XXXXXXXXXX`.
54
55
  */
55
56
  phone: string;
56
57
  /**
@@ -58,10 +59,14 @@ export interface ScIOrder extends ScIOrderShort {
58
59
  */
59
60
  email: string;
60
61
  };
62
+ /**
63
+ * Список тегов заказа.
64
+ */
65
+ readonly tags?: string[];
61
66
  /**
62
67
  * Дата последнего обновления статуса и информации об оплате.
63
68
  */
64
- lastUpdateDate: Date;
69
+ readonly lastUpdateDate: Date;
65
70
  /**
66
71
  * Тип оплаты.
67
72
  */
@@ -2,6 +2,7 @@ import { HttpParams } from '@angular/common/http';
2
2
  import { Observable } from 'rxjs';
3
3
  import { ScIPaginate } from '../../pagination';
4
4
  import { ScDeliveryCost } from '../classes/sc-delivery-cost';
5
+ import { ScIOrderHistory } from '../classes/sc-i-order-history';
5
6
  import { ScOrder } from '../classes/sc-order';
6
7
  import { ScOrderItem } from '../classes/sc-order-item';
7
8
  import { ScOrderShort } from '../classes/sc-order-short';
@@ -104,6 +105,20 @@ export declare class ScOrdersService implements ScIOrderLoader<ScOrderItem, ScOr
104
105
  * @param orderId Идентификатор заказа.
105
106
  */
106
107
  cancel$(orderId: number): Observable<undefined>;
108
+ /**
109
+ * Изменяет статус заказа и возвращает обновлённые данные заказа.
110
+ *
111
+ * @param orderId Идентификатор заказа.
112
+ * @param status Slug нового статуса заказа.
113
+ * @param statusDetail Slug детализирующего статуса заказа.
114
+ */
115
+ changeOrderStatus$(orderId: number, status: string, statusDetail?: string | null): Observable<ScOrder>;
116
+ /**
117
+ * Возвращает историю изменения статусов заказа.
118
+ *
119
+ * @param orderId Идентификатор заказа.
120
+ */
121
+ getOrderStatusHistory$(orderId: number): Observable<ScIOrderHistory[]>;
107
122
  /**
108
123
  * Возвращает информацию о стоимости доставки.
109
124
  *
@@ -112,6 +127,13 @@ export declare class ScOrdersService implements ScIOrderLoader<ScOrderItem, ScOr
112
127
  * @param date Дата доставки.
113
128
  */
114
129
  getDeliveryCost$(addressId: number, warehouseId: number, date: string): Observable<ScDeliveryCost>;
130
+ /**
131
+ * Подставляет в кэш полного заказа актуальные данные после мутации на сервере.
132
+ *
133
+ * @param orderId Идентификатор заказа.
134
+ * @param order Данные заказа.
135
+ */
136
+ private syncOrderCache;
115
137
  static ɵfac: i0.ɵɵFactoryDeclaration<ScOrdersService, never>;
116
138
  static ɵprov: i0.ɵɵInjectableDeclaration<ScOrdersService>;
117
139
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-core",
3
- "version": "2.66.14",
3
+ "version": "3.0.1-dev",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-core-lib",
6
6
  "license": "Commercial",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1oaXN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCU0LDQvdC90YvQtSDQvtCxINC40YHRgtC+0YDQuNC4INC40LfQvNC10L3QtdC90LjRjyDRgdGC0LDRgtGD0YHQvtCyINC30LDQutCw0LfQsC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lPcmRlckhpc3Rvcnkge1xuICAgIC8qKlxuICAgICAqINCY0LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LjQt9C80LXQvdC40LLRiNC10LPQviDRgdGC0LDRgtGD0YEuXG4gICAgICovXG4gICAgdXNlck5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCU0LDRgtCwINC4INCy0YDQtdC80Y8g0LjQt9C80LXQvdC10L3QuNGPINGB0YLQsNGC0YPRgdCwINCyINGE0L7RgNC80LDRgtC1IFwi0JTQlC7QnNCcLtCT0JPQk9CTINCn0Kc60JzQnFwiLlxuICAgICAqL1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YHRgtCw0YLRg9GB0LAuXG4gICAgICovXG4gICAgc3RhdHVzOiBudW1iZXI7XG59XG4iXX0=
@@ -1,17 +0,0 @@
1
- /**
2
- * Данные об истории изменения статусов заказа.
3
- */
4
- export interface ScIOrderHistory {
5
- /**
6
- * Имя пользователя изменившего статус.
7
- */
8
- userName: string;
9
- /**
10
- * Дата и время изменения статуса в формате "ДД.ММ.ГГГГ ЧЧ:ММ".
11
- */
12
- createdAt: string;
13
- /**
14
- * Идентификатор статуса.
15
- */
16
- status: number;
17
- }