@mamindom/contracts 1.0.36 → 1.0.37

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.
@@ -1,10 +1,18 @@
1
1
  import { Observable } from "rxjs";
2
2
  export declare const protobufPackage = "users.v1";
3
+ export declare enum DeliveryType {
4
+ NOVA_POSHTA = 0,
5
+ UKRPOSHTA = 1,
6
+ COURIER = 2,
7
+ PICKUP = 3,
8
+ UNRECOGNIZED = -1
9
+ }
3
10
  export interface GetMeRequest {
4
11
  id: string;
5
12
  }
6
13
  export interface GetMeResponse {
7
14
  user: User | undefined;
15
+ notificationSettings: NotificationSettings | undefined;
8
16
  }
9
17
  export interface CreateUserRequest {
10
18
  id: string;
@@ -32,16 +40,152 @@ export interface User {
32
40
  email?: string | undefined;
33
41
  phone?: string | undefined;
34
42
  }
43
+ export interface NotificationSettings {
44
+ orderStatuses: boolean;
45
+ promotions: boolean;
46
+ newInCategory: boolean;
47
+ restockReminders: boolean;
48
+ }
49
+ export interface UpdateNotificationSettingsRequest {
50
+ userId: string;
51
+ orderStatuses?: boolean | undefined;
52
+ promotions?: boolean | undefined;
53
+ newInCategory?: boolean | undefined;
54
+ restockReminders?: boolean | undefined;
55
+ }
56
+ export interface UpdateNotificationSettingsResponse {
57
+ settings: NotificationSettings | undefined;
58
+ }
59
+ export interface Address {
60
+ id: string;
61
+ type: DeliveryType;
62
+ city?: string | undefined;
63
+ street?: string | undefined;
64
+ building?: string | undefined;
65
+ apartment?: string | undefined;
66
+ deliveryRef?: string | undefined;
67
+ isDefault: boolean;
68
+ }
69
+ export interface GetAddressesRequest {
70
+ userId: string;
71
+ }
72
+ export interface GetAddressesResponse {
73
+ addresses: Address[];
74
+ }
75
+ export interface AddAddressRequest {
76
+ userId: string;
77
+ type: DeliveryType;
78
+ city?: string | undefined;
79
+ street?: string | undefined;
80
+ building?: string | undefined;
81
+ apartment?: string | undefined;
82
+ deliveryRef?: string | undefined;
83
+ isDefault: boolean;
84
+ }
85
+ export interface UpdateAddressRequest {
86
+ id: string;
87
+ userId: string;
88
+ type?: DeliveryType | undefined;
89
+ city?: string | undefined;
90
+ street?: string | undefined;
91
+ building?: string | undefined;
92
+ apartment?: string | undefined;
93
+ deliveryRef?: string | undefined;
94
+ }
95
+ export interface AddressResponse {
96
+ address: Address | undefined;
97
+ }
98
+ export interface DeleteAddressRequest {
99
+ id: string;
100
+ userId: string;
101
+ }
102
+ export interface DeleteAddressResponse {
103
+ ok: boolean;
104
+ }
105
+ export interface SetDefaultAddressRequest {
106
+ id: string;
107
+ userId: string;
108
+ }
109
+ export interface GetWishlistRequest {
110
+ userId: string;
111
+ }
112
+ export interface GetWishlistResponse {
113
+ productIds: string[];
114
+ }
115
+ export interface ToggleWishlistItemRequest {
116
+ userId: string;
117
+ productId: string;
118
+ }
119
+ export interface ToggleWishlistItemResponse {
120
+ isAdded: boolean;
121
+ }
122
+ export interface RecordProductViewRequest {
123
+ userId: string;
124
+ productId: string;
125
+ }
126
+ export interface RecordProductViewResponse {
127
+ ok: boolean;
128
+ }
129
+ export interface GetViewedProductsRequest {
130
+ userId: string;
131
+ }
132
+ export interface GetViewedProductsResponse {
133
+ productIds: string[];
134
+ }
135
+ export interface ClearViewedHistoryRequest {
136
+ userId: string;
137
+ }
138
+ export interface ClearViewedHistoryResponse {
139
+ ok: boolean;
140
+ }
141
+ export interface ExportUserDataRequest {
142
+ userId: string;
143
+ }
144
+ export interface ExportUserDataResponse {
145
+ jsonData: string;
146
+ }
147
+ export interface DeleteAccountRequest {
148
+ userId: string;
149
+ }
150
+ export interface DeleteAccountResponse {
151
+ ok: boolean;
152
+ }
35
153
  export declare const USERS_V1_PACKAGE_NAME = "users.v1";
36
154
  export interface UsersServiceClient {
37
155
  getMe(request: GetMeRequest): Observable<GetMeResponse>;
38
156
  createUser(request: CreateUserRequest): Observable<CreateUserResponse>;
39
157
  updateUser(request: UpdateUserRequest): Observable<UpdateUserResponse>;
158
+ updateNotificationSettings(request: UpdateNotificationSettingsRequest): Observable<UpdateNotificationSettingsResponse>;
159
+ getAddresses(request: GetAddressesRequest): Observable<GetAddressesResponse>;
160
+ addAddress(request: AddAddressRequest): Observable<AddressResponse>;
161
+ updateAddress(request: UpdateAddressRequest): Observable<AddressResponse>;
162
+ deleteAddress(request: DeleteAddressRequest): Observable<DeleteAddressResponse>;
163
+ setDefaultAddress(request: SetDefaultAddressRequest): Observable<AddressResponse>;
164
+ getWishlist(request: GetWishlistRequest): Observable<GetWishlistResponse>;
165
+ toggleWishlistItem(request: ToggleWishlistItemRequest): Observable<ToggleWishlistItemResponse>;
166
+ recordProductView(request: RecordProductViewRequest): Observable<RecordProductViewResponse>;
167
+ getViewedProducts(request: GetViewedProductsRequest): Observable<GetViewedProductsResponse>;
168
+ clearViewedHistory(request: ClearViewedHistoryRequest): Observable<ClearViewedHistoryResponse>;
169
+ exportUserData(request: ExportUserDataRequest): Observable<ExportUserDataResponse>;
170
+ deleteAccount(request: DeleteAccountRequest): Observable<DeleteAccountResponse>;
40
171
  }
41
172
  export interface UsersServiceController {
42
173
  getMe(request: GetMeRequest): Promise<GetMeResponse> | Observable<GetMeResponse> | GetMeResponse;
43
174
  createUser(request: CreateUserRequest): Promise<CreateUserResponse> | Observable<CreateUserResponse> | CreateUserResponse;
44
175
  updateUser(request: UpdateUserRequest): Promise<UpdateUserResponse> | Observable<UpdateUserResponse> | UpdateUserResponse;
176
+ updateNotificationSettings(request: UpdateNotificationSettingsRequest): Promise<UpdateNotificationSettingsResponse> | Observable<UpdateNotificationSettingsResponse> | UpdateNotificationSettingsResponse;
177
+ getAddresses(request: GetAddressesRequest): Promise<GetAddressesResponse> | Observable<GetAddressesResponse> | GetAddressesResponse;
178
+ addAddress(request: AddAddressRequest): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
179
+ updateAddress(request: UpdateAddressRequest): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
180
+ deleteAddress(request: DeleteAddressRequest): Promise<DeleteAddressResponse> | Observable<DeleteAddressResponse> | DeleteAddressResponse;
181
+ setDefaultAddress(request: SetDefaultAddressRequest): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
182
+ getWishlist(request: GetWishlistRequest): Promise<GetWishlistResponse> | Observable<GetWishlistResponse> | GetWishlistResponse;
183
+ toggleWishlistItem(request: ToggleWishlistItemRequest): Promise<ToggleWishlistItemResponse> | Observable<ToggleWishlistItemResponse> | ToggleWishlistItemResponse;
184
+ recordProductView(request: RecordProductViewRequest): Promise<RecordProductViewResponse> | Observable<RecordProductViewResponse> | RecordProductViewResponse;
185
+ getViewedProducts(request: GetViewedProductsRequest): Promise<GetViewedProductsResponse> | Observable<GetViewedProductsResponse> | GetViewedProductsResponse;
186
+ clearViewedHistory(request: ClearViewedHistoryRequest): Promise<ClearViewedHistoryResponse> | Observable<ClearViewedHistoryResponse> | ClearViewedHistoryResponse;
187
+ exportUserData(request: ExportUserDataRequest): Promise<ExportUserDataResponse> | Observable<ExportUserDataResponse> | ExportUserDataResponse;
188
+ deleteAccount(request: DeleteAccountRequest): Promise<DeleteAccountResponse> | Observable<DeleteAccountResponse> | DeleteAccountResponse;
45
189
  }
46
190
  export declare function UsersServiceControllerMethods(): (constructor: Function) => void;
47
191
  export declare const USERS_SERVICE_NAME = "UsersService";
package/dist/gen/users.js CHANGED
@@ -5,15 +5,40 @@
5
5
  // protoc v3.21.12
6
6
  // source: users.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.USERS_SERVICE_NAME = exports.USERS_V1_PACKAGE_NAME = exports.protobufPackage = void 0;
8
+ exports.USERS_SERVICE_NAME = exports.USERS_V1_PACKAGE_NAME = exports.DeliveryType = exports.protobufPackage = void 0;
9
9
  exports.UsersServiceControllerMethods = UsersServiceControllerMethods;
10
10
  /* eslint-disable */
11
11
  const microservices_1 = require("@nestjs/microservices");
12
12
  exports.protobufPackage = "users.v1";
13
+ var DeliveryType;
14
+ (function (DeliveryType) {
15
+ DeliveryType[DeliveryType["NOVA_POSHTA"] = 0] = "NOVA_POSHTA";
16
+ DeliveryType[DeliveryType["UKRPOSHTA"] = 1] = "UKRPOSHTA";
17
+ DeliveryType[DeliveryType["COURIER"] = 2] = "COURIER";
18
+ DeliveryType[DeliveryType["PICKUP"] = 3] = "PICKUP";
19
+ DeliveryType[DeliveryType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
20
+ })(DeliveryType || (exports.DeliveryType = DeliveryType = {}));
13
21
  exports.USERS_V1_PACKAGE_NAME = "users.v1";
14
22
  function UsersServiceControllerMethods() {
15
23
  return function (constructor) {
16
- const grpcMethods = ["getMe", "createUser", "updateUser"];
24
+ const grpcMethods = [
25
+ "getMe",
26
+ "createUser",
27
+ "updateUser",
28
+ "updateNotificationSettings",
29
+ "getAddresses",
30
+ "addAddress",
31
+ "updateAddress",
32
+ "deleteAddress",
33
+ "setDefaultAddress",
34
+ "getWishlist",
35
+ "toggleWishlistItem",
36
+ "recordProductView",
37
+ "getViewedProducts",
38
+ "clearViewedHistory",
39
+ "exportUserData",
40
+ "deleteAccount",
41
+ ];
17
42
  for (const method of grpcMethods) {
18
43
  const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
19
44
  (0, microservices_1.GrpcMethod)("UsersService", method)(constructor.prototype[method], method, descriptor);
@@ -3,9 +3,33 @@ syntax = "proto3";
3
3
  package users.v1;
4
4
 
5
5
  service UsersService {
6
+
6
7
  rpc GetMe(GetMeRequest) returns (GetMeResponse);
7
8
  rpc CreateUser(CreateUserRequest) returns (CreateUserResponse);
8
9
  rpc UpdateUser(UpdateUserRequest) returns (UpdateUserResponse);
10
+
11
+
12
+ rpc UpdateNotificationSettings(UpdateNotificationSettingsRequest) returns (UpdateNotificationSettingsResponse);
13
+
14
+
15
+ rpc GetAddresses(GetAddressesRequest) returns (GetAddressesResponse);
16
+ rpc AddAddress(AddAddressRequest) returns (AddressResponse);
17
+ rpc UpdateAddress(UpdateAddressRequest) returns (AddressResponse);
18
+ rpc DeleteAddress(DeleteAddressRequest) returns (DeleteAddressResponse);
19
+ rpc SetDefaultAddress(SetDefaultAddressRequest) returns (AddressResponse);
20
+
21
+
22
+ rpc GetWishlist(GetWishlistRequest) returns (GetWishlistResponse);
23
+ rpc ToggleWishlistItem(ToggleWishlistItemRequest) returns (ToggleWishlistItemResponse);
24
+
25
+
26
+ rpc RecordProductView(RecordProductViewRequest) returns (RecordProductViewResponse);
27
+ rpc GetViewedProducts(GetViewedProductsRequest) returns (GetViewedProductsResponse);
28
+ rpc ClearViewedHistory(ClearViewedHistoryRequest) returns (ClearViewedHistoryResponse);
29
+
30
+
31
+ rpc ExportUserData(ExportUserDataRequest) returns (ExportUserDataResponse);
32
+ rpc DeleteAccount(DeleteAccountRequest) returns (DeleteAccountResponse);
9
33
  }
10
34
 
11
35
  message GetMeRequest {
@@ -14,6 +38,7 @@ message GetMeRequest {
14
38
 
15
39
  message GetMeResponse {
16
40
  User user = 1;
41
+ NotificationSettings notification_settings = 2;
17
42
  }
18
43
 
19
44
  message CreateUserRequest {
@@ -45,4 +70,147 @@ message User {
45
70
  int32 bonuses = 4;
46
71
  optional string email = 5;
47
72
  optional string phone = 6;
73
+ }
74
+
75
+ message NotificationSettings {
76
+ bool order_statuses = 1;
77
+ bool promotions = 2;
78
+ bool new_in_category = 3;
79
+ bool restock_reminders = 4;
80
+ }
81
+
82
+ message UpdateNotificationSettingsRequest {
83
+ string user_id = 1;
84
+ optional bool order_statuses = 2;
85
+ optional bool promotions = 3;
86
+ optional bool new_in_category = 4;
87
+ optional bool restock_reminders = 5;
88
+ }
89
+
90
+ message UpdateNotificationSettingsResponse {
91
+ NotificationSettings settings = 1;
92
+ }
93
+
94
+ enum DeliveryType {
95
+ NOVA_POSHTA = 0;
96
+ UKRPOSHTA = 1;
97
+ COURIER = 2;
98
+ PICKUP = 3;
99
+ }
100
+
101
+ message Address {
102
+ string id = 1;
103
+ DeliveryType type = 2;
104
+ optional string city = 3;
105
+ optional string street = 4;
106
+ optional string building = 5;
107
+ optional string apartment = 6;
108
+ optional string delivery_ref = 7;
109
+ bool is_default = 8;
110
+ }
111
+
112
+ message GetAddressesRequest {
113
+ string user_id = 1;
114
+ }
115
+
116
+ message GetAddressesResponse {
117
+ repeated Address addresses = 1;
118
+ }
119
+
120
+ message AddAddressRequest {
121
+ string user_id = 1;
122
+ DeliveryType type = 2;
123
+ optional string city = 3;
124
+ optional string street = 4;
125
+ optional string building = 5;
126
+ optional string apartment = 6;
127
+ optional string delivery_ref = 7;
128
+ bool is_default = 8;
129
+ }
130
+
131
+ message UpdateAddressRequest {
132
+ string id = 1;
133
+ string user_id = 2;
134
+ optional DeliveryType type = 3;
135
+ optional string city = 4;
136
+ optional string street = 5;
137
+ optional string building = 6;
138
+ optional string apartment = 7;
139
+ optional string delivery_ref = 8;
140
+ }
141
+
142
+ message AddressResponse {
143
+ Address address = 1;
144
+ }
145
+
146
+ message DeleteAddressRequest {
147
+ string id = 1;
148
+ string user_id = 2;
149
+ }
150
+
151
+ message DeleteAddressResponse {
152
+ bool ok = 1;
153
+ }
154
+
155
+ message SetDefaultAddressRequest {
156
+ string id = 1;
157
+ string user_id = 2;
158
+ }
159
+
160
+ message GetWishlistRequest {
161
+ string user_id = 1;
162
+ }
163
+
164
+ message GetWishlistResponse {
165
+ repeated string product_ids = 1;
166
+ }
167
+
168
+ message ToggleWishlistItemRequest {
169
+ string user_id = 1;
170
+ string product_id = 2;
171
+ }
172
+
173
+ message ToggleWishlistItemResponse {
174
+ bool is_added = 1;
175
+ }
176
+
177
+ message RecordProductViewRequest {
178
+ string user_id = 1;
179
+ string product_id = 2;
180
+ }
181
+
182
+ message RecordProductViewResponse {
183
+ bool ok = 1;
184
+ }
185
+
186
+ message GetViewedProductsRequest {
187
+ string user_id = 1;
188
+ }
189
+
190
+ message GetViewedProductsResponse {
191
+ repeated string product_ids = 1;
192
+ }
193
+
194
+ message ClearViewedHistoryRequest {
195
+ string user_id = 1;
196
+ }
197
+
198
+ message ClearViewedHistoryResponse {
199
+ bool ok = 1;
200
+ }
201
+
202
+ message ExportUserDataRequest {
203
+ string user_id = 1;
204
+ }
205
+
206
+ message ExportUserDataResponse {
207
+ string json_data = 1;
208
+ }
209
+
210
+ message DeleteAccountRequest {
211
+ string user_id = 1;
212
+ }
213
+
214
+ message DeleteAccountResponse {
215
+ bool ok = 1;
48
216
  }
package/gen/users.ts CHANGED
@@ -10,12 +10,21 @@ import { Observable } from "rxjs";
10
10
 
11
11
  export const protobufPackage = "users.v1";
12
12
 
13
+ export enum DeliveryType {
14
+ NOVA_POSHTA = 0,
15
+ UKRPOSHTA = 1,
16
+ COURIER = 2,
17
+ PICKUP = 3,
18
+ UNRECOGNIZED = -1,
19
+ }
20
+
13
21
  export interface GetMeRequest {
14
22
  id: string;
15
23
  }
16
24
 
17
25
  export interface GetMeResponse {
18
26
  user: User | undefined;
27
+ notificationSettings: NotificationSettings | undefined;
19
28
  }
20
29
 
21
30
  export interface CreateUserRequest {
@@ -49,6 +58,142 @@ export interface User {
49
58
  phone?: string | undefined;
50
59
  }
51
60
 
61
+ export interface NotificationSettings {
62
+ orderStatuses: boolean;
63
+ promotions: boolean;
64
+ newInCategory: boolean;
65
+ restockReminders: boolean;
66
+ }
67
+
68
+ export interface UpdateNotificationSettingsRequest {
69
+ userId: string;
70
+ orderStatuses?: boolean | undefined;
71
+ promotions?: boolean | undefined;
72
+ newInCategory?: boolean | undefined;
73
+ restockReminders?: boolean | undefined;
74
+ }
75
+
76
+ export interface UpdateNotificationSettingsResponse {
77
+ settings: NotificationSettings | undefined;
78
+ }
79
+
80
+ export interface Address {
81
+ id: string;
82
+ type: DeliveryType;
83
+ city?: string | undefined;
84
+ street?: string | undefined;
85
+ building?: string | undefined;
86
+ apartment?: string | undefined;
87
+ deliveryRef?: string | undefined;
88
+ isDefault: boolean;
89
+ }
90
+
91
+ export interface GetAddressesRequest {
92
+ userId: string;
93
+ }
94
+
95
+ export interface GetAddressesResponse {
96
+ addresses: Address[];
97
+ }
98
+
99
+ export interface AddAddressRequest {
100
+ userId: string;
101
+ type: DeliveryType;
102
+ city?: string | undefined;
103
+ street?: string | undefined;
104
+ building?: string | undefined;
105
+ apartment?: string | undefined;
106
+ deliveryRef?: string | undefined;
107
+ isDefault: boolean;
108
+ }
109
+
110
+ export interface UpdateAddressRequest {
111
+ id: string;
112
+ userId: string;
113
+ type?: DeliveryType | undefined;
114
+ city?: string | undefined;
115
+ street?: string | undefined;
116
+ building?: string | undefined;
117
+ apartment?: string | undefined;
118
+ deliveryRef?: string | undefined;
119
+ }
120
+
121
+ export interface AddressResponse {
122
+ address: Address | undefined;
123
+ }
124
+
125
+ export interface DeleteAddressRequest {
126
+ id: string;
127
+ userId: string;
128
+ }
129
+
130
+ export interface DeleteAddressResponse {
131
+ ok: boolean;
132
+ }
133
+
134
+ export interface SetDefaultAddressRequest {
135
+ id: string;
136
+ userId: string;
137
+ }
138
+
139
+ export interface GetWishlistRequest {
140
+ userId: string;
141
+ }
142
+
143
+ export interface GetWishlistResponse {
144
+ productIds: string[];
145
+ }
146
+
147
+ export interface ToggleWishlistItemRequest {
148
+ userId: string;
149
+ productId: string;
150
+ }
151
+
152
+ export interface ToggleWishlistItemResponse {
153
+ isAdded: boolean;
154
+ }
155
+
156
+ export interface RecordProductViewRequest {
157
+ userId: string;
158
+ productId: string;
159
+ }
160
+
161
+ export interface RecordProductViewResponse {
162
+ ok: boolean;
163
+ }
164
+
165
+ export interface GetViewedProductsRequest {
166
+ userId: string;
167
+ }
168
+
169
+ export interface GetViewedProductsResponse {
170
+ productIds: string[];
171
+ }
172
+
173
+ export interface ClearViewedHistoryRequest {
174
+ userId: string;
175
+ }
176
+
177
+ export interface ClearViewedHistoryResponse {
178
+ ok: boolean;
179
+ }
180
+
181
+ export interface ExportUserDataRequest {
182
+ userId: string;
183
+ }
184
+
185
+ export interface ExportUserDataResponse {
186
+ jsonData: string;
187
+ }
188
+
189
+ export interface DeleteAccountRequest {
190
+ userId: string;
191
+ }
192
+
193
+ export interface DeleteAccountResponse {
194
+ ok: boolean;
195
+ }
196
+
52
197
  export const USERS_V1_PACKAGE_NAME = "users.v1";
53
198
 
54
199
  export interface UsersServiceClient {
@@ -57,6 +202,34 @@ export interface UsersServiceClient {
57
202
  createUser(request: CreateUserRequest): Observable<CreateUserResponse>;
58
203
 
59
204
  updateUser(request: UpdateUserRequest): Observable<UpdateUserResponse>;
205
+
206
+ updateNotificationSettings(
207
+ request: UpdateNotificationSettingsRequest,
208
+ ): Observable<UpdateNotificationSettingsResponse>;
209
+
210
+ getAddresses(request: GetAddressesRequest): Observable<GetAddressesResponse>;
211
+
212
+ addAddress(request: AddAddressRequest): Observable<AddressResponse>;
213
+
214
+ updateAddress(request: UpdateAddressRequest): Observable<AddressResponse>;
215
+
216
+ deleteAddress(request: DeleteAddressRequest): Observable<DeleteAddressResponse>;
217
+
218
+ setDefaultAddress(request: SetDefaultAddressRequest): Observable<AddressResponse>;
219
+
220
+ getWishlist(request: GetWishlistRequest): Observable<GetWishlistResponse>;
221
+
222
+ toggleWishlistItem(request: ToggleWishlistItemRequest): Observable<ToggleWishlistItemResponse>;
223
+
224
+ recordProductView(request: RecordProductViewRequest): Observable<RecordProductViewResponse>;
225
+
226
+ getViewedProducts(request: GetViewedProductsRequest): Observable<GetViewedProductsResponse>;
227
+
228
+ clearViewedHistory(request: ClearViewedHistoryRequest): Observable<ClearViewedHistoryResponse>;
229
+
230
+ exportUserData(request: ExportUserDataRequest): Observable<ExportUserDataResponse>;
231
+
232
+ deleteAccount(request: DeleteAccountRequest): Observable<DeleteAccountResponse>;
60
233
  }
61
234
 
62
235
  export interface UsersServiceController {
@@ -69,11 +242,81 @@ export interface UsersServiceController {
69
242
  updateUser(
70
243
  request: UpdateUserRequest,
71
244
  ): Promise<UpdateUserResponse> | Observable<UpdateUserResponse> | UpdateUserResponse;
245
+
246
+ updateNotificationSettings(
247
+ request: UpdateNotificationSettingsRequest,
248
+ ):
249
+ | Promise<UpdateNotificationSettingsResponse>
250
+ | Observable<UpdateNotificationSettingsResponse>
251
+ | UpdateNotificationSettingsResponse;
252
+
253
+ getAddresses(
254
+ request: GetAddressesRequest,
255
+ ): Promise<GetAddressesResponse> | Observable<GetAddressesResponse> | GetAddressesResponse;
256
+
257
+ addAddress(request: AddAddressRequest): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
258
+
259
+ updateAddress(
260
+ request: UpdateAddressRequest,
261
+ ): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
262
+
263
+ deleteAddress(
264
+ request: DeleteAddressRequest,
265
+ ): Promise<DeleteAddressResponse> | Observable<DeleteAddressResponse> | DeleteAddressResponse;
266
+
267
+ setDefaultAddress(
268
+ request: SetDefaultAddressRequest,
269
+ ): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
270
+
271
+ getWishlist(
272
+ request: GetWishlistRequest,
273
+ ): Promise<GetWishlistResponse> | Observable<GetWishlistResponse> | GetWishlistResponse;
274
+
275
+ toggleWishlistItem(
276
+ request: ToggleWishlistItemRequest,
277
+ ): Promise<ToggleWishlistItemResponse> | Observable<ToggleWishlistItemResponse> | ToggleWishlistItemResponse;
278
+
279
+ recordProductView(
280
+ request: RecordProductViewRequest,
281
+ ): Promise<RecordProductViewResponse> | Observable<RecordProductViewResponse> | RecordProductViewResponse;
282
+
283
+ getViewedProducts(
284
+ request: GetViewedProductsRequest,
285
+ ): Promise<GetViewedProductsResponse> | Observable<GetViewedProductsResponse> | GetViewedProductsResponse;
286
+
287
+ clearViewedHistory(
288
+ request: ClearViewedHistoryRequest,
289
+ ): Promise<ClearViewedHistoryResponse> | Observable<ClearViewedHistoryResponse> | ClearViewedHistoryResponse;
290
+
291
+ exportUserData(
292
+ request: ExportUserDataRequest,
293
+ ): Promise<ExportUserDataResponse> | Observable<ExportUserDataResponse> | ExportUserDataResponse;
294
+
295
+ deleteAccount(
296
+ request: DeleteAccountRequest,
297
+ ): Promise<DeleteAccountResponse> | Observable<DeleteAccountResponse> | DeleteAccountResponse;
72
298
  }
73
299
 
74
300
  export function UsersServiceControllerMethods() {
75
301
  return function (constructor: Function) {
76
- const grpcMethods: string[] = ["getMe", "createUser", "updateUser"];
302
+ const grpcMethods: string[] = [
303
+ "getMe",
304
+ "createUser",
305
+ "updateUser",
306
+ "updateNotificationSettings",
307
+ "getAddresses",
308
+ "addAddress",
309
+ "updateAddress",
310
+ "deleteAddress",
311
+ "setDefaultAddress",
312
+ "getWishlist",
313
+ "toggleWishlistItem",
314
+ "recordProductView",
315
+ "getViewedProducts",
316
+ "clearViewedHistory",
317
+ "exportUserData",
318
+ "deleteAccount",
319
+ ];
77
320
  for (const method of grpcMethods) {
78
321
  const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
79
322
  GrpcMethod("UsersService", method)(constructor.prototype[method], method, descriptor);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mamindom/contracts",
3
3
  "description": "proto",
4
- "version": "1.0.36",
4
+ "version": "1.0.37",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
7
7
  "exports": {
package/proto/users.proto CHANGED
@@ -3,9 +3,33 @@ syntax = "proto3";
3
3
  package users.v1;
4
4
 
5
5
  service UsersService {
6
+
6
7
  rpc GetMe(GetMeRequest) returns (GetMeResponse);
7
8
  rpc CreateUser(CreateUserRequest) returns (CreateUserResponse);
8
9
  rpc UpdateUser(UpdateUserRequest) returns (UpdateUserResponse);
10
+
11
+
12
+ rpc UpdateNotificationSettings(UpdateNotificationSettingsRequest) returns (UpdateNotificationSettingsResponse);
13
+
14
+
15
+ rpc GetAddresses(GetAddressesRequest) returns (GetAddressesResponse);
16
+ rpc AddAddress(AddAddressRequest) returns (AddressResponse);
17
+ rpc UpdateAddress(UpdateAddressRequest) returns (AddressResponse);
18
+ rpc DeleteAddress(DeleteAddressRequest) returns (DeleteAddressResponse);
19
+ rpc SetDefaultAddress(SetDefaultAddressRequest) returns (AddressResponse);
20
+
21
+
22
+ rpc GetWishlist(GetWishlistRequest) returns (GetWishlistResponse);
23
+ rpc ToggleWishlistItem(ToggleWishlistItemRequest) returns (ToggleWishlistItemResponse);
24
+
25
+
26
+ rpc RecordProductView(RecordProductViewRequest) returns (RecordProductViewResponse);
27
+ rpc GetViewedProducts(GetViewedProductsRequest) returns (GetViewedProductsResponse);
28
+ rpc ClearViewedHistory(ClearViewedHistoryRequest) returns (ClearViewedHistoryResponse);
29
+
30
+
31
+ rpc ExportUserData(ExportUserDataRequest) returns (ExportUserDataResponse);
32
+ rpc DeleteAccount(DeleteAccountRequest) returns (DeleteAccountResponse);
9
33
  }
10
34
 
11
35
  message GetMeRequest {
@@ -14,6 +38,7 @@ message GetMeRequest {
14
38
 
15
39
  message GetMeResponse {
16
40
  User user = 1;
41
+ NotificationSettings notification_settings = 2;
17
42
  }
18
43
 
19
44
  message CreateUserRequest {
@@ -45,4 +70,147 @@ message User {
45
70
  int32 bonuses = 4;
46
71
  optional string email = 5;
47
72
  optional string phone = 6;
73
+ }
74
+
75
+ message NotificationSettings {
76
+ bool order_statuses = 1;
77
+ bool promotions = 2;
78
+ bool new_in_category = 3;
79
+ bool restock_reminders = 4;
80
+ }
81
+
82
+ message UpdateNotificationSettingsRequest {
83
+ string user_id = 1;
84
+ optional bool order_statuses = 2;
85
+ optional bool promotions = 3;
86
+ optional bool new_in_category = 4;
87
+ optional bool restock_reminders = 5;
88
+ }
89
+
90
+ message UpdateNotificationSettingsResponse {
91
+ NotificationSettings settings = 1;
92
+ }
93
+
94
+ enum DeliveryType {
95
+ NOVA_POSHTA = 0;
96
+ UKRPOSHTA = 1;
97
+ COURIER = 2;
98
+ PICKUP = 3;
99
+ }
100
+
101
+ message Address {
102
+ string id = 1;
103
+ DeliveryType type = 2;
104
+ optional string city = 3;
105
+ optional string street = 4;
106
+ optional string building = 5;
107
+ optional string apartment = 6;
108
+ optional string delivery_ref = 7;
109
+ bool is_default = 8;
110
+ }
111
+
112
+ message GetAddressesRequest {
113
+ string user_id = 1;
114
+ }
115
+
116
+ message GetAddressesResponse {
117
+ repeated Address addresses = 1;
118
+ }
119
+
120
+ message AddAddressRequest {
121
+ string user_id = 1;
122
+ DeliveryType type = 2;
123
+ optional string city = 3;
124
+ optional string street = 4;
125
+ optional string building = 5;
126
+ optional string apartment = 6;
127
+ optional string delivery_ref = 7;
128
+ bool is_default = 8;
129
+ }
130
+
131
+ message UpdateAddressRequest {
132
+ string id = 1;
133
+ string user_id = 2;
134
+ optional DeliveryType type = 3;
135
+ optional string city = 4;
136
+ optional string street = 5;
137
+ optional string building = 6;
138
+ optional string apartment = 7;
139
+ optional string delivery_ref = 8;
140
+ }
141
+
142
+ message AddressResponse {
143
+ Address address = 1;
144
+ }
145
+
146
+ message DeleteAddressRequest {
147
+ string id = 1;
148
+ string user_id = 2;
149
+ }
150
+
151
+ message DeleteAddressResponse {
152
+ bool ok = 1;
153
+ }
154
+
155
+ message SetDefaultAddressRequest {
156
+ string id = 1;
157
+ string user_id = 2;
158
+ }
159
+
160
+ message GetWishlistRequest {
161
+ string user_id = 1;
162
+ }
163
+
164
+ message GetWishlistResponse {
165
+ repeated string product_ids = 1;
166
+ }
167
+
168
+ message ToggleWishlistItemRequest {
169
+ string user_id = 1;
170
+ string product_id = 2;
171
+ }
172
+
173
+ message ToggleWishlistItemResponse {
174
+ bool is_added = 1;
175
+ }
176
+
177
+ message RecordProductViewRequest {
178
+ string user_id = 1;
179
+ string product_id = 2;
180
+ }
181
+
182
+ message RecordProductViewResponse {
183
+ bool ok = 1;
184
+ }
185
+
186
+ message GetViewedProductsRequest {
187
+ string user_id = 1;
188
+ }
189
+
190
+ message GetViewedProductsResponse {
191
+ repeated string product_ids = 1;
192
+ }
193
+
194
+ message ClearViewedHistoryRequest {
195
+ string user_id = 1;
196
+ }
197
+
198
+ message ClearViewedHistoryResponse {
199
+ bool ok = 1;
200
+ }
201
+
202
+ message ExportUserDataRequest {
203
+ string user_id = 1;
204
+ }
205
+
206
+ message ExportUserDataResponse {
207
+ string json_data = 1;
208
+ }
209
+
210
+ message DeleteAccountRequest {
211
+ string user_id = 1;
212
+ }
213
+
214
+ message DeleteAccountResponse {
215
+ bool ok = 1;
48
216
  }