@mamindom/contracts 1.0.143 → 1.0.145

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.
Files changed (97) hide show
  1. package/dist/gen/attribute.d.ts +40 -0
  2. package/dist/gen/attribute.js +1 -0
  3. package/dist/gen/brand.d.ts +19 -0
  4. package/dist/gen/brand.js +8 -1
  5. package/dist/gen/bundle.d.ts +0 -2
  6. package/dist/gen/cart.d.ts +0 -28
  7. package/dist/gen/category.d.ts +26 -0
  8. package/dist/gen/category.js +1 -0
  9. package/dist/gen/delivery.d.ts +0 -1
  10. package/dist/gen/delivery_settings.d.ts +0 -4
  11. package/dist/gen/faq.d.ts +0 -6
  12. package/dist/gen/manager.d.ts +0 -12
  13. package/dist/gen/notification.d.ts +0 -71
  14. package/dist/gen/order.d.ts +0 -29
  15. package/dist/gen/page.d.ts +0 -5
  16. package/dist/gen/payment.d.ts +0 -22
  17. package/dist/gen/pickup.d.ts +0 -9
  18. package/dist/gen/product.d.ts +107 -11
  19. package/dist/gen/product.js +4 -0
  20. package/dist/gen/promotion.d.ts +0 -16
  21. package/dist/gen/rbac.d.ts +0 -16
  22. package/dist/gen/search.d.ts +0 -14
  23. package/dist/gen/seo_filter.d.ts +16 -48
  24. package/dist/gen/seo_filter.js +1 -0
  25. package/dist/gen/shop_filters.d.ts +0 -5
  26. package/dist/gen/users.d.ts +0 -9
  27. package/dist/gen/warehouse.d.ts +34 -0
  28. package/dist/gen/warehouse.js +28 -0
  29. package/dist/proto/attribute.proto +35 -0
  30. package/dist/proto/brand.proto +25 -0
  31. package/dist/proto/bundle.proto +2 -2
  32. package/dist/proto/cart.proto +5 -14
  33. package/dist/proto/category.proto +26 -0
  34. package/dist/proto/delivery.proto +1 -6
  35. package/dist/proto/delivery_settings.proto +4 -4
  36. package/dist/proto/faq.proto +3 -10
  37. package/dist/proto/manager.proto +3 -5
  38. package/dist/proto/notification.proto +33 -56
  39. package/dist/proto/order.proto +9 -21
  40. package/dist/proto/page.proto +1 -3
  41. package/dist/proto/payment.proto +8 -14
  42. package/dist/proto/pickup.proto +7 -9
  43. package/dist/proto/product.proto +129 -18
  44. package/dist/proto/promotion.proto +9 -22
  45. package/dist/proto/rbac.proto +7 -9
  46. package/dist/proto/search.proto +10 -14
  47. package/dist/proto/seo_filter.proto +37 -32
  48. package/dist/proto/shop_filters.proto +1 -3
  49. package/dist/proto/users.proto +5 -8
  50. package/dist/proto/warehouse.proto +38 -0
  51. package/dist/src/proto/paths.d.ts +1 -0
  52. package/dist/src/proto/paths.js +1 -0
  53. package/gen/attribute.ts +48 -0
  54. package/gen/brand.ts +35 -1
  55. package/gen/bundle.ts +1 -5
  56. package/gen/cart.ts +1 -35
  57. package/gen/category.ts +34 -0
  58. package/gen/delivery.ts +0 -1
  59. package/gen/delivery_settings.ts +0 -4
  60. package/gen/faq.ts +0 -12
  61. package/gen/manager.ts +1 -17
  62. package/gen/notification.ts +5 -98
  63. package/gen/order.ts +0 -33
  64. package/gen/page.ts +0 -5
  65. package/gen/payment.ts +0 -34
  66. package/gen/pickup.ts +2 -19
  67. package/gen/product.ts +147 -28
  68. package/gen/promotion.ts +3 -33
  69. package/gen/rbac.ts +1 -25
  70. package/gen/search.ts +0 -22
  71. package/gen/seo_filter.ts +27 -63
  72. package/gen/shop_filters.ts +0 -5
  73. package/gen/users.ts +1 -20
  74. package/gen/warehouse.ts +67 -0
  75. package/package.json +1 -1
  76. package/proto/attribute.proto +35 -0
  77. package/proto/brand.proto +25 -0
  78. package/proto/bundle.proto +2 -2
  79. package/proto/cart.proto +5 -14
  80. package/proto/category.proto +26 -0
  81. package/proto/delivery.proto +1 -6
  82. package/proto/delivery_settings.proto +4 -4
  83. package/proto/faq.proto +3 -10
  84. package/proto/manager.proto +3 -5
  85. package/proto/notification.proto +33 -56
  86. package/proto/order.proto +9 -21
  87. package/proto/page.proto +1 -3
  88. package/proto/payment.proto +8 -14
  89. package/proto/pickup.proto +7 -9
  90. package/proto/product.proto +129 -18
  91. package/proto/promotion.proto +9 -22
  92. package/proto/rbac.proto +7 -9
  93. package/proto/search.proto +10 -14
  94. package/proto/seo_filter.proto +37 -32
  95. package/proto/shop_filters.proto +1 -3
  96. package/proto/users.proto +5 -8
  97. package/proto/warehouse.proto +38 -0
