@mamindom/contracts 1.0.36 → 1.0.38

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,153 @@ 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
+ isDefault?: boolean | undefined;
95
+ }
96
+ export interface AddressResponse {
97
+ address: Address | undefined;
98
+ }
99
+ export interface DeleteAddressRequest {
100
+ id: string;
101
+ userId: string;
102
+ }
103
+ export interface DeleteAddressResponse {
104
+ ok: boolean;
105
+ }
106
+ export interface SetDefaultAddressRequest {
107
+ id: string;
108
+ userId: string;
109
+ }
110
+ export interface GetWishlistRequest {
111
+ userId: string;
112
+ }
113
+ export interface GetWishlistResponse {
114
+ productIds: string[];
115
+ }
116
+ export interface ToggleWishlistItemRequest {
117
+ userId: string;
118
+ productId: string;
119
+ }
120
+ export interface ToggleWishlistItemResponse {
121
+ isAdded: boolean;
122
+ }
123
+ export interface RecordProductViewRequest {
124
+ userId: string;
125
+ productId: string;
126
+ }
127
+ export interface RecordProductViewResponse {
128
+ ok: boolean;
129
+ }
130
+ export interface GetViewedProductsRequest {
131
+ userId: string;
132
+ }
133
+ export interface GetViewedProductsResponse {
134
+ productIds: string[];
135
+ }
136
+ export interface ClearViewedHistoryRequest {
137
+ userId: string;
138
+ }
139
+ export interface ClearViewedHistoryResponse {
140
+ ok: boolean;
141
+ }
142
+ export interface ExportUserDataRequest {
143
+ userId: string;
144
+ }
145
+ export interface ExportUserDataResponse {
146
+ jsonData: string;
147
+ }
148
+ export interface DeleteAccountRequest {
149
+ userId: string;
150
+ }
151
+ export interface DeleteAccountResponse {
152
+ ok: boolean;
153
+ }
35
154
  export declare const USERS_V1_PACKAGE_NAME = "users.v1";
36
155
  export interface UsersServiceClient {
37
156
  getMe(request: GetMeRequest): Observable<GetMeResponse>;
38
157
  createUser(request: CreateUserRequest): Observable<CreateUserResponse>;
39
158
  updateUser(request: UpdateUserRequest): Observable<UpdateUserResponse>;
159
+ updateNotificationSettings(request: UpdateNotificationSettingsRequest): Observable<UpdateNotificationSettingsResponse>;
160
+ getAddresses(request: GetAddressesRequest): Observable<GetAddressesResponse>;
161
+ addAddress(request: AddAddressRequest): Observable<AddressResponse>;
162
+ updateAddress(request: UpdateAddressRequest): Observable<AddressResponse>;
163
+ deleteAddress(request: DeleteAddressRequest): Observable<DeleteAddressResponse>;
164
+ setDefaultAddress(request: SetDefaultAddressRequest): Observable<AddressResponse>;
165
+ getWishlist(request: GetWishlistRequest): Observable<GetWishlistResponse>;
166
+ toggleWishlistItem(request: ToggleWishlistItemRequest): Observable<ToggleWishlistItemResponse>;
167
+ recordProductView(request: RecordProductViewRequest): Observable<RecordProductViewResponse>;
168
+ getViewedProducts(request: GetViewedProductsRequest): Observable<GetViewedProductsResponse>;
169
+ clearViewedHistory(request: ClearViewedHistoryRequest): Observable<ClearViewedHistoryResponse>;
170
+ exportUserData(request: ExportUserDataRequest): Observable<ExportUserDataResponse>;
171
+ deleteAccount(request: DeleteAccountRequest): Observable<DeleteAccountResponse>;
40
172
  }
