@mamindom/contracts 1.0.190 → 1.0.192

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.
@@ -461,6 +461,20 @@ export interface UpdateProductRequest {
461
461
  manualRating?: number | undefined;
462
462
  weightKg?: number | undefined;
463
463
  guid1c?: string | undefined;
464
+ /**
465
+ * Явне очищення списків.
466
+ *
467
+ * У proto3 `repeated` не відрізняє «не передано» від «передано порожнім»,
468
+ * тож порожній масив сам по собі означає «не чіпати». Раніше цього
469
+ * розрізнення не було: клієнт, який не надіслав `images`, отримував від
470
+ * gateway [] — і всі фото товару видалялися разом із файлами в S3.
471
+ *
472
+ * Той самий підхід уже застосований в UpdateProductVariantRequest.
473
+ */
474
+ clearImages: boolean;
475
+ clearCategories: boolean;
476
+ clearStickers: boolean;
477
+ clearAttributes: boolean;
464
478
  }
465
479
  export interface UpdateProductRequest_NameEntry {
466
480
  key: string;
@@ -606,6 +620,10 @@ export interface ProductGroupMember {
606
620
  colorHex: string;
607
621
  price: number;
608
622
  status: ProductStatus;
623
+ /** Потрібен вітрині: перемикач кольору веде на картку сусіда за ЧПУ. */
624
+ slug: string;
625
+ /** Чи є що купити — сусід без залишку показується неактивним, а не зникає. */
626
+ inStock: boolean;
609
627
  }
610
628
  export interface ProductGroupMember_NameEntry {
611
629
  key: string;
@@ -450,6 +450,19 @@ message UpdateProductRequest {
450
450
  optional float manual_rating = 25;
451
451
  optional double weight_kg = 26;
452
452
  optional string guid1c = 27;
453
+
454
+ // Явне очищення списків.
455
+ //
456
+ // У proto3 `repeated` не відрізняє «не передано» від «передано порожнім»,
457
+ // тож порожній масив сам по собі означає «не чіпати». Раніше цього
458
+ // розрізнення не було: клієнт, який не надіслав `images`, отримував від
459
+ // gateway [] — і всі фото товару видалялися разом із файлами в S3.
460
+ //
461
+ // Той самий підхід уже застосований в UpdateProductVariantRequest.
462
+ bool clear_images = 28;
463
+ bool clear_categories = 29;
464
+ bool clear_stickers = 30;
465
+ bool clear_attributes = 31;
453
466
  }
454
467
 
455
468
  message SetManualRatingRequest {
@@ -604,6 +617,11 @@ message ProductGroupMember {
604
617
  string color_hex = 6;
605
618
  double price = 7;
606
619
  ProductStatus status = 8;
620
+
621
+ // Потрібен вітрині: перемикач кольору веде на картку сусіда за ЧПУ.
622
+ string slug = 9;
623
+ // Чи є що купити — сусід без залишку показується неактивним, а не зникає.
624
+ bool in_stock = 10;
607
625
  }
608
626
 
609
627
  message CreateProductGroupRequest {
package/gen/product.ts CHANGED
@@ -463,7 +463,23 @@ export interface UpdateProductRequest {
463
463
  colorHex?: string | undefined;
464
464
  manualRating?: number | undefined;
465
465
  weightKg?: number | undefined;
466
- guid1c?: string | undefined;
466
+ guid1c?:
467
+ | string
468
+ | undefined;
469
+ /**
470
+ * Явне очищення списків.
471
+ *
472
+ * У proto3 `repeated` не відрізняє «не передано» від «передано порожнім»,
473
+ * тож порожній масив сам по собі означає «не чіпати». Раніше цього
474
+ * розрізнення не було: клієнт, який не надіслав `images`, отримував від
475
+ * gateway [] — і всі фото товару видалялися разом із файлами в S3.
476
+ *
477
+ * Той самий підхід уже застосований в UpdateProductVariantRequest.
478
+ */
479
+ clearImages: boolean;
480
+ clearCategories: boolean;
481
+ clearStickers: boolean;
482
+ clearAttributes: boolean;
467
483
  }
468
484
 
469
485
  export interface UpdateProductRequest_NameEntry {
@@ -628,6 +644,10 @@ export interface ProductGroupMember {
628
644
  colorHex: string;
629
645
  price: number;
630
646
  status: ProductStatus;
647
+ /** Потрібен вітрині: перемикач кольору веде на картку сусіда за ЧПУ. */
648
+ slug: string;
649
+ /** Чи є що купити — сусід без залишку показується неактивним, а не зникає. */
650
+ inStock: boolean;
631
651
  }
632
652
 
633
653
  export interface ProductGroupMember_NameEntry {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mamindom/contracts",
3
3
  "description": "proto",
4
- "version": "1.0.190",
4
+ "version": "1.0.192",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
7
7
  "exports": {
@@ -450,6 +450,19 @@ message UpdateProductRequest {
450
450
  optional float manual_rating = 25;
451
451
  optional double weight_kg = 26;
452
452
  optional string guid1c = 27;
453
+
454
+ // Явне очищення списків.
455
+ //
456
+ // У proto3 `repeated` не відрізняє «не передано» від «передано порожнім»,
457
+ // тож порожній масив сам по собі означає «не чіпати». Раніше цього
458
+ // розрізнення не було: клієнт, який не надіслав `images`, отримував від
459
+ // gateway [] — і всі фото товару видалялися разом із файлами в S3.
460
+ //
461
+ // Той самий підхід уже застосований в UpdateProductVariantRequest.
462
+ bool clear_images = 28;
463
+ bool clear_categories = 29;
464
+ bool clear_stickers = 30;
465
+ bool clear_attributes = 31;
453
466
  }
454
467
 
455
468
  message SetManualRatingRequest {
@@ -604,6 +617,11 @@ message ProductGroupMember {
604
617
  string color_hex = 6;
605
618
  double price = 7;
606
619
  ProductStatus status = 8;
620
+
621
+ // Потрібен вітрині: перемикач кольору веде на картку сусіда за ЧПУ.
622
+ string slug = 9;
623
+ // Чи є що купити — сусід без залишку показується неактивним, а не зникає.
624
+ bool in_stock = 10;
607
625
  }
608
626
 
609
627
  message CreateProductGroupRequest {