@mamindom/contracts 1.0.103 → 1.0.105

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.
@@ -39,6 +39,14 @@ export declare enum RuleOperator {
39
39
  RULE_OPERATOR_ALL = 1,
40
40
  UNRECOGNIZED = -1
41
41
  }
42
+ export declare enum BundleRelatedType {
43
+ BUNDLE_RELATED_TYPE_UNSPECIFIED = 0,
44
+ BUNDLE_RELATED_TYPE_CROSS_SELL = 1,
45
+ BUNDLE_RELATED_TYPE_UP_SELL = 2,
46
+ BUNDLE_RELATED_TYPE_BOUGHT_TOGETHER = 3,
47
+ BUNDLE_RELATED_TYPE_POPULAR = 4,
48
+ UNRECOGNIZED = -1
49
+ }
42
50
  export interface GetBundlesRequest {
43
51
  pagination: PaginationRequest | undefined;
44
52
  search?: string | undefined;
@@ -207,6 +215,7 @@ export interface ApplyBundleRulesRequest {
207
215
  export interface GetBundlesByProductRequest {
208
216
  productId: string;
209
217
  status?: BundleStatus | undefined;
218
+ placement?: string | undefined;
210
219
  }
211
220
  export interface BulkUpdateBundleStatusRequest {
212
221
  bundleIds: string[];
@@ -398,6 +407,42 @@ export interface BundleLookupResult {
398
407
  export interface BulkLookupBundlesResponse {
399
408
  results: BundleLookupResult[];
400
409
  }
410
+ export interface BundleRelatedItem {
411
+ productId: string;
412
+ sku: string;
413
+ slug: string;
414
+ name: {
415
+ [key: string]: string;
416
+ };
417
+ mainImage: string;
418
+ price: number;
419
+ totalStock: number;
420
+ type: BundleRelatedType;
421
+ }
422
+ export interface BundleRelatedItem_NameEntry {
423
+ key: string;
424
+ value: string;
425
+ }
426
+ export interface GetBundleRelatedProductsRequest {
427
+ bundleId: string;
428
+ type?: BundleRelatedType | undefined;
429
+ }
430
+ export interface GetBundleRelatedProductsResponse {
431
+ crossSell: BundleRelatedItem[];
432
+ upSell: BundleRelatedItem[];
433
+ boughtTogether: BundleRelatedItem[];
434
+ popular: BundleRelatedItem[];
435
+ }
436
+ export interface SetBundleRelatedProductsRequest {
437
+ bundleId: string;
438
+ type: BundleRelatedType;
439
+ relatedProductIds: string[];
440
+ }
441
+ export interface RemoveBundleRelatedProductRequest {
442
+ bundleId: string;
443
+ relatedProductId: string;
444
+ type: BundleRelatedType;
445
+ }
401
446
  export declare const CATALOG_V1_PACKAGE_NAME = "catalog.v1";
402
447
  export interface BundleServiceClient {
403
448
  getBundles(request: GetBundlesRequest): Observable<GetBundlesResponse>;
@@ -421,6 +466,9 @@ export interface BundleServiceClient {
421
466
  addCrossSellLink(request: AddCrossSellLinkRequest): Observable<SuccessResponse>;
422
467
  generateBundleCollage(request: GenerateBundleCollageRequest): Observable<GenerateBundleCollageResponse>;
423
468
  bulkLookupBundles(request: BulkLookupBundlesRequest): Observable<BulkLookupBundlesResponse>;
469
+ getBundleRelatedProducts(request: GetBundleRelatedProductsRequest): Observable<GetBundleRelatedProductsResponse>;
470
+ setBundleRelatedProducts(request: SetBundleRelatedProductsRequest): Observable<SuccessResponse>;
471
+ removeBundleRelatedProduct(request: RemoveBundleRelatedProductRequest): Observable<SuccessResponse>;
424
472
  }
425
473
  export interface BundleServiceController {
426
474
  getBundles(request: GetBundlesRequest): Promise<GetBundlesResponse> | Observable<GetBundlesResponse> | GetBundlesResponse;
@@ -444,6 +492,9 @@ export interface BundleServiceController {
444
492
  addCrossSellLink(request: AddCrossSellLinkRequest): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
445
493
  generateBundleCollage(request: GenerateBundleCollageRequest): Promise<GenerateBundleCollageResponse> | Observable<GenerateBundleCollageResponse> | GenerateBundleCollageResponse;
446
494
  bulkLookupBundles(request: BulkLookupBundlesRequest): Promise<BulkLookupBundlesResponse> | Observable<BulkLookupBundlesResponse> | BulkLookupBundlesResponse;
495
+ getBundleRelatedProducts(request: GetBundleRelatedProductsRequest): Promise<GetBundleRelatedProductsResponse> | Observable<GetBundleRelatedProductsResponse> | GetBundleRelatedProductsResponse;
496
+ setBundleRelatedProducts(request: SetBundleRelatedProductsRequest): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
497
+ removeBundleRelatedProduct(request: RemoveBundleRelatedProductRequest): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
447
498
  }
448
499
  export declare function BundleServiceControllerMethods(): (constructor: Function) => void;
449
500
  export declare const BUNDLE_SERVICE_NAME = "BundleService";
@@ -5,7 +5,7 @@
5
5
  // protoc v3.21.12
6
6
  // source: bundle.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.BUNDLE_SERVICE_NAME = exports.CATALOG_V1_PACKAGE_NAME = exports.RuleOperator = exports.BundleType = exports.PriceMode = exports.DisplayPlacement = exports.DiscountType = exports.BundleStatus = exports.protobufPackage = void 0;
8
+ exports.BUNDLE_SERVICE_NAME = exports.CATALOG_V1_PACKAGE_NAME = exports.BundleRelatedType = exports.RuleOperator = exports.BundleType = exports.PriceMode = exports.DisplayPlacement = exports.DiscountType = exports.BundleStatus = exports.protobufPackage = void 0;
9
9
  exports.BundleServiceControllerMethods = BundleServiceControllerMethods;
10
10
  /* eslint-disable */
11
11
  const microservices_1 = require("@nestjs/microservices");
@@ -54,6 +54,15 @@ var RuleOperator;
54
54
  RuleOperator[RuleOperator["RULE_OPERATOR_ALL"] = 1] = "RULE_OPERATOR_ALL";
55
55
  RuleOperator[RuleOperator["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
56
56
  })(RuleOperator || (exports.RuleOperator = RuleOperator = {}));
57
+ var BundleRelatedType;
58
+ (function (BundleRelatedType) {
59
+ BundleRelatedType[BundleRelatedType["BUNDLE_RELATED_TYPE_UNSPECIFIED"] = 0] = "BUNDLE_RELATED_TYPE_UNSPECIFIED";
60
+ BundleRelatedType[BundleRelatedType["BUNDLE_RELATED_TYPE_CROSS_SELL"] = 1] = "BUNDLE_RELATED_TYPE_CROSS_SELL";
61
+ BundleRelatedType[BundleRelatedType["BUNDLE_RELATED_TYPE_UP_SELL"] = 2] = "BUNDLE_RELATED_TYPE_UP_SELL";
62
+ BundleRelatedType[BundleRelatedType["BUNDLE_RELATED_TYPE_BOUGHT_TOGETHER"] = 3] = "BUNDLE_RELATED_TYPE_BOUGHT_TOGETHER";
63
+ BundleRelatedType[BundleRelatedType["BUNDLE_RELATED_TYPE_POPULAR"] = 4] = "BUNDLE_RELATED_TYPE_POPULAR";
64
+ BundleRelatedType[BundleRelatedType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
65
+ })(BundleRelatedType || (exports.BundleRelatedType = BundleRelatedType = {}));
57
66
  exports.CATALOG_V1_PACKAGE_NAME = "catalog.v1";
58
67
  function BundleServiceControllerMethods() {
59
68
  return function (constructor) {
@@ -79,6 +88,9 @@ function BundleServiceControllerMethods() {
79
88
  "addCrossSellLink",
80
89
  "generateBundleCollage",
81
90
  "bulkLookupBundles",
91
+ "getBundleRelatedProducts",
92
+ "setBundleRelatedProducts",
93
+ "removeBundleRelatedProduct",
82
94
  ];
83
95
  for (const method of grpcMethods) {
84
96
  const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
@@ -35,6 +35,10 @@ service BundleService {
35
35
  rpc GenerateBundleCollage (GenerateBundleCollageRequest) returns (GenerateBundleCollageResponse);
36
36
 
37
37
  rpc BulkLookupBundles (BulkLookupBundlesRequest) returns (BulkLookupBundlesResponse);
38
+
39
+ rpc GetBundleRelatedProducts (GetBundleRelatedProductsRequest) returns (GetBundleRelatedProductsResponse);
40
+ rpc SetBundleRelatedProducts (SetBundleRelatedProductsRequest) returns (SuccessResponse);
41
+ rpc RemoveBundleRelatedProduct (RemoveBundleRelatedProductRequest) returns (SuccessResponse);
38
42
  }
39
43
 
40
44
 
@@ -216,6 +220,7 @@ message ApplyBundleRulesRequest {
216
220
  message GetBundlesByProductRequest {
217
221
  string product_id = 1;
218
222
  optional BundleStatus status = 2;
223
+ optional string placement = 3;
219
224
  }
220
225
 
221
226
  message BulkUpdateBundleStatusRequest {
@@ -390,3 +395,48 @@ message BundleLookupResult {
390
395
  message BulkLookupBundlesResponse {
391
396
  repeated BundleLookupResult results = 1;
392
397
  }
398
+
399
+ // ── Bundle Related Products ──────────────────────────────────────────────────
400
+
401
+ enum BundleRelatedType {
402
+ BUNDLE_RELATED_TYPE_UNSPECIFIED = 0;
403
+ BUNDLE_RELATED_TYPE_CROSS_SELL = 1;
404
+ BUNDLE_RELATED_TYPE_UP_SELL = 2;
405
+ BUNDLE_RELATED_TYPE_BOUGHT_TOGETHER = 3;
406
+ BUNDLE_RELATED_TYPE_POPULAR = 4;
407
+ }
408
+
409
+ message BundleRelatedItem {
410
+ string product_id = 1;
411
+ string sku = 2;
412
+ string slug = 3;
413
+ map<string, string> name = 4;
414
+ string main_image = 5;
415
+ double price = 6;
416
+ int32 total_stock = 7;
417
+ BundleRelatedType type = 8;
418
+ }
419
+
420
+ message GetBundleRelatedProductsRequest {
421
+ string bundle_id = 1;
422
+ optional BundleRelatedType type = 2;
423
+ }
424
+
425
+ message GetBundleRelatedProductsResponse {
426
+ repeated BundleRelatedItem cross_sell = 1;
427
+ repeated BundleRelatedItem up_sell = 2;
428
+ repeated BundleRelatedItem bought_together = 3;
429
+ repeated BundleRelatedItem popular = 4;
430
+ }
431
+
432
+ message SetBundleRelatedProductsRequest {
433
+ string bundle_id = 1;
434
+ BundleRelatedType type = 2;
435
+ repeated string related_product_ids = 3;
436
+ }
437
+
438
+ message RemoveBundleRelatedProductRequest {
439
+ string bundle_id = 1;
440
+ string related_product_id = 2;
441
+ BundleRelatedType type = 3;
442
+ }
package/gen/bundle.ts CHANGED
@@ -55,6 +55,15 @@ export enum RuleOperator {
55
55
  UNRECOGNIZED = -1,
56
56
  }
57
57
 
58
+ export enum BundleRelatedType {
59
+ BUNDLE_RELATED_TYPE_UNSPECIFIED = 0,
60
+ BUNDLE_RELATED_TYPE_CROSS_SELL = 1,
61
+ BUNDLE_RELATED_TYPE_UP_SELL = 2,
62
+ BUNDLE_RELATED_TYPE_BOUGHT_TOGETHER = 3,
63
+ BUNDLE_RELATED_TYPE_POPULAR = 4,
64
+ UNRECOGNIZED = -1,
65
+ }
66
+
58
67
  export interface GetBundlesRequest {
59
68
  pagination: PaginationRequest | undefined;
60
69
  search?: string | undefined;
@@ -226,6 +235,7 @@ export interface ApplyBundleRulesRequest {
226
235
  export interface GetBundlesByProductRequest {
227
236
  productId: string;
228
237
  status?: BundleStatus | undefined;
238
+ placement?: string | undefined;
229
239
  }
230
240
 
231
241
  export interface BulkUpdateBundleStatusRequest {
@@ -431,6 +441,46 @@ export interface BulkLookupBundlesResponse {
431
441
  results: BundleLookupResult[];
432
442
  }
433
443
 
444
+ export interface BundleRelatedItem {
445
+ productId: string;
446
+ sku: string;
447
+ slug: string;
448
+ name: { [key: string]: string };
449
+ mainImage: string;
450
+ price: number;
451
+ totalStock: number;
452
+ type: BundleRelatedType;
453
+ }
454
+
455
+ export interface BundleRelatedItem_NameEntry {
456
+ key: string;
457
+ value: string;
458
+ }
459
+
460
+ export interface GetBundleRelatedProductsRequest {
461
+ bundleId: string;
462
+ type?: BundleRelatedType | undefined;
463
+ }
464
+
465
+ export interface GetBundleRelatedProductsResponse {
466
+ crossSell: BundleRelatedItem[];
467
+ upSell: BundleRelatedItem[];
468
+ boughtTogether: BundleRelatedItem[];
469
+ popular: BundleRelatedItem[];
470
+ }
471
+
472
+ export interface SetBundleRelatedProductsRequest {
473
+ bundleId: string;
474
+ type: BundleRelatedType;
475
+ relatedProductIds: string[];
476
+ }
477
+
478
+ export interface RemoveBundleRelatedProductRequest {
479
+ bundleId: string;
480
+ relatedProductId: string;
481
+ type: BundleRelatedType;
482
+ }
483
+
434
484
  export const CATALOG_V1_PACKAGE_NAME = "catalog.v1";
435
485
 
436
486
  export interface BundleServiceClient {
@@ -475,6 +525,12 @@ export interface BundleServiceClient {
475
525
  generateBundleCollage(request: GenerateBundleCollageRequest): Observable<GenerateBundleCollageResponse>;
476
526
 
477
527
  bulkLookupBundles(request: BulkLookupBundlesRequest): Observable<BulkLookupBundlesResponse>;
528
+
529
+ getBundleRelatedProducts(request: GetBundleRelatedProductsRequest): Observable<GetBundleRelatedProductsResponse>;
530
+
531
+ setBundleRelatedProducts(request: SetBundleRelatedProductsRequest): Observable<SuccessResponse>;
532
+
533
+ removeBundleRelatedProduct(request: RemoveBundleRelatedProductRequest): Observable<SuccessResponse>;
478
534
  }
479
535
 
480
536
  export interface BundleServiceController {
@@ -559,6 +615,21 @@ export interface BundleServiceController {
559
615
  bulkLookupBundles(
560
616
  request: BulkLookupBundlesRequest,
561
617
  ): Promise<BulkLookupBundlesResponse> | Observable<BulkLookupBundlesResponse> | BulkLookupBundlesResponse;
618
+
619
+ getBundleRelatedProducts(
620
+ request: GetBundleRelatedProductsRequest,
621
+ ):
622
+ | Promise<GetBundleRelatedProductsResponse>
623
+ | Observable<GetBundleRelatedProductsResponse>
624
+ | GetBundleRelatedProductsResponse;
625
+
626
+ setBundleRelatedProducts(
627
+ request: SetBundleRelatedProductsRequest,
628
+ ): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
629
+
630
+ removeBundleRelatedProduct(
631
+ request: RemoveBundleRelatedProductRequest,
632
+ ): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
562
633
  }
563
634
 
564
635
  export function BundleServiceControllerMethods() {
@@ -585,6 +656,9 @@ export function BundleServiceControllerMethods() {
585
656
  "addCrossSellLink",
586
657
  "generateBundleCollage",
587
658
  "bulkLookupBundles",
659
+ "getBundleRelatedProducts",
660
+ "setBundleRelatedProducts",
661
+ "removeBundleRelatedProduct",
588
662
  ];
589
663
  for (const method of grpcMethods) {
590
664
  const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mamindom/contracts",
3
3
  "description": "proto",
4
- "version": "1.0.103",
4
+ "version": "1.0.105",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
7
7
  "exports": {
@@ -35,6 +35,10 @@ service BundleService {
35
35
  rpc GenerateBundleCollage (GenerateBundleCollageRequest) returns (GenerateBundleCollageResponse);
36
36
 
37
37
  rpc BulkLookupBundles (BulkLookupBundlesRequest) returns (BulkLookupBundlesResponse);
38
+
39
+ rpc GetBundleRelatedProducts (GetBundleRelatedProductsRequest) returns (GetBundleRelatedProductsResponse);
40
+ rpc SetBundleRelatedProducts (SetBundleRelatedProductsRequest) returns (SuccessResponse);
41
+ rpc RemoveBundleRelatedProduct (RemoveBundleRelatedProductRequest) returns (SuccessResponse);
38
42
  }
39
43
 
40
44
 
@@ -216,6 +220,7 @@ message ApplyBundleRulesRequest {
216
220
  message GetBundlesByProductRequest {
217
221
  string product_id = 1;
218
222
  optional BundleStatus status = 2;
223
+ optional string placement = 3;
219
224
  }
220
225
 
221
226
  message BulkUpdateBundleStatusRequest {
@@ -390,3 +395,48 @@ message BundleLookupResult {
390
395
  message BulkLookupBundlesResponse {
391
396
  repeated BundleLookupResult results = 1;
392
397
  }
398
+
399
+ // ── Bundle Related Products ──────────────────────────────────────────────────
400
+
401
+ enum BundleRelatedType {
402
+ BUNDLE_RELATED_TYPE_UNSPECIFIED = 0;
403
+ BUNDLE_RELATED_TYPE_CROSS_SELL = 1;
404
+ BUNDLE_RELATED_TYPE_UP_SELL = 2;
405
+ BUNDLE_RELATED_TYPE_BOUGHT_TOGETHER = 3;
406
+ BUNDLE_RELATED_TYPE_POPULAR = 4;
407
+ }
408
+
409
+ message BundleRelatedItem {
410
+ string product_id = 1;
411
+ string sku = 2;
412
+ string slug = 3;
413
+ map<string, string> name = 4;
414
+ string main_image = 5;
415
+ double price = 6;
416
+ int32 total_stock = 7;
417
+ BundleRelatedType type = 8;
418
+ }
419
+
420
+ message GetBundleRelatedProductsRequest {
421
+ string bundle_id = 1;
422
+ optional BundleRelatedType type = 2;
423
+ }
424
+
425
+ message GetBundleRelatedProductsResponse {
426
+ repeated BundleRelatedItem cross_sell = 1;
427
+ repeated BundleRelatedItem up_sell = 2;
428
+ repeated BundleRelatedItem bought_together = 3;
429
+ repeated BundleRelatedItem popular = 4;
430
+ }
431
+
432
+ message SetBundleRelatedProductsRequest {
433
+ string bundle_id = 1;
434
+ BundleRelatedType type = 2;
435
+ repeated string related_product_ids = 3;
436
+ }
437
+
438
+ message RemoveBundleRelatedProductRequest {
439
+ string bundle_id = 1;
440
+ string related_product_id = 2;
441
+ BundleRelatedType type = 3;
442
+ }