41
173
  export interface UsersServiceController {
42
174
  getMe(request: GetMeRequest): Promise<GetMeResponse> | Observable<GetMeResponse> | GetMeResponse;
43
175
  createUser(request: CreateUserRequest): Promise<CreateUserResponse> | Observable<CreateUserResponse> | CreateUserResponse;
44
176
  updateUser(request: UpdateUserRequest): Promise<UpdateUserResponse> | Observable<UpdateUserResponse> | UpdateUserResponse;
177
+ updateNotificationSettings(request: UpdateNotificationSettingsRequest): Promise<UpdateNotificationSettingsResponse> | Observable<UpdateNotificationSettingsResponse> | UpdateNotificationSettingsResponse;
178
+ getAddresses(request: GetAddressesRequest): Promise<GetAddressesResponse> | Observable<GetAddressesResponse> | GetAddressesResponse;
179
+ addAddress(request: AddAddressRequest): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
180
+ updateAddress(request: UpdateAddressRequest): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
181
+ deleteAddress(request: DeleteAddressRequest): Promise<DeleteAddressResponse> | Observable<DeleteAddressResponse> | DeleteAddressResponse;
182
+ setDefaultAddress(request: SetDefaultAddressRequest): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
183
+ getWishlist(request: GetWishlistRequest): Promise<GetWishlistResponse> | Observable<GetWishlistResponse> | GetWishlistResponse;
184
+ toggleWishlistItem(request: ToggleWishlistItemRequest): Promise<ToggleWishlistItemResponse> | Observable<ToggleWishlistItemResponse> | ToggleWishlistItemResponse;
185
+ recordProductView(request: RecordProductViewRequest): Promise<RecordProductViewResponse> | Observable<RecordProductViewResponse> | RecordProductViewResponse;
186
+ getViewedProducts(request: GetViewedProductsRequest): Promise<GetViewedProductsResponse> | Observable<GetViewedProductsResponse> | GetViewedProductsResponse;
187
+ clearViewedHistory(request: ClearViewedHistoryRequest): Promise<ClearViewedHistoryResponse> | Observable<ClearViewedHistoryResponse> | ClearViewedHistoryResponse;
188
+ exportUserData(request: ExportUserDataRequest): Promise<ExportUserDataResponse> | Observable<ExportUserDataResponse> | ExportUserDataResponse;
189
+ deleteAccount(request: DeleteAccountRequest): Promise<DeleteAccountResponse> | Observable<DeleteAccountResponse> | DeleteAccountResponse;
45
190
  }
46
191
  export declare function UsersServiceControllerMethods(): (constructor: Function) => void;
47
192
  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,148 @@ 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
+ optional bool is_default = 9;
141
+ }
142
+
143
+ message AddressResponse {
144
+ Address address = 1;
145
+ }
146
+
147
+ message DeleteAddressRequest {
148
+ string id = 1;
149
+ string user_id = 2;
150
+ }
151
+
152
+ message DeleteAddressResponse {
153
+ bool ok = 1;
154
+ }
155
+
156
+ message SetDefaultAddressRequest {
157
+ string id = 1;
158
+ string user_id = 2;
159
+ }
160
+
161
+ message GetWishlistRequest {
162
+ string user_id = 1;
163
+ }
164
+
165
+ message GetWishlistResponse {
166
+ repeated string product_ids = 1;
167
+ }
168
+
169
+ message ToggleWishlistItemRequest {
170
+ string user_id = 1;
171
+ string product_id = 2;
172
+ }
173
+
174
+ message ToggleWishlistItemResponse {
175
+ bool is_added = 1;
176
+ }
177
+
178
+ message RecordProductViewRequest {
179
+ string user_id = 1;
180
+ string product_id = 2;
181
+ }
182
+
183
+ message RecordProductViewResponse {
184
+ bool ok = 1;
185
+ }
186
+
187
+ message GetViewedProductsRequest {
188
+ string user_id = 1;
189
+ }
190
+
191
+ message GetViewedProductsResponse {
192
+ repeated string product_ids = 1;
193
+ }
194
+
195
+ message ClearViewedHistoryRequest {
196
+ string user_id = 1;
197
+ }
198
+
199
+ message ClearViewedHistoryResponse {
200
+ bool ok = 1;
201
+ }
202
+
203
+ message ExportUserDataRequest {
204
+ string user_id = 1;
205
+ }
206
+
207
+ message ExportUserDataResponse {
208
+ string json_data = 1;
209
+ }
210
+
211
+ message DeleteAccountRequest {
212
+ string user_id = 1;
213
+ }
214
+
215
+ message DeleteAccountResponse {
216
+ bool ok = 1;
48
217
  }
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,143 @@ 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
+ isDefault?: boolean | undefined;
120
+ }
121
+
122
+ export interface AddressResponse {
123
+ address: Address | undefined;
124
+ }
125
+
126
+ export interface DeleteAddressRequest {
127
+ id: string;
128
+ userId: string;
129
+ }
130
+
131
+ export interface DeleteAddressResponse {
132
+ ok: boolean;
133
+ }
134
+
135
+ export interface SetDefaultAddressRequest {
136
+ id: string;
137
+ userId: string;
138
+ }
139
+
140
+ export interface GetWishlistRequest {
141
+ userId: string;
142
+ }
143
+
144
+ export interface GetWishlistResponse {
145
+ productIds: string[];
146
+ }
147
+
148
+ export interface ToggleWishlistItemRequest {
149
+ userId: string;
150
+ productId: string;
151
+ }
152
+
153
+ export interface ToggleWishlistItemResponse {
154
+ isAdded: boolean;
155
+ }
156
+
157
+ export interface RecordProductViewRequest {
158
+ userId: string;
159
+ productId: string;
160
+ }
161
+
162
+ export interface RecordProductViewResponse {
163
+ ok: boolean;
164
+ }
165
+
166
+ export interface GetViewedProductsRequest {
167
+ userId: string;
168
+ }
169
+
170
+ export interface GetViewedProductsResponse {
171
+ productIds: string[];
172
+ }
173
+
174
+ export interface ClearViewedHistoryRequest {
175
+ userId: string;
176
+ }
177
+
178
+ export interface ClearViewedHistoryResponse {
179
+ ok: boolean;
180
+ }
181
+
182
+ export interface ExportUserDataRequest {
183
+ userId: string;
184
+ }
185
+
186
+ export interface ExportUserDataResponse {
187
+ jsonData: string;
188
+ }
189
+
190
+ export interface DeleteAccountRequest {
191
+ userId: string;
192
+ }
193
+
194
+ export interface DeleteAccountResponse {
195
+ ok: boolean;
196
+ }
197
+
52
198
  export const USERS_V1_PACKAGE_NAME = "users.v1";
