@mamindom/contracts 1.0.155 → 1.0.157

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.
@@ -81,18 +81,34 @@ export interface InvalidateCartSessionRequest {
81
81
  export interface InvalidateCartSessionResponse {
82
82
  success: boolean;
83
83
  }
84
+ export interface GetCustomerProfileRequest {
85
+ userId: string;
86
+ }
87
+ export interface GetCustomerProfileResponse {
88
+ found: boolean;
89
+ degraded: boolean;
90
+ planfixContactId: string;
91
+ bonusBalance: number;
92
+ cashbackActive: number;
93
+ cashbackInactive: number;
94
+ cashbackTotal: number;
95
+ cashbackBurned: number;
96
+ cashbackNegative: number;
97
+ }
84
98
  export declare const CRM_V1_PACKAGE_NAME = "crm.v1";
85
99
  export interface CrmCalculationServiceClient {
86
100
  calculateCart(request: CalculateCartRequest): Observable<CalculateCartResponse>;
87
101
  invalidateCartSession(request: InvalidateCartSessionRequest): Observable<InvalidateCartSessionResponse>;
88
102
  reserveBonuses(request: ReserveBonusesRequest): Observable<ReserveBonusesResponse>;
89
103
  releaseBonusReserve(request: ReleaseBonusReserveRequest): Observable<ReleaseBonusReserveResponse>;
104
+ getCustomerProfile(request: GetCustomerProfileRequest): Observable<GetCustomerProfileResponse>;
90
105
  }
91
106
  export interface CrmCalculationServiceController {
92
107
  calculateCart(request: CalculateCartRequest): Promise<CalculateCartResponse> | Observable<CalculateCartResponse> | CalculateCartResponse;
93
108
  invalidateCartSession(request: InvalidateCartSessionRequest): Promise<InvalidateCartSessionResponse> | Observable<InvalidateCartSessionResponse> | InvalidateCartSessionResponse;
94
109
  reserveBonuses(request: ReserveBonusesRequest): Promise<ReserveBonusesResponse> | Observable<ReserveBonusesResponse> | ReserveBonusesResponse;
95
110
  releaseBonusReserve(request: ReleaseBonusReserveRequest): Promise<ReleaseBonusReserveResponse> | Observable<ReleaseBonusReserveResponse> | ReleaseBonusReserveResponse;
111
+ getCustomerProfile(request: GetCustomerProfileRequest): Promise<GetCustomerProfileResponse> | Observable<GetCustomerProfileResponse> | GetCustomerProfileResponse;
96
112
  }
97
113
  export declare function CrmCalculationServiceControllerMethods(): (constructor: Function) => void;
98
114
  export declare const CRM_CALCULATION_SERVICE_NAME = "CrmCalculationService";
@@ -13,7 +13,13 @@ exports.protobufPackage = "crm.v1";
13
13
  exports.CRM_V1_PACKAGE_NAME = "crm.v1";
14
14
  function CrmCalculationServiceControllerMethods() {
15
15
  return function (constructor) {
16
- const grpcMethods = ["calculateCart", "invalidateCartSession", "reserveBonuses", "releaseBonusReserve"];
16
+ const grpcMethods = [
17
+ "calculateCart",
18
+ "invalidateCartSession",
19
+ "reserveBonuses",
20
+ "releaseBonusReserve",
21
+ "getCustomerProfile",
22
+ ];
17
23
  for (const method of grpcMethods) {
18
24
  const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
19
25
  (0, microservices_1.GrpcMethod)("CrmCalculationService", method)(constructor.prototype[method], method, descriptor);
@@ -1,5 +1,72 @@
1
1
  import { Observable } from "rxjs";
2
2
  export declare const protobufPackage = "order.v1";
3
+ export interface GetStatsRequest {
4
+ dateFrom: number;
5
+ dateTo: number;
6
+ prevFrom: number;
7
+ prevTo: number;
8
+ managerId: string;
9
+ includeManagers: boolean;
10
+ }
11
+ export interface StatsKpi {
12
+ revenue: string;
13
+ orders: number;
14
+ avgCheck: string;
15
+ itemsPerOrder: number;
16
+ prevRevenue: string;
17
+ prevOrders: number;
18
+ }
19
+ export interface StatsStatus {
20
+ status: string;
21
+ count: number;
22
+ }
23
+ export interface StatsDayPoint {
24
+ day: string;
25
+ value: string;
26
+ }
27
+ export interface StatsProduct {
28
+ productId: string;
29
+ name: string;
30
+ sku: string;
31
+ sold: number;
32
+ revenue: string;
33
+ }
34
+ export interface StatsChannel {
35
+ source: string;
36
+ orders: number;
37
+ revenue: string;
38
+ }
39
+ export interface StatsReason {
40
+ reason: string;
41
+ count: number;
42
+ }
43
+ export interface StatsReturns {
44
+ count: number;
45
+ total: string;
46
+ }
47
+ export interface StatsOverdue {
48
+ key: string;
49
+ count: number;
50
+ }
51
+ export interface StatsManager {
52
+ managerId: string;
53
+ name: string;
54
+ orders: number;
55
+ confirmed: number;
56
+ conversion: number;
57
+ revenue: string;
58
+ }
59
+ export interface GetStatsResponse {
60
+ kpi: StatsKpi | undefined;
61
+ statuses: StatsStatus[];
62
+ revenueByDay: StatsDayPoint[];
63
+ topProducts: StatsProduct[];
64
+ channels: StatsChannel[];
65
+ cancellations: StatsReason[];
66
+ returns: StatsReturns | undefined;
67
+ overdue: StatsOverdue[];
68
+ managers: StatsManager[];
69
+ }
3
70
  export interface AggregateByCustomersRequest {
4
71
  userIds: string[];
5
72
  }
@@ -300,6 +367,7 @@ export interface OrderServiceClient {
300
367
  reorderOrder(request: ReorderOrderRequest): Observable<ReorderResponse>;
301
368
  listHistory(request: ListHistoryRequest): Observable<ListHistoryResponse>;
302
369
  aggregateByCustomers(request: AggregateByCustomersRequest): Observable<AggregateByCustomersResponse>;
370
+ getStats(request: GetStatsRequest): Observable<GetStatsResponse>;
303
371
  }
304
372
  export interface OrderServiceController {
305
373
  createOrder(request: CreateOrderRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
@@ -323,6 +391,7 @@ export interface OrderServiceController {
323
391
  reorderOrder(request: ReorderOrderRequest): Promise<ReorderResponse> | Observable<ReorderResponse> | ReorderResponse;
324
392
  listHistory(request: ListHistoryRequest): Promise<ListHistoryResponse> | Observable<ListHistoryResponse> | ListHistoryResponse;
325
393
  aggregateByCustomers(request: AggregateByCustomersRequest): Promise<AggregateByCustomersResponse> | Observable<AggregateByCustomersResponse> | AggregateByCustomersResponse;
394
+ getStats(request: GetStatsRequest): Promise<GetStatsResponse> | Observable<GetStatsResponse> | GetStatsResponse;
326
395
  }
327
396
  export declare function OrderServiceControllerMethods(): (constructor: Function) => void;
328
397
  export declare const ORDER_SERVICE_NAME = "OrderService";
package/dist/gen/order.js CHANGED
@@ -35,6 +35,7 @@ function OrderServiceControllerMethods() {
35
35
  "reorderOrder",
36
36
  "listHistory",
37
37
  "aggregateByCustomers",
38
+ "getStats",
38
39
  ];
39
40
  for (const method of grpcMethods) {
40
41
  const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
@@ -12,6 +12,9 @@ service CrmCalculationService {
12
12
 
13
13
  rpc ReserveBonuses(ReserveBonusesRequest) returns (ReserveBonusesResponse);
14
14
  rpc ReleaseBonusReserve(ReleaseBonusReserveRequest) returns (ReleaseBonusReserveResponse);
15
+
16
+
17
+ rpc GetCustomerProfile(GetCustomerProfileRequest) returns (GetCustomerProfileResponse);
15
18
  }
16
19
 
17
20
  message CrmCalculationItem {
@@ -120,3 +123,22 @@ message InvalidateCartSessionRequest {
120
123
  message InvalidateCartSessionResponse {
121
124
  bool success = 1;
122
125
  }
126
+
127
+ message GetCustomerProfileRequest {
128
+ string user_id = 1;
129
+ }
130
+
131
+ message GetCustomerProfileResponse {
132
+
133
+ bool found = 1;
134
+
135
+ bool degraded = 2;
136
+ string planfix_contact_id = 3;
137
+
138
+ double bonus_balance = 4;
139
+ double cashback_active = 5;
140
+ double cashback_inactive = 6;
141
+ double cashback_total = 7;
142
+ double cashback_burned = 8;
143
+ double cashback_negative = 9;
144
+ }
@@ -37,6 +37,86 @@ service OrderService {
37
37
 
38
38
 
39
39
  rpc AggregateByCustomers(AggregateByCustomersRequest) returns (AggregateByCustomersResponse);
40
+
41
+ rpc GetStats(GetStatsRequest) returns (GetStatsResponse);
42
+ }
43
+
44
+ message GetStatsRequest {
45
+ int64 date_from = 1;
46
+ int64 date_to = 2;
47
+ int64 prev_from = 3;
48
+ int64 prev_to = 4;
49
+ string manager_id = 5;
50
+ bool include_managers = 6;
51
+ }
52
+
53
+ message StatsKpi {
54
+ string revenue = 1;
55
+ int32 orders = 2;
56
+ string avg_check = 3;
57
+ double items_per_order = 4;
58
+ string prev_revenue = 5;
59
+ int32 prev_orders = 6;
60
+ }
61
+
62
+ message StatsStatus {
63
+ string status = 1;
64
+ int32 count = 2;
65
+ }
66
+
67
+ message StatsDayPoint {
68
+ string day = 1;
69
+ string value = 2;
70
+ }
71
+
72
+ message StatsProduct {
73
+ string product_id = 1;
74
+ string name = 2;
75
+ string sku = 3;
76
+ int32 sold = 4;
77
+ string revenue = 5;
78
+ }
79
+
80
+ message StatsChannel {
81
+ string source = 1;
82
+ int32 orders = 2;
83
+ string revenue = 3;
84
+ }
85
+
86
+ message StatsReason {
87
+ string reason = 1;
88
+ int32 count = 2;
89
+ }
90
+
91
+ message StatsReturns {
92
+ int32 count = 1;
93
+ string total = 2;
94
+ }
95
+
96
+ message StatsOverdue {
97
+ string key = 1;
98
+ int32 count = 2;
99
+ }
100
+
101
+ message StatsManager {
102
+ string manager_id = 1;
103
+ string name = 2;
104
+ int32 orders = 3;
105
+ int32 confirmed = 4;
106
+ double conversion = 5;
107
+ string revenue = 6;
108
+ }
109
+
110
+ message GetStatsResponse {
111
+ StatsKpi kpi = 1;
112
+ repeated StatsStatus statuses = 2;
113
+ repeated StatsDayPoint revenue_by_day = 3;
114
+ repeated StatsProduct top_products = 4;
115
+ repeated StatsChannel channels = 5;
116
+ repeated StatsReason cancellations = 6;
117
+ StatsReturns returns = 7;
118
+ repeated StatsOverdue overdue = 8;
119
+ repeated StatsManager managers = 9;
40
120
  }
41
121
 
42
122
  message AggregateByCustomersRequest {
@@ -103,6 +103,22 @@ export interface InvalidateCartSessionResponse {
103
103
  success: boolean;
104
104
  }
105
105
 
106
+ export interface GetCustomerProfileRequest {
107
+ userId: string;
108
+ }
109
+
110
+ export interface GetCustomerProfileResponse {
111
+ found: boolean;
112
+ degraded: boolean;
113
+ planfixContactId: string;
114
+ bonusBalance: number;
115
+ cashbackActive: number;
116
+ cashbackInactive: number;
117
+ cashbackTotal: number;
118
+ cashbackBurned: number;
119
+ cashbackNegative: number;
120
+ }
121
+
106
122
  export const CRM_V1_PACKAGE_NAME = "crm.v1";
107
123
 
108
124
  export interface CrmCalculationServiceClient {
@@ -113,6 +129,8 @@ export interface CrmCalculationServiceClient {
113
129
  reserveBonuses(request: ReserveBonusesRequest): Observable<ReserveBonusesResponse>;
114
130
 
115
131
  releaseBonusReserve(request: ReleaseBonusReserveRequest): Observable<ReleaseBonusReserveResponse>;
132
+
133
+ getCustomerProfile(request: GetCustomerProfileRequest): Observable<GetCustomerProfileResponse>;
116
134
  }
117
135
 
118
136
  export interface CrmCalculationServiceController {
@@ -131,11 +149,21 @@ export interface CrmCalculationServiceController {
131
149
  releaseBonusReserve(
132
150
  request: ReleaseBonusReserveRequest,
133
151
  ): Promise<ReleaseBonusReserveResponse> | Observable<ReleaseBonusReserveResponse> | ReleaseBonusReserveResponse;
152
+
153
+ getCustomerProfile(
154
+ request: GetCustomerProfileRequest,
155
+ ): Promise<GetCustomerProfileResponse> | Observable<GetCustomerProfileResponse> | GetCustomerProfileResponse;
134
156
  }
135
157
 
136
158
  export function CrmCalculationServiceControllerMethods() {
137
159
  return function (constructor: Function) {
138
- const grpcMethods: string[] = ["calculateCart", "invalidateCartSession", "reserveBonuses", "releaseBonusReserve"];
160
+ const grpcMethods: string[] = [
161
+ "calculateCart",
162
+ "invalidateCartSession",
163
+ "reserveBonuses",
164
+ "releaseBonusReserve",
165
+ "getCustomerProfile",
166
+ ];
139
167
  for (const method of grpcMethods) {
140
168
  const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
141
169
  GrpcMethod("CrmCalculationService", method)(constructor.prototype[method], method, descriptor);
package/gen/order.ts CHANGED
@@ -10,6 +10,84 @@ import { Observable } from "rxjs";
10
10
 
11
11
  export const protobufPackage = "order.v1";
12
12
 
13
+ export interface GetStatsRequest {
14
+ dateFrom: number;
15
+ dateTo: number;
16
+ prevFrom: number;
17
+ prevTo: number;
18
+ managerId: string;
19
+ includeManagers: boolean;
20
+ }
21
+
22
+ export interface StatsKpi {
23
+ revenue: string;
24
+ orders: number;
25
+ avgCheck: string;
26
+ itemsPerOrder: number;
27
+ prevRevenue: string;
28
+ prevOrders: number;
29
+ }
30
+
31
+ export interface StatsStatus {
32
+ status: string;
33
+ count: number;
34
+ }
35
+
36
+ export interface StatsDayPoint {
37
+ day: string;
38
+ value: string;
39
+ }
40
+
41
+ export interface StatsProduct {
42
+ productId: string;
43
+ name: string;
44
+ sku: string;
45
+ sold: number;
46
+ revenue: string;
47
+ }
48
+
49
+ export interface StatsChannel {
50
+ source: string;
51
+ orders: number;
52
+ revenue: string;
53
+ }
54
+
55
+ export interface StatsReason {
56
+ reason: string;
57
+ count: number;
58
+ }
59
+
60
+ export interface StatsReturns {
61
+ count: number;
62
+ total: string;
63
+ }
64
+
65
+ export interface StatsOverdue {
66
+ key: string;
67
+ count: number;
68
+ }
69
+
70
+ export interface StatsManager {
71
+ managerId: string;
72
+ name: string;
73
+ orders: number;
74
+ confirmed: number;
75
+ conversion: number;
76
+ revenue: string;
77
+ }
78
+
79
+ export interface GetStatsResponse {
80
+ kpi: StatsKpi | undefined;
81
+ statuses: StatsStatus[];
82
+ revenueByDay: StatsDayPoint[];
83
+ topProducts: StatsProduct[];
84
+ channels: StatsChannel[];
85
+ cancellations: StatsReason[];
86
+ returns: StatsReturns | undefined;
87
+ overdue: StatsOverdue[];
88
+ managers: StatsManager[];
89
+ }
90
+
13
91
  export interface AggregateByCustomersRequest {
14
92
  userIds: string[];
15
93
  }
@@ -369,6 +447,8 @@ export interface OrderServiceClient {
369
447
  listHistory(request: ListHistoryRequest): Observable<ListHistoryResponse>;
370
448
 
371
449
  aggregateByCustomers(request: AggregateByCustomersRequest): Observable<AggregateByCustomersResponse>;
450
+
451
+ getStats(request: GetStatsRequest): Observable<GetStatsResponse>;
372
452
  }
373
453
 
374
454
  export interface OrderServiceController {
@@ -427,6 +507,8 @@ export interface OrderServiceController {
427
507
  aggregateByCustomers(
428
508
  request: AggregateByCustomersRequest,
429
509
  ): Promise<AggregateByCustomersResponse> | Observable<AggregateByCustomersResponse> | AggregateByCustomersResponse;
510
+
511
+ getStats(request: GetStatsRequest): Promise<GetStatsResponse> | Observable<GetStatsResponse> | GetStatsResponse;
430
512
  }
431
513
 
432
514
  export function OrderServiceControllerMethods() {
@@ -453,6 +535,7 @@ export function OrderServiceControllerMethods() {
453
535
  "reorderOrder",
454
536
  "listHistory",
455
537
  "aggregateByCustomers",
538
+ "getStats",
456
539
  ];
457
540
  for (const method of grpcMethods) {
458
541
  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.155",
4
+ "version": "1.0.157",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
7
7
  "exports": {
@@ -12,6 +12,9 @@ service CrmCalculationService {
12
12
 
13
13
  rpc ReserveBonuses(ReserveBonusesRequest) returns (ReserveBonusesResponse);
14
14
  rpc ReleaseBonusReserve(ReleaseBonusReserveRequest) returns (ReleaseBonusReserveResponse);
15
+
16
+
17
+ rpc GetCustomerProfile(GetCustomerProfileRequest) returns (GetCustomerProfileResponse);
15
18
  }
16
19
 
17
20
  message CrmCalculationItem {
@@ -120,3 +123,22 @@ message InvalidateCartSessionRequest {
120
123
  message InvalidateCartSessionResponse {
121
124
  bool success = 1;
122
125
  }
126
+
127
+ message GetCustomerProfileRequest {
128
+ string user_id = 1;
129
+ }
130
+
131
+ message GetCustomerProfileResponse {
132
+
133
+ bool found = 1;
134
+
135
+ bool degraded = 2;
136
+ string planfix_contact_id = 3;
137
+
138
+ double bonus_balance = 4;
139
+ double cashback_active = 5;
140
+ double cashback_inactive = 6;
141
+ double cashback_total = 7;
142
+ double cashback_burned = 8;
143
+ double cashback_negative = 9;
144
+ }
package/proto/order.proto CHANGED
@@ -37,6 +37,86 @@ service OrderService {
37
37
 
38
38
 
39
39
  rpc AggregateByCustomers(AggregateByCustomersRequest) returns (AggregateByCustomersResponse);
40
+
41
+ rpc GetStats(GetStatsRequest) returns (GetStatsResponse);
42
+ }
43
+
44
+ message GetStatsRequest {
45
+ int64 date_from = 1;
46
+ int64 date_to = 2;
47
+ int64 prev_from = 3;
48
+ int64 prev_to = 4;
49
+ string manager_id = 5;
50
+ bool include_managers = 6;
51
+ }
52
+
53
+ message StatsKpi {
54
+ string revenue = 1;
55
+ int32 orders = 2;
56
+ string avg_check = 3;
57
+ double items_per_order = 4;
58
+ string prev_revenue = 5;
59
+ int32 prev_orders = 6;
60
+ }
61
+
62
+ message StatsStatus {
63
+ string status = 1;
64
+ int32 count = 2;
65
+ }
66
+
67
+ message StatsDayPoint {
68
+ string day = 1;
69
+ string value = 2;
70
+ }
71
+
72
+ message StatsProduct {
73
+ string product_id = 1;
74
+ string name = 2;
75
+ string sku = 3;
76
+ int32 sold = 4;
77
+ string revenue = 5;
78
+ }
79
+
80
+ message StatsChannel {
81
+ string source = 1;
82
+ int32 orders = 2;
83
+ string revenue = 3;
84
+ }
85
+
86
+ message StatsReason {
87
+ string reason = 1;
88
+ int32 count = 2;
89
+ }
90
+
91
+ message StatsReturns {
92
+ int32 count = 1;
93
+ string total = 2;
94
+ }
95
+
96
+ message StatsOverdue {
97
+ string key = 1;
98
+ int32 count = 2;
99
+ }
100
+
101
+ message StatsManager {
102
+ string manager_id = 1;
103
+ string name = 2;
104
+ int32 orders = 3;
105
+ int32 confirmed = 4;
106
+ double conversion = 5;
107
+ string revenue = 6;
108
+ }
109
+
110
+ message GetStatsResponse {
111
+ StatsKpi kpi = 1;
112
+ repeated StatsStatus statuses = 2;
113
+ repeated StatsDayPoint revenue_by_day = 3;
114
+ repeated StatsProduct top_products = 4;
115
+ repeated StatsChannel channels = 5;
116
+ repeated StatsReason cancellations = 6;
117
+ StatsReturns returns = 7;
118
+ repeated StatsOverdue overdue = 8;
119
+ repeated StatsManager managers = 9;
40
120
  }
41
121
 
42
122
  message AggregateByCustomersRequest {