@arbiwallet/contracts 1.0.216 → 1.0.218

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.
@@ -37,6 +37,7 @@ export interface ManagerRecord {
37
37
  permissions: string[];
38
38
  isSuperAdmin: boolean;
39
39
  sectionPermissions: SectionPermission[];
40
+ officeIds: string[];
40
41
  }
41
42
 
42
43
  export interface RoleRecord {
@@ -70,6 +71,7 @@ export interface CreateManagerRequest {
70
71
  status: CrmManagerRecordStatus;
71
72
  roleNames: string[];
72
73
  sectionPermissions: SectionPermission[];
74
+ officeIds: string[];
73
75
  }
74
76
 
75
77
  export interface CreateManagerResponse {
@@ -91,6 +93,8 @@ export interface UpdateManagerRequest {
91
93
  roleNames: string[];
92
94
  sectionPermissions: SectionPermission[];
93
95
  replaceSectionPermissions: boolean;
96
+ replaceOfficeIds: boolean;
97
+ officeIds: string[];
94
98
  }
95
99
 
96
100
  export interface UpdateManagerResponse {
@@ -113,6 +117,67 @@ export interface ListRolesResponse {
113
117
  roles: RoleRecord[];
114
118
  }
115
119
 
120
+ export interface OfficeRecord {
121
+ id: string;
122
+ code: string;
123
+ name: string;
124
+ address: string;
125
+ city: string;
126
+ country: string;
127
+ isActive: boolean;
128
+ createdAtUnixMs: number;
129
+ updatedAtUnixMs: number;
130
+ }
131
+
132
+ export interface ListOfficesRequest {
133
+ page: number;
134
+ limit: number;
135
+ search: string;
136
+ includeInactive: boolean;
137
+ }
138
+
139
+ export interface ListOfficesResponse {
140
+ offices: OfficeRecord[];
141
+ page: number;
142
+ limit: number;
143
+ totalCount: number;
144
+ pages: number;
145
+ }
146
+
147
+ export interface CreateOfficeRequest {
148
+ code: string;
149
+ name: string;
150
+ address: string;
151
+ city: string;
152
+ country: string;
153
+ }
154
+
155
+ export interface CreateOfficeResponse {
156
+ office: OfficeRecord | undefined;
157
+ }
158
+
159
+ export interface UpdateOfficeRequest {
160
+ officeId: string;
161
+ code: string;
162
+ name: string;
163
+ address: string;
164
+ city: string;
165
+ country: string;
166
+ isActive: boolean;
167
+ }
168
+
169
+ export interface UpdateOfficeResponse {
170
+ office: OfficeRecord | undefined;
171
+ }
172
+
173
+ export interface DeactivateOfficeRequest {
174
+ officeId: string;
175
+ }
176
+
177
+ export interface DeactivateOfficeResponse {
178
+ success: boolean;
179
+ }
180
+
116
181
  export const CRM_MANAGER_PACKAGE_NAME = "crm_manager";
117
182
 
118
183
  export interface CrmManagerAdminServiceClient {
@@ -125,6 +190,14 @@ export interface CrmManagerAdminServiceClient {
125
190
  deleteManager(request: DeleteManagerRequest): Observable<DeleteManagerResponse>;
126
191
 
127
192
  listRoles(request: ListRolesRequest): Observable<ListRolesResponse>;
193
+
194
+ listOffices(request: ListOfficesRequest): Observable<ListOfficesResponse>;
195
+
196
+ createOffice(request: CreateOfficeRequest): Observable<CreateOfficeResponse>;
197
+
198
+ updateOffice(request: UpdateOfficeRequest): Observable<UpdateOfficeResponse>;
199
+
200
+ deactivateOffice(request: DeactivateOfficeRequest): Observable<DeactivateOfficeResponse>;
128
201
  }
129
202
 
130
203
  export interface CrmManagerAdminServiceController {
@@ -145,11 +218,37 @@ export interface CrmManagerAdminServiceController {
145
218
  ): Promise<DeleteManagerResponse> | Observable<DeleteManagerResponse> | DeleteManagerResponse;
146
219
 
147
220
  listRoles(request: ListRolesRequest): Promise<ListRolesResponse> | Observable<ListRolesResponse> | ListRolesResponse;
221
+
222
+ listOffices(
223
+ request: ListOfficesRequest,
224
+ ): Promise<ListOfficesResponse> | Observable<ListOfficesResponse> | ListOfficesResponse;
225
+
226
+ createOffice(
227
+ request: CreateOfficeRequest,
228
+ ): Promise<CreateOfficeResponse> | Observable<CreateOfficeResponse> | CreateOfficeResponse;
229
+
230
+ updateOffice(
231
+ request: UpdateOfficeRequest,
232
+ ): Promise<UpdateOfficeResponse> | Observable<UpdateOfficeResponse> | UpdateOfficeResponse;
233
+
234
+ deactivateOffice(
235
+ request: DeactivateOfficeRequest,
236
+ ): Promise<DeactivateOfficeResponse> | Observable<DeactivateOfficeResponse> | DeactivateOfficeResponse;
148
237
  }
149
238
 
150
239
  export function CrmManagerAdminServiceControllerMethods() {
151
240
  return function (constructor: Function) {
152
- const grpcMethods: string[] = ["listManagers", "createManager", "updateManager", "deleteManager", "listRoles"];
241
+ const grpcMethods: string[] = [
242
+ "listManagers",
243
+ "createManager",
244
+ "updateManager",
245
+ "deleteManager",
246
+ "listRoles",
247
+ "listOffices",
248
+ "createOffice",
249
+ "updateOffice",
250
+ "deactivateOffice",
251
+ ];
153
252
  for (const method of grpcMethods) {
154
253
  const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
155
254
  GrpcMethod("CrmManagerAdminService", method)(constructor.prototype[method], method, descriptor);
@@ -28,29 +28,15 @@ export enum ExchangeDealAction {
28
28
  UNRECOGNIZED = -1,
29
29
  }
30
30
 
31
- export interface ActorContext {
32
- /** users.CustomUser.id */
33
- userId: string;
34
- /** exchanges_manager.id (если есть) */
35
- managerId?:
36
- | string
37
- | undefined;
38
- /** request.user.is_superuser */
39
- isSuperuser: boolean;
40
- /** имена Django-групп из старого проекта */
41
- groupNames: string[];
42
- /** офисы менеджера (для office-based checks) */
31
+ export interface AuthManagerContext {
32
+ managerId: string;
43
33
  officeIds: string[];
44
- /** для аудита/трассировки (по желанию) */
45
- requestId?:
46
- | string
47
- | undefined;
48
- /** тип клиента (опционально) */
34
+ requestId?: string | undefined;
49
35
  clientType?: string | undefined;
50
36
  }
51
37
 
52
38
  export interface CreateExchangeDealRequest {
53
- actor: ActorContext | undefined;
39
+ authManagerContext: AuthManagerContext | undefined;
54
40
  calculationId?: string | undefined;
55
41
  paymentId?: string | undefined;
56
42
  methodId: string;
@@ -94,7 +80,7 @@ export interface CreateExchangeDealResponse {
94
80
  }
95
81
 
96
82
  export interface GetExchangeDealsRequest {
97
- actor: ActorContext | undefined;
83
+ authManagerContext: AuthManagerContext | undefined;
98
84
  fromDate?: string | undefined;
99
85
  toDate?: string | undefined;
100
86
  managerId?: string | undefined;
@@ -133,7 +119,7 @@ export interface GetExchangeDealsResponse {
133
119
  }
134
120
 
135
121
  export interface UpdateExchangeDealRequest {
136
- actor: ActorContext | undefined;
122
+ authManagerContext: AuthManagerContext | undefined;
137
123
  id: string;
138
124
  customerId?: string | undefined;
139
125
  inputAmount?: number | undefined;
@@ -180,7 +166,7 @@ export interface UpdateExchangeDealResponse {
180
166
  }
181
167
 
182
168
  export interface CompleteExchangeDealRequest {
183
- actor: ActorContext | undefined;
169
+ authManagerContext: AuthManagerContext | undefined;
184
170
  id: string;
185
171
  }
186
172
 
@@ -188,10 +174,11 @@ export interface CompleteExchangeDealResponse {
188
174
  success: boolean;
189
175
  message?: string | undefined;
190
176
  error?: string | undefined;
177
+ validationErrors?: { [key: string]: any } | undefined;
191
178
  }
192
179
 
193
180
  export interface CancelExchangeDealRequest {
194
- actor: ActorContext | undefined;
181
+ authManagerContext: AuthManagerContext | undefined;
195
182
  id: string;
196
183
  }
197
184
 
@@ -199,10 +186,11 @@ export interface CancelExchangeDealResponse {
199
186
  success: boolean;
200
187
  message?: string | undefined;
201
188
  error?: string | undefined;
189
+ validationErrors?: { [key: string]: any } | undefined;
202
190
  }
203
191
 
204
192
  export interface GetTransactionsRequest {
205
- actor: ActorContext | undefined;
193
+ authManagerContext: AuthManagerContext | undefined;
206
194
  startDate?: string | undefined;
207
195
  endDate?: string | undefined;
208
196
  userId?: string | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@arbiwallet/contracts",
3
3
  "descriptions": "Generate and manage smart contracts for ArbiWallet",
4
- "version": "1.0.216",
4
+ "version": "1.0.218",
5
5
  "scripts": {
6
6
  "generate": "protoc -I ./proto ./proto/*.proto --ts_proto_out=./gen --ts_proto_opt=nestJs=true,package=omit"
7
7
  },
@@ -7,6 +7,10 @@ service CrmManagerAdminService {
7
7
  rpc UpdateManager (UpdateManagerRequest) returns (UpdateManagerResponse);
8
8
  rpc DeleteManager (DeleteManagerRequest) returns (DeleteManagerResponse);
9
9
  rpc ListRoles (ListRolesRequest) returns (ListRolesResponse);
10
+ rpc ListOffices (ListOfficesRequest) returns (ListOfficesResponse);
11
+ rpc CreateOffice (CreateOfficeRequest) returns (CreateOfficeResponse);
12
+ rpc UpdateOffice (UpdateOfficeRequest) returns (UpdateOfficeResponse);
13
+ rpc DeactivateOffice (DeactivateOfficeRequest) returns (DeactivateOfficeResponse);
10
14
  }
11
15
 
12
16
  enum CrmManagerRecordStatus {
@@ -35,6 +39,7 @@ message ManagerRecord {
35
39
  repeated string permissions = 11;
36
40
  bool is_super_admin = 12;
37
41
  repeated SectionPermission section_permissions = 13;
42
+ repeated string office_ids = 14;
38
43
  }
39
44
 
40
45
  message RoleRecord {
@@ -68,6 +73,7 @@ message CreateManagerRequest {
68
73
  CrmManagerRecordStatus status = 7;
69
74
  repeated string role_names = 8;
70
75
  repeated SectionPermission section_permissions = 9;
76
+ repeated string office_ids = 10;
71
77
  }
72
78
 
73
79
  message CreateManagerResponse {
@@ -89,6 +95,8 @@ message UpdateManagerRequest {
89
95
  repeated string role_names = 10;
90
96
  repeated SectionPermission section_permissions = 11;
91
97
  bool replace_section_permissions = 12;
98
+ bool replace_office_ids = 13;
99
+ repeated string office_ids = 14;
92
100
  }
93
101
 
94
102
  message UpdateManagerResponse {
@@ -109,3 +117,64 @@ message ListRolesRequest {}
109
117
  message ListRolesResponse {
110
118
  repeated RoleRecord roles = 1;
111
119
  }
120
+
121
+ message OfficeRecord {
122
+ string id = 1;
123
+ string code = 2;
124
+ string name = 3;
125
+ string address = 4;
126
+ string city = 5;
127
+ string country = 6;
128
+ bool is_active = 7;
129
+ int64 created_at_unix_ms = 8;
130
+ int64 updated_at_unix_ms = 9;
131
+ }
132
+
133
+ message ListOfficesRequest {
134
+ int32 page = 1;
135
+ int32 limit = 2;
136
+ string search = 3;
137
+ bool include_inactive = 4;
138
+ }
139
+
140
+ message ListOfficesResponse {
141
+ repeated OfficeRecord offices = 1;
142
+ int32 page = 2;
143
+ int32 limit = 3;
144
+ int32 total_count = 4;
145
+ int32 pages = 5;
146
+ }
147
+
148
+ message CreateOfficeRequest {
149
+ string code = 1;
150
+ string name = 2;
151
+ string address = 3;
152
+ string city = 4;
153
+ string country = 5;
154
+ }
155
+
156
+ message CreateOfficeResponse {
157
+ OfficeRecord office = 1;
158
+ }
159
+
160
+ message UpdateOfficeRequest {
161
+ string office_id = 1;
162
+ string code = 2;
163
+ string name = 3;
164
+ string address = 4;
165
+ string city = 5;
166
+ string country = 6;
167
+ bool is_active = 7;
168
+ }
169
+
170
+ message UpdateOfficeResponse {
171
+ OfficeRecord office = 1;
172
+ }
173
+
174
+ message DeactivateOfficeRequest {
175
+ string office_id = 1;
176
+ }
177
+
178
+ message DeactivateOfficeResponse {
179
+ bool success = 1;
180
+ }
@@ -95,18 +95,15 @@ service ExchangeCoreService {
95
95
  // int32 total_pages = 5;
96
96
  // }
97
97
 
98
- message ActorContext {
99
- string user_id = 1; // users.CustomUser.id
100
- optional string manager_id = 2; // exchanges_manager.id (если есть)
101
- bool is_superuser = 3; // request.user.is_superuser
102
- repeated string group_names = 4; // имена Django-групп из старого проекта
103
- repeated string office_ids = 5; // офисы менеджера (для office-based checks)
104
- optional string request_id = 6; // для аудита/трассировки (по желанию)
105
- optional string client_type = 7; // тип клиента (опционально)
98
+ message AuthManagerContext {
99
+ string manager_id = 1;
100
+ repeated string office_ids = 2;
101
+ optional string request_id = 3;
102
+ optional string client_type = 4;
106
103
  }
107
104
 
108
105
  message CreateExchangeDealRequest {
109
- ActorContext actor = 1;
106
+ AuthManagerContext auth_manager_context = 1;
110
107
 
111
108
  optional string calculation_id = 3;
112
109
  optional string payment_id = 4;
@@ -159,7 +156,7 @@ message CreateExchangeDealResponse {
159
156
  }
160
157
 
161
158
  message GetExchangeDealsRequest {
162
- ActorContext actor = 1;
159
+ AuthManagerContext auth_manager_context = 1;
163
160
  optional string from_date = 2;
164
161
  optional string to_date = 3;
165
162
  optional string manager_id = 4;
@@ -198,7 +195,7 @@ message GetExchangeDealsResponse {
198
195
  }
199
196
 
200
197
  message UpdateExchangeDealRequest {
201
- ActorContext actor = 1;
198
+ AuthManagerContext auth_manager_context = 1;
202
199
  string id = 2;
203
200
 
204
201
  optional string customer_id = 3;
@@ -247,7 +244,7 @@ message UpdateExchangeDealResponse {
247
244
  }
248
245
 
249
246
  message CompleteExchangeDealRequest {
250
- ActorContext actor = 1;
247
+ AuthManagerContext auth_manager_context = 1;
251
248
  string id = 2;
252
249
  }
253
250
 
@@ -255,10 +252,11 @@ message CompleteExchangeDealResponse {
255
252
  bool success = 1;
256
253
  optional string message = 2;
257
254
  optional string error = 3;
255
+ optional google.protobuf.Struct validationErrors = 4;
258
256
  }
259
257
 
260
258
  message CancelExchangeDealRequest {
261
- ActorContext actor = 1;
259
+ AuthManagerContext auth_manager_context = 1;
262
260
  string id = 2;
263
261
  }
264
262
 
@@ -266,11 +264,11 @@ message CancelExchangeDealResponse {
266
264
  bool success = 1;
267
265
  optional string message = 2;
268
266
  optional string error = 3;
267
+ optional google.protobuf.Struct validationErrors = 4;
269
268
  }
270
269
 
271
-
272
270
  message GetTransactionsRequest {
273
- ActorContext actor = 1;
271
+ AuthManagerContext auth_manager_context = 1;
274
272
  optional string start_date = 2;
275
273
  optional string end_date = 3;
276
274
  optional string user_id = 4;