@@ -1,6 +1,44 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { DeleteResponse, PaginationMeta, PaginationRequest, SuccessResponse } from "./common";
3
3
  export declare const protobufPackage = "catalog.v1";
4
+ export interface AttributeSyncValueItem {
5
+ valueGuid: string;
6
+ value: {
7
+ [key: string]: string;
8
+ };
9
+ }
10
+ export interface AttributeSyncValueItem_ValueEntry {
11
+ key: string;
12
+ value: string;
13
+ }
14
+ export interface AttributeSyncItem {
15
+ propertyGuid: string;
16
+ name: {
17
+ [key: string]: string;
18
+ };
19
+ isColor: boolean;
20
+ values: AttributeSyncValueItem[];
21
+ }
22
+ export interface AttributeSyncItem_NameEntry {
23
+ key: string;
24
+ value: string;
25
+ }
26
+ export interface UpsertAttributesRequest {
27
+ items: AttributeSyncItem[];
28
+ syncId: string;
29
+ }
30
+ export interface AttributeUpsertResult {
31
+ guid: string;
32
+ status: string;
33
+ reason?: string | undefined;
34
+ id?: string | undefined;
35
+ valuesCreated: number;
36
+ valuesUpdated: number;
37
+ valuesFailed: number;
38
+ }
39
+ export interface UpsertAttributesResponse {
40
+ results: AttributeUpsertResult[];
41
+ }
4
42
  export interface GetAllAttributesWithValuesRequest {
5
43
  }