53
199
 
54
200
  export interface UsersServiceClient {
@@ -57,6 +203,34 @@ export interface UsersServiceClient {
57
203
  createUser(request: CreateUserRequest): Observable<CreateUserResponse>;
58
204
 
59
205
  updateUser(request: UpdateUserRequest): Observable<UpdateUserResponse>;
206
+
207
+ updateNotificationSettings(
208
+ request: UpdateNotificationSettingsRequest,
209
+ ): Observable<UpdateNotificationSettingsResponse>;
210
+
211
+ getAddresses(request: GetAddressesRequest): Observable<GetAddressesResponse>;
212
+
213
+ addAddress(request: AddAddressRequest): Observable<AddressResponse>;
214
+
215
+ updateAddress(request: UpdateAddressRequest): Observable<AddressResponse>;
216
+
217
+ deleteAddress(request: DeleteAddressRequest): Observable<DeleteAddressResponse>;
218
+
219
+ setDefaultAddress(request: SetDefaultAddressRequest): Observable<AddressResponse>;
220
+
221
+ getWishlist(request: GetWishlistRequest): Observable<GetWishlistResponse>;
222
+
223
+ toggleWishlistItem(request: ToggleWishlistItemRequest): Observable<ToggleWishlistItemResponse>;
224
+
225
+ recordProductView(request: RecordProductViewRequest): Observable<RecordProductViewResponse>;
226
+
227
+ getViewedProducts(request: GetViewedProductsRequest): Observable<GetViewedProductsResponse>;
228
+
229
+ clearViewedHistory(request: ClearViewedHistoryRequest): Observable<ClearViewedHistoryResponse>;
230
+
231
+ exportUserData(request: ExportUserDataRequest): Observable<ExportUserDataResponse>;
232
+
233
+ deleteAccount(request: DeleteAccountRequest): Observable<DeleteAccountResponse>;
60
234
  }
61
235
 
62
236
  export interface UsersServiceController {
@@ -69,11 +243,81 @@ export interface UsersServiceController {
69
243
  updateUser(
70
244
  request: UpdateUserRequest,
71
245
  ): Promise<UpdateUserResponse> | Observable<UpdateUserResponse> | UpdateUserResponse;
246
+
247
+ updateNotificationSettings(
248
+ request: UpdateNotificationSettingsRequest,
249
+ ):
250
+ | Promise<UpdateNotificationSettingsResponse>
251
+ | Observable<UpdateNotificationSettingsResponse>
252
+ | UpdateNotificationSettingsResponse;
253
+
254
+ getAddresses(
255
+ request: GetAddressesRequest,
256
+ ): Promise<GetAddressesResponse> | Observable<GetAddressesResponse> | GetAddressesResponse;
257
+
258
+ addAddress(request: AddAddressRequest): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
259
+
260
+ updateAddress(
261
+ request: UpdateAddressRequest,
262
+ ): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
263
+
264
+ deleteAddress(
265
+ request: DeleteAddressRequest,
266
+ ): Promise<DeleteAddressResponse> | Observable<DeleteAddressResponse> | DeleteAddressResponse;
267
+
268
+ setDefaultAddress(
269
+ request: SetDefaultAddressRequest,
270
+ ): Promise<AddressResponse> | Observable<AddressResponse> | AddressResponse;
271
+
272
+ getWishlist(
273
+ request: GetWishlistRequest,
274
+ ): Promise<GetWishlistResponse> | Observable<GetWishlistResponse> | GetWishlistResponse;
275
+
276
+ toggleWishlistItem(
277
+ request: ToggleWishlistItemRequest,
278
+ ): Promise<ToggleWishlistItemResponse> | Observable<ToggleWishlistItemResponse> | ToggleWishlistItemResponse;
279
+
280
+ recordProductView(
281
+ request: RecordProductViewRequest,
282
+ ): Promise<RecordProductViewResponse> | Observable<RecordProductViewResponse> | RecordProductViewResponse;
283
+
284
+ getViewedProducts(
285
+ request: GetViewedProductsRequest,
286
+ ): Promise<GetViewedProductsResponse> | Observable<GetViewedProductsResponse> | GetViewedProductsResponse;
287
+
288
+ clearViewedHistory(
289
+ request: ClearViewedHistoryRequest,
290
+ ): Promise<ClearViewedHistoryResponse> | Observable<ClearViewedHistoryResponse> | ClearViewedHistoryResponse;
291
+
292
+ exportUserData(
293
+ request: ExportUserDataRequest,
294
+ ): Promise<ExportUserDataResponse> | Observable<ExportUserDataResponse> | ExportUserDataResponse;
295
+
296
+ deleteAccount(
297
+ request: DeleteAccountRequest,
298
+ ): Promise<DeleteAccountResponse> | Observable<DeleteAccountResponse> | DeleteAccountResponse;
72
299
  }
73
300
 
74
301
  export function UsersServiceControllerMethods() {
75
302
  return function (constructor: Function) {
76
- const grpcMethods: string[] = ["getMe", "createUser", "updateUser"];
303
+ const grpcMethods: string[] = [
304
+ "getMe",
305
+ "createUser",
306
+ "updateUser",
307
+ "updateNotificationSettings",
308
+ "getAddresses",
309
+ "addAddress",
310
+ "updateAddress",
311
+ "deleteAddress",
312
+ "setDefaultAddress",
313
+ "getWishlist",
314
+ "toggleWishlistItem",
315
+ "recordProductView",
316
+ "getViewedProducts",
317
+ "clearViewedHistory",
318
+ "exportUserData",
319
+ "deleteAccount",
320
+ ];
77
321
  for (const method of grpcMethods) {
78
322
  const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
79
323
  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.38",
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,148 @@ 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
+ optional bool is_default = 9;
141
+ }
142
+
143
+ message AddressResponse {
144
+ Address address = 1;
145
+ }
146
+
147
+ message DeleteAddressRequest {
148
+ string id = 1;
149
+ string user_id = 2;
150
+ }
151
+
152
+ message DeleteAddressResponse {
153
+ bool ok = 1;
154
+ }
155
+
156
+ message SetDefaultAddressRequest {
157
+ string id = 1;
158
+ string user_id = 2;
159
+ }
160
+
161
+ message GetWishlistRequest {
162
+ string user_id = 1;
163
+ }
164
+
165
+ message GetWishlistResponse {
166
+ repeated string product_ids = 1;
167
+ }
168
+
169
+ message ToggleWishlistItemRequest {
170
+ string user_id = 1;
171
+ string product_id = 2;
172
+ }
173
+
174
+ message ToggleWishlistItemResponse {
175
+ bool is_added = 1;
176
+ }
177
+
178
+ message RecordProductViewRequest {
179
+ string user_id = 1;
180
+ string product_id = 2;
181
+ }
182
+
183
+ message RecordProductViewResponse {
184
+ bool ok = 1;
185
+ }
186
+
187
+ message GetViewedProductsRequest {
188
+ string user_id = 1;
189
+ }
190
+
191
+ message GetViewedProductsResponse {
192
+ repeated string product_ids = 1;
193
+ }
194
+
195
+ message ClearViewedHistoryRequest {
196
+ string user_id = 1;
197
+ }
198
+
199
+ message ClearViewedHistoryResponse {
200
+ bool ok = 1;
201
+ }
202
+
203
+ message ExportUserDataRequest {
204
+ string user_id = 1;
205
+ }
206
+
207
+ message ExportUserDataResponse {
208
+ string json_data = 1;
209
+ }
210
+
211
+ message DeleteAccountRequest {
212
+ string user_id = 1;
213
+ }
214
+
215
+ message DeleteAccountResponse {
216
+ bool ok = 1;
48
217
  }