6
44
  export interface GetAllAttributesWithValuesResponse {
@@ -197,6 +235,7 @@ export interface AttributeServiceClient {
197
235
  bindAttributeToCategory(request: BindAttributeRequest): Observable<SuccessResponse>;
198
236
  unbindAttributeFromCategory(request: BindAttributeRequest): Observable<SuccessResponse>;
199
237
  getAllAttributesWithValues(request: GetAllAttributesWithValuesRequest): Observable<GetAllAttributesWithValuesResponse>;
238
+ upsertAttributes(request: UpsertAttributesRequest): Observable<UpsertAttributesResponse>;
200
239
  }
201
240
  export interface AttributeServiceController {
202
241
  getAttributeGroups(request: GetAttributeGroupsRequest): Promise<GetAttributeGroupsResponse> | Observable<GetAttributeGroupsResponse> | GetAttributeGroupsResponse;
@@ -216,6 +255,7 @@ export interface AttributeServiceController {
216
255
  bindAttributeToCategory(request: BindAttributeRequest): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
217
256
  unbindAttributeFromCategory(request: BindAttributeRequest): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
218
257
  getAllAttributesWithValues(request: GetAllAttributesWithValuesRequest): Promise<GetAllAttributesWithValuesResponse> | Observable<GetAllAttributesWithValuesResponse> | GetAllAttributesWithValuesResponse;
258
+ upsertAttributes(request: UpsertAttributesRequest): Promise<UpsertAttributesResponse> | Observable<UpsertAttributesResponse> | UpsertAttributesResponse;
219
259
  }
220
260
  export declare function AttributeServiceControllerMethods(): (constructor: Function) => void;
221
261
  export declare const ATTRIBUTE_SERVICE_NAME = "AttributeService";
@@ -31,6 +31,7 @@ function AttributeServiceControllerMethods() {
31
31
  "bindAttributeToCategory",
32
32
  "unbindAttributeFromCategory",
33
33
  "getAllAttributesWithValues",
34
+ "upsertAttributes",
34
35
  ];
35
36
  for (const method of grpcMethods) {
36
37
  const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
@@ -1,6 +1,23 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { DeleteResponse, PaginationMeta, PaginationRequest } from "./common";
3
3
  export declare const protobufPackage = "catalog.v1";
4
+ export interface BrandSyncItem {
5
+ brandGuid: string;
6
+ name: string;
7
+ }
8
+ export interface UpsertBrandsRequest {
9
+ items: BrandSyncItem[];
10
+ syncId: string;
11
+ }
12
+ export interface BrandUpsertResult {
13
+ guid: string;
14
+ status: string;
15
+ reason?: string | undefined;
16
+ id?: string | undefined;
17
+ }
18
+ export interface UpsertBrandsResponse {
19
+ results: BrandUpsertResult[];
20
+ }
4
21
  export interface BrandResponse {
5
22
  id: string;
6
23
  slug: string;
@@ -110,6 +127,7 @@ export interface BrandServiceClient {
110
127
  createBrand(request: CreateBrandRequest): Observable<BrandResponse>;
111
128
  updateBrand(request: UpdateBrandRequest): Observable<BrandResponse>;
112
129
  deleteBrand(request: DeleteBrandRequest): Observable<DeleteResponse>;
130
+ upsertBrands(request: UpsertBrandsRequest): Observable<UpsertBrandsResponse>;
113
131
  }
114
132
  export interface BrandServiceController {
115
133
  getBrands(request: GetBrandsRequest): Promise<GetBrandsResponse> | Observable<GetBrandsResponse> | GetBrandsResponse;
@@ -117,6 +135,7 @@ export interface BrandServiceController {
117
135
  createBrand(request: CreateBrandRequest): Promise<BrandResponse> | Observable<BrandResponse> | BrandResponse;
118
136
  updateBrand(request: UpdateBrandRequest): Promise<BrandResponse> | Observable<BrandResponse> | BrandResponse;
119
137
  deleteBrand(request: DeleteBrandRequest): Promise<DeleteResponse> | Observable<DeleteResponse> | DeleteResponse;
138
+ upsertBrands(request: UpsertBrandsRequest): Promise<UpsertBrandsResponse> | Observable<UpsertBrandsResponse> | UpsertBrandsResponse;
120
139
  }
121
140
  export declare function BrandServiceControllerMethods(): (constructor: Function) => void;
122
141
  export declare const BRAND_SERVICE_NAME = "BrandService";
package/dist/gen/brand.js CHANGED
@@ -13,7 +13,14 @@ exports.protobufPackage = "catalog.v1";
13
13
  exports.CATALOG_V1_PACKAGE_NAME = "catalog.v1";
14
14
  function BrandServiceControllerMethods() {
15
15
  return function (constructor) {
16
- const grpcMethods = ["getBrands", "getBrand", "createBrand", "updateBrand", "deleteBrand"];
16
+ const grpcMethods = [
17
+ "getBrands",
18
+ "getBrand",
19
+ "createBrand",
20
+ "updateBrand",
21
+ "deleteBrand",
22
+ "upsertBrands",
23
+ ];
17
24
  for (const method of grpcMethods) {
18
25
  const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
19
26
  (0, microservices_1.GrpcMethod)("BrandService", method)(constructor.prototype[method], method, descriptor);
@@ -231,7 +231,6 @@ export interface CloneBundleRequest {
231
231
  export interface ExportBundlesRequest {
232
232
  status?: BundleStatus | undefined;
233
233
  bundleType?: BundleType | undefined;
234
- /** "json" | "csv" */
235
234
  format: string;
236
235
  }
237
236
  export interface AddCrossSellLinkRequest {
@@ -259,7 +258,6 @@ export interface BundleListItemResponse {
259
258
  originalPrice: number;
260
259
  finalPrice: number;
261
260
  inStock: boolean;
262
- /** NEW */
263
261
  bundleType: BundleType;
264
262
  displayPlacements: DisplayPlacement[];
265
263
  }
@@ -58,10 +58,6 @@ export interface DeliveryDraft {
58
58
  pickupPointId: string;
59
59
  cost: number;
60
60
  freeShipping: boolean;
61
- /**
62
- * Область з City.region — клієнт передає при виборі міста, щоб
63
- * потім order-service зміг записати в snapshot замовлення.
64
- */
65
61
  region: string;
66
62
  }
67
63
  export interface PaymentDraft {
@@ -176,19 +172,11 @@ export interface SetCommentRequest {
176
172
  }
177
173
  export interface SetCheckoutDraftRequest {
178
174
  owner: CartOwner | undefined;
179
- /**
180
- * Усі поля опціональні — оновлюються лише ті, що передані (proto3 default
181
- * означає "не міняти"). Recalculate виконується одноразово в кінці.
182
- */
183
175
  recipient: Recipient | undefined;
184
176
  delivery: DeliveryDraft | undefined;
185
177
  payment: PaymentDraft | undefined;
186
178
  comment: string;
187
179
  doNotCall: boolean;
188
- /**
189
- * Прапори "очистити поле" — щоб відрізнити default proto-значення
190
- * від явного запиту прибрати, бо у proto3 порожній string === unset.
191
- */
192
180
  hasRecipient: boolean;
193
181
  hasDelivery: boolean;
194
182
  hasPayment: boolean;
@@ -226,10 +214,6 @@ export interface CartServiceClient {
226
214
  clearCart(request: ClearCartRequest): Observable<SuccessResponse>;
227
215
  applyPromo(request: ApplyPromoRequest): Observable<CartResponse>;
228
216
  removePromo(request: RemovePromoRequest): Observable<CartResponse>;
229
- /**
230
- * ApplyCertificate — поки stub. Реальна перевірка номіналу/балансу
231
- * потребує синхронізації з 1С (фаза інтеграцій).
232
- */
233
217
  applyCertificate(request: ApplyCertificateRequest): Observable<CartResponse>;
234
218
  removeCertificate(request: RemoveCertificateRequest): Observable<CartResponse>;
235
219
  applyBonuses(request: ApplyBonusesRequest): Observable<CartResponse>;
@@ -238,10 +222,6 @@ export interface CartServiceClient {
238
222
  setDeliveryDraft(request: SetDeliveryDraftRequest): Observable<CartResponse>;
239
223
  setPaymentDraft(request: SetPaymentDraftRequest): Observable<CartResponse>;
240
224
  setComment(request: SetCommentRequest): Observable<CartResponse>;
241
- /**
242
- * Batch-set всіх checkout-полів одним викликом + ОДИН Recalculate.
243
- * Фронт під час оформлення замовлення викликає це замість 4 окремих set-*.
244
- */
245
225
  setCheckoutDraft(request: SetCheckoutDraftRequest): Observable<CartResponse>;
246
226
  recalculate(request: RecalculateRequest): Observable<CartResponse>;
247
227
  mergeGuestToUser(request: MergeGuestToUserRequest): Observable<CartResponse>;
@@ -257,10 +237,6 @@ export interface CartServiceController {
257
237
  clearCart(request: ClearCartRequest): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
258
238
  applyPromo(request: ApplyPromoRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
259
239
  removePromo(request: RemovePromoRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
260
- /**
261
- * ApplyCertificate — поки stub. Реальна перевірка номіналу/балансу
262
- * потребує синхронізації з 1С (фаза інтеграцій).
263
- */
264
240
  applyCertificate(request: ApplyCertificateRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
265
241
  removeCertificate(request: RemoveCertificateRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
266
242
  applyBonuses(request: ApplyBonusesRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
@@ -269,10 +245,6 @@ export interface CartServiceController {
269
245
  setDeliveryDraft(request: SetDeliveryDraftRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
270
246
  setPaymentDraft(request: SetPaymentDraftRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
271
247
  setComment(request: SetCommentRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
272
- /**
273
- * Batch-set всіх checkout-полів одним викликом + ОДИН Recalculate.
274
- * Фронт під час оформлення замовлення викликає це замість 4 окремих set-*.
275
- */
276
248
  setCheckoutDraft(request: SetCheckoutDraftRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
277
249
  recalculate(request: RecalculateRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
278
250
  mergeGuestToUser(request: MergeGuestToUserRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
@@ -1,6 +1,30 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { DeleteResponse, SuccessResponse } from "./common";
3
3
  export declare const protobufPackage = "catalog.v1";
4
+ export interface CategorySyncItem {
5
+ categoryGuid: string;
6
+ parentGuid?: string | undefined;
7
+ name: {
8
+ [key: string]: string;
9
+ };
10
+ }
11
+ export interface CategorySyncItem_NameEntry {
12
+ key: string;
13
+ value: string;
14
+ }
15
+ export interface UpsertCategoriesRequest {
16
+ items: CategorySyncItem[];
17
+ syncId: string;
18
+ }
19
+ export interface CategoryUpsertResult {
20
+ guid: string;
21
+ status: string;
22
+ reason?: string | undefined;
23
+ id?: string | undefined;
24
+ }
25
+ export interface UpsertCategoriesResponse {
26
+ results: CategoryUpsertResult[];
27
+ }
4
28
  export interface GetAllCategoriesRequest {
5
29
  }
6
30
  export interface GetAllCategoriesResponse {
@@ -198,6 +222,7 @@ export interface CategoryAdminServiceClient {
198
222
  deleteCategory(request: DeleteCategoryRequest): Observable<DeleteResponse>;
199
223
  updateCategoryOrder(request: UpdateCategoryOrderRequest): Observable<SuccessResponse>;
200
224
  getAllCategories(request: GetAllCategoriesRequest): Observable<GetAllCategoriesResponse>;
225
+ upsertCategories(request: UpsertCategoriesRequest): Observable<UpsertCategoriesResponse>;
201
226
  }
202
227
  export interface CategoryAdminServiceController {
203
228
  getCategoryTree(request: GetCategoryTreeRequest): Promise<GetCategoryTreeResponse> | Observable<GetCategoryTreeResponse> | GetCategoryTreeResponse;
@@ -207,6 +232,7 @@ export interface CategoryAdminServiceController {
207
232
  deleteCategory(request: DeleteCategoryRequest): Promise<DeleteResponse> | Observable<DeleteResponse> | DeleteResponse;
208
233
  updateCategoryOrder(request: UpdateCategoryOrderRequest): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
209
234
  getAllCategories(request: GetAllCategoriesRequest): Promise<GetAllCategoriesResponse> | Observable<GetAllCategoriesResponse> | GetAllCategoriesResponse;
235
+ upsertCategories(request: UpsertCategoriesRequest): Promise<UpsertCategoriesResponse> | Observable<UpsertCategoriesResponse> | UpsertCategoriesResponse;
210
236
  }
211
237
  export declare function CategoryAdminServiceControllerMethods(): (constructor: Function) => void;
212
238
  export declare const CATEGORY_ADMIN_SERVICE_NAME = "CategoryAdminService";
@@ -21,6 +21,7 @@ function CategoryAdminServiceControllerMethods() {
21
21
  "deleteCategory",
22
22
  "updateCategoryOrder",
23
23
  "getAllCategories",
24
+ "upsertCategories",
24
25
  ];
25
26
  for (const method of grpcMethods) {
26
27
  const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
@@ -75,7 +75,6 @@ export interface ListAreasResponse {
75
75
  export interface ListWarehousesRequest {
76
76
  carrier: string;
77
77
  cityRef: string;
78
- /** warehouse | postomat | both */
79
78
  type: string;
80
79
  query: string;
81
80
  limit: number;
@@ -1,13 +1,9 @@
1
1
  import { Observable } from "rxjs";
2
2
  export declare const protobufPackage = "delivery.v1";
3
3
  export interface DeliverySettingsResponse {
4
- /** Дефолтна вага позиції у кг — fallback коли catalog не повертає weight. */
5
4
  defaultItemWeightKg: number;
6
- /** Поріг безкоштовної доставки в грн (0 = вимкнено). */
7
5
  freeShippingThreshold: number;
8
- /** Дефолтна оголошена вартість на одиницю товару у грн (для страхування НП). */
9
6
  defaultDeclaredValue: number;
10
- /** Reference відправника у НП (вибране warehouse адміністратором у settings). */
11
7
  npSenderWarehouseRef?: string | undefined;
12
8
  updatedAt: string;
13
9
  }
package/dist/gen/faq.d.ts CHANGED
@@ -170,17 +170,14 @@ export interface BulkSetPopularFaqRequest {
170
170
  }
171
171
  export declare const CONTENT_V1_PACKAGE_NAME = "content.v1";
172
172
  export interface FaqServiceClient {
173
- /** Storefront */
174
173
  getFaqStorefront(request: GetFaqStorefrontRequest): Observable<GetFaqStorefrontResponse>;
175
174
  searchFaq(request: SearchFaqRequest): Observable<SearchFaqResponse>;
176
- /** Admin — categories */
177
175
  getFaqCategories(request: GetFaqCategoriesRequest): Observable<GetFaqCategoriesResponse>;
178
176
  getFaqCategory(request: FaqCategoryIdRequest): Observable<FaqCategoryResponse>;
179
177
  createFaqCategory(request: CreateFaqCategoryRequest): Observable<FaqCategoryResponse>;
180
178
  updateFaqCategory(request: UpdateFaqCategoryRequest): Observable<FaqCategoryResponse>;
181
179
  deleteFaqCategory(request: FaqCategoryIdRequest): Observable<DeleteResponse>;
182
180
  reorderFaqCategories(request: ReorderFaqRequest): Observable<SuccessResponse>;
183
- /** Admin — items */
184
181
  getFaqItems(request: GetFaqItemsRequest): Observable<GetFaqItemsResponse>;
185
182
  getFaqItem(request: FaqItemIdRequest): Observable<FaqItemResponse>;
186
183
  createFaqItem(request: CreateFaqItemRequest): Observable<FaqItemResponse>;
@@ -190,17 +187,14 @@ export interface FaqServiceClient {
190
187
  bulkSetPopular(request: BulkSetPopularFaqRequest): Observable<SuccessResponse>;
191
188
  }
192
189
  export interface FaqServiceController {
193
- /** Storefront */
194
190
  getFaqStorefront(request: GetFaqStorefrontRequest): Promise<GetFaqStorefrontResponse> | Observable<GetFaqStorefrontResponse> | GetFaqStorefrontResponse;
195
191
  searchFaq(request: SearchFaqRequest): Promise<SearchFaqResponse> | Observable<SearchFaqResponse> | SearchFaqResponse;
196
- /** Admin — categories */
197
192
  getFaqCategories(request: GetFaqCategoriesRequest): Promise<GetFaqCategoriesResponse> | Observable<GetFaqCategoriesResponse> | GetFaqCategoriesResponse;
198
193
  getFaqCategory(request: FaqCategoryIdRequest): Promise<FaqCategoryResponse> | Observable<FaqCategoryResponse> | FaqCategoryResponse;
199
194
  createFaqCategory(request: CreateFaqCategoryRequest): Promise<FaqCategoryResponse> | Observable<FaqCategoryResponse> | FaqCategoryResponse;
200
195
  updateFaqCategory(request: UpdateFaqCategoryRequest): Promise<FaqCategoryResponse> | Observable<FaqCategoryResponse> | FaqCategoryResponse;
201
196
  deleteFaqCategory(request: FaqCategoryIdRequest): Promise<DeleteResponse> | Observable<DeleteResponse> | DeleteResponse;
202
197
  reorderFaqCategories(request: ReorderFaqRequest): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
203
- /** Admin — items */
204
198
  getFaqItems(request: GetFaqItemsRequest): Promise<GetFaqItemsResponse> | Observable<GetFaqItemsResponse> | GetFaqItemsResponse;
205
199
  getFaqItem(request: FaqItemIdRequest): Promise<FaqItemResponse> | Observable<FaqItemResponse> | FaqItemResponse;
206
200
  createFaqItem(request: CreateFaqItemRequest): Promise<FaqItemResponse> | Observable<FaqItemResponse> | FaqItemResponse;
@@ -35,7 +35,6 @@ export interface CreateManagerRequest {
35
35
  accountId: string;
36
36
  displayName?: string | undefined;
37
37
  email?: string | undefined;
38
- /** URGENT_ONLY | ALL */
39
38
  reassignmentStrategy?: string | undefined;
40
39
  }
41
40
  export interface UpdateManagerRequest {
@@ -56,7 +55,6 @@ export interface ReorderManagersRequest {
56
55
  }
57
56
  export interface AddVacationRequest {
58
57
  managerId: string;
59
- /** ISO date */
60
58
  startsAt: string;
61
59
  endsAt: string;
62
60
  reason?: string | undefined;
@@ -80,11 +78,6 @@ export declare const MANAGER_V1_PACKAGE_NAME = "manager.v1";
80
78
  export interface ManagerServiceClient {
81
79
  listManagers(request: ListManagersRequest): Observable<ListManagersResponse>;
82
80
  getManager(request: GetManagerRequest): Observable<ManagerProfileDto>;
83
- /**
84
- * Резолв account_id (з auth-service) → ManagerProfile. Використовується
85
- * у gateway щоб з'ясувати ManagerProfile.id для логіну-під-менеджером —
86
- * order.managerId зберігає ManagerProfile.id, а не Account.id.
87
- */
88
81
  getManagerByAccount(request: GetManagerByAccountRequest): Observable<ManagerProfileDto>;
89
82
  createManager(request: CreateManagerRequest): Observable<ManagerProfileDto>;
90
83
  updateManager(request: UpdateManagerRequest): Observable<ManagerProfileDto>;
@@ -98,11 +91,6 @@ export interface ManagerServiceClient {
98
91
  export interface ManagerServiceController {
99
92
  listManagers(request: ListManagersRequest): Promise<ListManagersResponse> | Observable<ListManagersResponse> | ListManagersResponse;
100
93
  getManager(request: GetManagerRequest): Promise<ManagerProfileDto> | Observable<ManagerProfileDto> | ManagerProfileDto;
101
- /**
102
- * Резолв account_id (з auth-service) → ManagerProfile. Використовується
103
- * у gateway щоб з'ясувати ManagerProfile.id для логіну-під-менеджером —
104
- * order.managerId зберігає ManagerProfile.id, а не Account.id.
105
- */
106
94
  getManagerByAccount(request: GetManagerByAccountRequest): Promise<ManagerProfileDto> | Observable<ManagerProfileDto> | ManagerProfileDto;
107
95
  createManager(request: CreateManagerRequest): Promise<ManagerProfileDto> | Observable<ManagerProfileDto> | ManagerProfileDto;
108
96
  updateManager(request: UpdateManagerRequest): Promise<ManagerProfileDto> | Observable<ManagerProfileDto> | ManagerProfileDto;
@@ -63,35 +63,20 @@ export declare enum TelegramTopic {
63
63
  GENERAL = 9,
64
64
  UNRECOGNIZED = -1
65
65
  }
66
- /**
67
- * SendToCustomer — викликається з gateway після того, як клієнтський контакт
68
- * (email/phone) вже резолвнений і опційно згенерований персональний купон.
69
- */
70
66
  export interface SendToCustomerRequest {
71
- /** userId з auth-service — пишемо в NotificationLog.user_id для зведень. */
72
67
  userId: string;
73
68
  channel: NotificationChannel;
74
- /** Recipient — email або phone, заздалегідь визначені gateway з акаунта. */
75
69
  recipient: string;
76
- /** Шлях 1: templateId — рендеримо існуючий шаблон з variables. */
77
70
  templateId?: string | undefined;
78
- /**
79
- * Шлях 2: ad-hoc контент. Якщо template_id порожній — використовуємо ці поля.
80
- * body_html — для EMAIL (буде обгорнутий брендингом).
81
- * body_text — для SMS (plain text) або текстова версія email.
82
- */
83
71
  customSubject?: string | undefined;
84
72
  customBodyHtml?: string | undefined;
85
73
  customBodyText?: string | undefined;
86
- /** JSON з placeholders для Handlebars: { "coupon_code": "...", ... } */
87
74
  variablesJson: string;
88
- /** Locale для пошуку версії шаблону + надсилання branding-обгортки. */
89
75
  locale?: NotificationLocale | undefined;
90
76
  }
91
77
  export interface SendToCustomerResponse {
92
78
  ok: boolean;
93
79
  errorMessage: string;
94
- /** id запису в NotificationLog (для трекінгу в /notifications/logs). */
95
80
  logId: string;
96
81
  }
97
82
  export interface EnqueueRecipientsRequest {
@@ -100,17 +85,8 @@ export interface EnqueueRecipientsRequest {
100
85
  }
101
86
  export interface CampaignResolvedRecipient {
102
87
  userId: string;
103
- /** email або phone */
104
88
  recipient: string;
105
- /**
106
- * true → у клієнта promotions=false. dispatcher позначить SKIPPED_OPT_OUT
107
- * якщо respect_opt_out=true для кампанії.
108
- */
109
89
  optOut: boolean;
110
- /**
111
- * Унікальний код, згенерований gateway через CouponsService.CreateCoupon.
112
- * Підставляється у шаблон як {{coupon_code}}.
113
- */
114
90
  couponCode?: string | undefined;
115
91
  }
116
92
  export interface EnqueueRecipientsResponse {
@@ -136,7 +112,6 @@ export interface DeleteCampaignResponse {
136
112
  }
137
113
  export interface StartCampaignRequest {
138
114
  id: string;
139
- /** ISO date; якщо порожньо → запустити одразу. */
140
115
  scheduledAt?: string | undefined;
141
116
  }
142
117
  export interface CancelCampaignRequest {
@@ -149,9 +124,7 @@ export interface CreateCampaignRequest {
149
124
  customSubject?: string | undefined;
150
125
  customBodyHtml?: string | undefined;
151
126
  customBodyText?: string | undefined;
152
- /** JSON segment spec. */
153
127
  segmentJson: string;
154
- /** JSON coupon spec — null/empty для кампаній без купонів. */
155
128
  couponSpecJson?: string | undefined;
156
129
  respectOptOut: boolean;
157
130
  locale?: NotificationLocale | undefined;
@@ -159,7 +132,6 @@ export interface CreateCampaignRequest {
159
132
  }
160
133
  export interface UpdateCampaignRequest {
161
134
  id: string;
162
- /** Можна оновлювати тільки DRAFT — гілки нижче опційні. */
163
135
  name?: string | undefined;
164
136
  channel?: NotificationChannel | undefined;
165
137
  templateId?: string | undefined;
@@ -202,12 +174,10 @@ export interface Campaign {
202
174
  }
203
175
  export interface PreviewSegmentRequest {
204
176
  segmentJson: string;
205
- /** потрібно для перевірки наявності email/phone */
206
177
  channel: NotificationChannel;
207
178
  }
208
179
  export interface PreviewSegmentResponse {
209
180
  totalCount: number;
210
- /** Перші 10 для UI; решта — за необхідності окремим запитом. */
211
181
  sample: PreviewSegmentSample[];
212
182
  }
213
183
  export interface PreviewSegmentSample {
@@ -241,10 +211,6 @@ export interface CampaignRecipient {
241
211
  }
242
212
  export interface BrandingEmpty {
243
213
  }
244
- /**
245
- * Поля що поверталися з resolved-merge (DB ∪ env). Порожні рядки означають
246
- * "взяти fallback з env" при наступному GET.
247
- */
248
214
  export interface BrandingProfile {
249
215
  logoUrl: string;
250
216
  brandName: string;
@@ -253,19 +219,13 @@ export interface BrandingProfile {
253
219
  footerHtml: string;
254
220
  updatedAt: number;
255
221
  updatedBy: string;
256
- /**
257
- * resolved: остаточні значення, що використовуються wrapper'ом
258
- * (DB override → env fallback). Для UI щоб показати "поточне значення".
259
- */
260
222
  resolvedLogoUrl: string;
261
223
  resolvedBrandName: string;
262
224
  resolvedBrandUrl: string;
263
225
  resolvedSupportEmail: string;
264
- /** Кастомний HTML-хедер (замість дефолтного логотип-блоку). Порожньо → default. */
265
226
  headerHtml: string;
266
227
  }
267
228
  export interface UpdateBrandingRequest {
268
- /** optional: відсутність → не оновлювати; порожній рядок → скинути до NULL у БД. */
269
229
  logoUrl?: string | undefined;
270
230
  brandName?: string | undefined;
271
231
  brandUrl?: string | undefined;
@@ -282,14 +242,9 @@ export interface NotificationTemplate {
282
242
  category: NotificationCategory;
283
243
  title: string;
284
244
  subject: string;
285
- /**
286
- * JSON-stringified Tiptap content (передаємо як string щоб не
287
- * використовувати proto google.protobuf.Struct).
288
- */
289
245
  contentJson: string;
290
246
  bodyHtml: string;
291
247
  bodyText: string;
292
- /** JSON array of variable names (для autocomplete). */
293
248
  variablesJson: string;
294
249
  isActive: boolean;
295
250
  version: number;
@@ -335,7 +290,6 @@ export interface UpdateTemplateRequest {
335
290
  bodyText: string;
336
291
  variablesJson?: string | undefined;
337
292
  isActive?: boolean | undefined;
338
- /** Admin id для audit (хто змінив). */
339
293
  actorId?: string | undefined;
340
294
  }
341
295
  export interface ToggleTemplateRequest {
@@ -367,13 +321,8 @@ export interface RestoreVersionRequest {
367
321
  }
368
322
  export interface RenderPreviewRequest {
369
323
  bodyHtml: string;
370
- /** JSON-stringified variables { "order.number": "MD-2026-0001", ... } */
371
324
  variablesJson: string;
372
325
  subject?: string | undefined;
373
- /**
374
- * JSON-stringified branding override (header/footer/logo/brand…) для live-
375
- * превʼю незбережених змін на сторінці брендингу. Порожньо → беремо з БД.
376
- */
377
326
  brandingJson?: string | undefined;
378
327
  }
379
328
  export interface RenderPreviewResponse {
@@ -382,9 +331,7 @@ export interface RenderPreviewResponse {
382
331
  }
383
332
  export interface SendTestRequest {
384
333
  templateId: string;
385
- /** email або phone (залежно від channel). */
386
334
  recipient: string;
387
- /** JSON-stringified test variables. */
388
335
  variablesJson: string;
389
336
  }
390
337
  export interface SendTestResponse {
@@ -476,7 +423,6 @@ export interface NotificationTemplateServiceClient {
476
423
  restoreVersion(request: RestoreVersionRequest): Observable<TemplateResponse>;
477
424
  renderPreview(request: RenderPreviewRequest): Observable<RenderPreviewResponse>;
478
425
  sendTest(request: SendTestRequest): Observable<SendTestResponse>;
479
- /** Реальна відправка клієнту з адмінки — або по шаблону, або ad-hoc body. */
480
426
  sendToCustomer(request: SendToCustomerRequest): Observable<SendToCustomerResponse>;
481
427
  }
482
428
  export interface NotificationTemplateServiceController {
@@ -489,7 +435,6 @@ export interface NotificationTemplateServiceController {
489
435
  restoreVersion(request: RestoreVersionRequest): Promise<TemplateResponse> | Observable<TemplateResponse> | TemplateResponse;
490
436
  renderPreview(request: RenderPreviewRequest): Promise<RenderPreviewResponse> | Observable<RenderPreviewResponse> | RenderPreviewResponse;
491
437
  sendTest(request: SendTestRequest): Promise<SendTestResponse> | Observable<SendTestResponse> | SendTestResponse;
492
- /** Реальна відправка клієнту з адмінки — або по шаблону, або ad-hoc body. */
493
438
  sendToCustomer(request: SendToCustomerRequest): Promise<SendToCustomerResponse> | Observable<SendToCustomerResponse> | SendToCustomerResponse;
494
439
  }
495
440
  export declare function NotificationTemplateServiceControllerMethods(): (constructor: Function) => void;
@@ -516,7 +461,6 @@ export interface TelegramChatsServiceController {
516
461
  }
517
462
  export declare function TelegramChatsServiceControllerMethods(): (constructor: Function) => void;
518
463
  export declare const TELEGRAM_CHATS_SERVICE_NAME = "TelegramChatsService";
519
- /** Маркетингові кампанії: створення, запуск, статистика. */
520
464
  export interface CampaignsServiceClient {
521
465
  listCampaigns(request: ListCampaignsRequest): Observable<ListCampaignsResponse>;
522
466
  getCampaign(request: GetCampaignRequest): Observable<CampaignResponse>;
@@ -525,17 +469,10 @@ export interface CampaignsServiceClient {
525
469
  deleteCampaign(request: DeleteCampaignRequest): Observable<DeleteCampaignResponse>;
526
470
  startCampaign(request: StartCampaignRequest): Observable<CampaignResponse>;
527
471
  cancelCampaign(request: CancelCampaignRequest): Observable<CampaignResponse>;
528
- /** Превью сегменту — повертає кількість + перші N клієнтів, БЕЗ створення кампанії. */
529
472
  previewSegment(request: PreviewSegmentRequest): Observable<PreviewSegmentResponse>;
530
- /** Список отримувачів конкретної кампанії з їхніми статусами. */
531
473
  listRecipients(request: ListRecipientsRequest): Observable<ListRecipientsResponse>;
532
- /**
533
- * Викликається з gateway після того, як сегмент резолвнено клієнтами —
534
- * передається список {userId, recipient}, нотифікація розкладає у чергу.
535
- */
536
474
  enqueueRecipients(request: EnqueueRecipientsRequest): Observable<EnqueueRecipientsResponse>;
537
475
  }
538
- /** Маркетингові кампанії: створення, запуск, статистика. */
539
476
  export interface CampaignsServiceController {
540
477
  listCampaigns(request: ListCampaignsRequest): Promise<ListCampaignsResponse> | Observable<ListCampaignsResponse> | ListCampaignsResponse;
541
478
  getCampaign(request: GetCampaignRequest): Promise<CampaignResponse> | Observable<CampaignResponse> | CampaignResponse;
@@ -544,24 +481,16 @@ export interface CampaignsServiceController {
544
481
  deleteCampaign(request: DeleteCampaignRequest): Promise<DeleteCampaignResponse> | Observable<DeleteCampaignResponse> | DeleteCampaignResponse;
545
482
  startCampaign(request: StartCampaignRequest): Promise<CampaignResponse> | Observable<CampaignResponse> | CampaignResponse;
546
483
  cancelCampaign(request: CancelCampaignRequest): Promise<CampaignResponse> | Observable<CampaignResponse> | CampaignResponse;
547
- /** Превью сегменту — повертає кількість + перші N клієнтів, БЕЗ створення кампанії. */
548
484
  previewSegment(request: PreviewSegmentRequest): Promise<PreviewSegmentResponse> | Observable<PreviewSegmentResponse> | PreviewSegmentResponse;
549
- /** Список отримувачів конкретної кампанії з їхніми статусами. */
550
485
  listRecipients(request: ListRecipientsRequest): Promise<ListRecipientsResponse> | Observable<ListRecipientsResponse> | ListRecipientsResponse;
551
- /**
552
- * Викликається з gateway після того, як сегмент резолвнено клієнтами —
553
- * передається список {userId, recipient}, нотифікація розкладає у чергу.
554
- */
555
486
  enqueueRecipients(request: EnqueueRecipientsRequest): Promise<EnqueueRecipientsResponse> | Observable<EnqueueRecipientsResponse> | EnqueueRecipientsResponse;
556
487
  }
557
488
  export declare function CampaignsServiceControllerMethods(): (constructor: Function) => void;
558
489
  export declare const CAMPAIGNS_SERVICE_NAME = "CampaignsService";
559
- /** Брендинг email-шаблонів — singleton редагується адміном. */
560
490
  export interface BrandingServiceClient {
561
491
  getBranding(request: BrandingEmpty): Observable<BrandingProfile>;
562
492
  updateBranding(request: UpdateBrandingRequest): Observable<BrandingProfile>;
563
493
  }
564
- /** Брендинг email-шаблонів — singleton редагується адміном. */
565
494
  export interface BrandingServiceController {
566
495
  getBranding(request: BrandingEmpty): Promise<BrandingProfile> | Observable<BrandingProfile> | BrandingProfile;
567
496
  updateBranding(request: UpdateBrandingRequest): Promise<BrandingProfile> | Observable<BrandingProfile> | BrandingProfile;