@arbiwallet/contracts 1.0.279 → 1.0.281
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.
- package/gen/exchange_core.ts +31 -0
- package/gen/referral.ts +84 -0
- package/gen/user.ts +69 -0
- package/package.json +1 -1
- package/proto/exchange_core.proto +25 -0
- package/proto/referral.proto +45 -0
- package/proto/user.proto +45 -0
package/gen/exchange_core.ts
CHANGED
|
@@ -361,6 +361,30 @@ export interface BatchGetUserDealStatsResponse {
|
|
|
361
361
|
items: UserDealStats[];
|
|
362
362
|
}
|
|
363
363
|
|
|
364
|
+
export interface GetUserMetricsRequest {
|
|
365
|
+
userId: number;
|
|
366
|
+
dateFrom?: string | undefined;
|
|
367
|
+
dateTo?: string | undefined;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
export interface UserDebtByCurrency {
|
|
371
|
+
currency: string;
|
|
372
|
+
amount: number;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
export interface UserMetricsSnapshot {
|
|
376
|
+
totalProfit: number;
|
|
377
|
+
dealsCount: number;
|
|
378
|
+
clientDebt: UserDebtByCurrency[];
|
|
379
|
+
averageMarkup: number;
|
|
380
|
+
averageCheck: number;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
export interface GetUserMetricsResponse {
|
|
384
|
+
period: UserMetricsSnapshot | undefined;
|
|
385
|
+
today: UserMetricsSnapshot | undefined;
|
|
386
|
+
}
|
|
387
|
+
|
|
364
388
|
export interface ExchangeCalculationsFiltersRequest {
|
|
365
389
|
dateFrom?: string | undefined;
|
|
366
390
|
dateTo?: string | undefined;
|
|
@@ -660,6 +684,8 @@ export interface ExchangeCoreServiceClient {
|
|
|
660
684
|
|
|
661
685
|
batchGetUserDealStats(request: BatchGetUserDealStatsRequest): Observable<BatchGetUserDealStatsResponse>;
|
|
662
686
|
|
|
687
|
+
getUserMetrics(request: GetUserMetricsRequest): Observable<GetUserMetricsResponse>;
|
|
688
|
+
|
|
663
689
|
createExchangePayment(request: CreateExchangePaymentRequest): Observable<CreateExchangePaymentResponse>;
|
|
664
690
|
|
|
665
691
|
handlePaymentWebhook(request: HandlePaymentWebhookRequest): Observable<HandlePaymentWebhookResponse>;
|
|
@@ -743,6 +769,10 @@ export interface ExchangeCoreServiceController {
|
|
|
743
769
|
request: BatchGetUserDealStatsRequest,
|
|
744
770
|
): Promise<BatchGetUserDealStatsResponse> | Observable<BatchGetUserDealStatsResponse> | BatchGetUserDealStatsResponse;
|
|
745
771
|
|
|
772
|
+
getUserMetrics(
|
|
773
|
+
request: GetUserMetricsRequest,
|
|
774
|
+
): Promise<GetUserMetricsResponse> | Observable<GetUserMetricsResponse> | GetUserMetricsResponse;
|
|
775
|
+
|
|
746
776
|
createExchangePayment(
|
|
747
777
|
request: CreateExchangePaymentRequest,
|
|
748
778
|
): Promise<CreateExchangePaymentResponse> | Observable<CreateExchangePaymentResponse> | CreateExchangePaymentResponse;
|
|
@@ -806,6 +836,7 @@ export function ExchangeCoreServiceControllerMethods() {
|
|
|
806
836
|
"cancelExchangeDeal",
|
|
807
837
|
"getUserIdsWithDealsInPeriod",
|
|
808
838
|
"batchGetUserDealStats",
|
|
839
|
+
"getUserMetrics",
|
|
809
840
|
"createExchangePayment",
|
|
810
841
|
"handlePaymentWebhook",
|
|
811
842
|
"getExchangePayments",
|
package/gen/referral.ts
CHANGED
|
@@ -102,6 +102,48 @@ export interface GetReferralSummaryResponse {
|
|
|
102
102
|
availableUsdtBalance: string;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
+
export interface AdminGetReferralProfileByUserIdRequest {
|
|
106
|
+
userId: number;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface AdminReferralProfileByUserIdResponse {
|
|
110
|
+
profileId: string;
|
|
111
|
+
userId: number;
|
|
112
|
+
refCode: string;
|
|
113
|
+
referrerUserId?: number | undefined;
|
|
114
|
+
bonusType: ReferralBonusType;
|
|
115
|
+
refPercent: string;
|
|
116
|
+
status: ReferralProfileStatus;
|
|
117
|
+
createdAt: string;
|
|
118
|
+
updatedAt: string;
|
|
119
|
+
/** true, если в рамках AdminUpdateReferralProfileByUserId был установлен referrer_user_id. */
|
|
120
|
+
referrerChanged: boolean;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export interface AdminUpdateReferralProfileByUserIdRequest {
|
|
124
|
+
userId: number;
|
|
125
|
+
/**
|
|
126
|
+
* Разрешено только если у профиля еще нет реферера.
|
|
127
|
+
* Если текущий реферер уже задан, сервис возвращает ошибку REFERRER_ALREADY_SET.
|
|
128
|
+
*/
|
|
129
|
+
referrerUserId?: number | undefined;
|
|
130
|
+
bonusType?: ReferralBonusType | undefined;
|
|
131
|
+
refPercent?: string | undefined;
|
|
132
|
+
refCode?: string | undefined;
|
|
133
|
+
changedBy?: string | undefined;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export interface GetUserReferralMetricsRequest {
|
|
137
|
+
walletUserId: string;
|
|
138
|
+
dateFrom?: string | undefined;
|
|
139
|
+
dateTo?: string | undefined;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export interface GetUserReferralMetricsResponse {
|
|
143
|
+
referralsCount: number;
|
|
144
|
+
referralsToday: number;
|
|
145
|
+
}
|
|
146
|
+
|
|
105
147
|
export interface ListReferralsRequest {
|
|
106
148
|
walletUserId: string;
|
|
107
149
|
page?: number | undefined;
|
|
@@ -282,6 +324,20 @@ export interface ReferralServiceClient {
|
|
|
282
324
|
|
|
283
325
|
getReferralSummary(request: GetReferralSummaryRequest): Observable<GetReferralSummaryResponse>;
|
|
284
326
|
|
|
327
|
+
/** CRM admin: получить реферальный профиль для формы редактирования пользователя. */
|
|
328
|
+
|
|
329
|
+
adminGetReferralProfileByUserId(
|
|
330
|
+
request: AdminGetReferralProfileByUserIdRequest,
|
|
331
|
+
): Observable<AdminReferralProfileByUserIdResponse>;
|
|
332
|
+
|
|
333
|
+
/** CRM admin: обновить реферальный профиль (реферер, тип начисления, процент, ref code). */
|
|
334
|
+
|
|
335
|
+
adminUpdateReferralProfileByUserId(
|
|
336
|
+
request: AdminUpdateReferralProfileByUserIdRequest,
|
|
337
|
+
): Observable<AdminReferralProfileByUserIdResponse>;
|
|
338
|
+
|
|
339
|
+
getUserReferralMetrics(request: GetUserReferralMetricsRequest): Observable<GetUserReferralMetricsResponse>;
|
|
340
|
+
|
|
285
341
|
listReferrals(request: ListReferralsRequest): Observable<ListReferralsResponse>;
|
|
286
342
|
|
|
287
343
|
getReferredUserIds(request: GetReferredUserIdsRequest): Observable<GetReferredUserIdsResponse>;
|
|
@@ -331,6 +387,31 @@ export interface ReferralServiceController {
|
|
|
331
387
|
request: GetReferralSummaryRequest,
|
|
332
388
|
): Promise<GetReferralSummaryResponse> | Observable<GetReferralSummaryResponse> | GetReferralSummaryResponse;
|
|
333
389
|
|
|
390
|
+
/** CRM admin: получить реферальный профиль для формы редактирования пользователя. */
|
|
391
|
+
|
|
392
|
+
adminGetReferralProfileByUserId(
|
|
393
|
+
request: AdminGetReferralProfileByUserIdRequest,
|
|
394
|
+
):
|
|
395
|
+
| Promise<AdminReferralProfileByUserIdResponse>
|
|
396
|
+
| Observable<AdminReferralProfileByUserIdResponse>
|
|
397
|
+
| AdminReferralProfileByUserIdResponse;
|
|
398
|
+
|
|
399
|
+
/** CRM admin: обновить реферальный профиль (реферер, тип начисления, процент, ref code). */
|
|
400
|
+
|
|
401
|
+
adminUpdateReferralProfileByUserId(
|
|
402
|
+
request: AdminUpdateReferralProfileByUserIdRequest,
|
|
403
|
+
):
|
|
404
|
+
| Promise<AdminReferralProfileByUserIdResponse>
|
|
405
|
+
| Observable<AdminReferralProfileByUserIdResponse>
|
|
406
|
+
| AdminReferralProfileByUserIdResponse;
|
|
407
|
+
|
|
408
|
+
getUserReferralMetrics(
|
|
409
|
+
request: GetUserReferralMetricsRequest,
|
|
410
|
+
):
|
|
411
|
+
| Promise<GetUserReferralMetricsResponse>
|
|
412
|
+
| Observable<GetUserReferralMetricsResponse>
|
|
413
|
+
| GetUserReferralMetricsResponse;
|
|
414
|
+
|
|
334
415
|
listReferrals(
|
|
335
416
|
request: ListReferralsRequest,
|
|
336
417
|
): Promise<ListReferralsResponse> | Observable<ListReferralsResponse> | ListReferralsResponse;
|
|
@@ -398,6 +479,9 @@ export function ReferralServiceControllerMethods() {
|
|
|
398
479
|
"getReferralLink",
|
|
399
480
|
"bindReferralByCode",
|
|
400
481
|
"getReferralSummary",
|
|
482
|
+
"adminGetReferralProfileByUserId",
|
|
483
|
+
"adminUpdateReferralProfileByUserId",
|
|
484
|
+
"getUserReferralMetrics",
|
|
401
485
|
"listReferrals",
|
|
402
486
|
"getReferredUserIds",
|
|
403
487
|
"batchGetDirectReferrersByUserIds",
|
package/gen/user.ts
CHANGED
|
@@ -95,6 +95,53 @@ export interface UserResponse {
|
|
|
95
95
|
advChannelName?: string | undefined;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
export interface AdminGetUserForUpdateRequest {
|
|
99
|
+
userId: number;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export interface AdminUserForUpdateResponse {
|
|
103
|
+
id: number;
|
|
104
|
+
uid: number;
|
|
105
|
+
firstName?: string | undefined;
|
|
106
|
+
lastName?: string | undefined;
|
|
107
|
+
email?: string | undefined;
|
|
108
|
+
phone?: string | undefined;
|
|
109
|
+
telegramUsername?: string | undefined;
|
|
110
|
+
telegramId?: string | undefined;
|
|
111
|
+
whatsapp?: string | undefined;
|
|
112
|
+
advChannel?: string | undefined;
|
|
113
|
+
refCode?: string | undefined;
|
|
114
|
+
referrerUserId?: number | undefined;
|
|
115
|
+
bonusType?: UserSearchBonusType | undefined;
|
|
116
|
+
refPercent?:
|
|
117
|
+
| number
|
|
118
|
+
| undefined;
|
|
119
|
+
/** true, если в рамках AdminUpdateUserProfile был установлен referrer_user_id. */
|
|
120
|
+
referrerChanged: boolean;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export interface AdminUpdateUserProfileRequest {
|
|
124
|
+
userId: number;
|
|
125
|
+
firstName?: string | undefined;
|
|
126
|
+
lastName?: string | undefined;
|
|
127
|
+
email?: string | undefined;
|
|
128
|
+
phone?: string | undefined;
|
|
129
|
+
telegramUsername?: string | undefined;
|
|
130
|
+
telegramId?: string | undefined;
|
|
131
|
+
whatsapp?: string | undefined;
|
|
132
|
+
advChannel?: string | undefined;
|
|
133
|
+
refCode?:
|
|
134
|
+
| string
|
|
135
|
+
| undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Разрешено только если у пользователя еще нет реферера.
|
|
138
|
+
* Если текущий реферер уже задан, сервис возвращает ошибку REFERRER_ALREADY_SET.
|
|
139
|
+
*/
|
|
140
|
+
referrerUserId?: number | undefined;
|
|
141
|
+
bonusType?: UserSearchBonusType | undefined;
|
|
142
|
+
refPercent?: number | undefined;
|
|
143
|
+
}
|
|
144
|
+
|
|
98
145
|
export interface UpdateUserRequest {
|
|
99
146
|
userId: number;
|
|
100
147
|
firstName?: string | undefined;
|
|
@@ -582,8 +629,16 @@ export const USER_PACKAGE_NAME = "user";
|
|
|
582
629
|
export interface UserServiceClient {
|
|
583
630
|
getUser(request: GetUserRequest): Observable<UserResponse>;
|
|
584
631
|
|
|
632
|
+
/** CRM admin: получить поля пользователя для формы редактирования. */
|
|
633
|
+
|
|
634
|
+
adminGetUserForUpdate(request: AdminGetUserForUpdateRequest): Observable<AdminUserForUpdateResponse>;
|
|
635
|
+
|
|
585
636
|
updateUser(request: UpdateUserRequest): Observable<UserResponse>;
|
|
586
637
|
|
|
638
|
+
/** CRM admin: обновить редактируемые поля пользователя. */
|
|
639
|
+
|
|
640
|
+
adminUpdateUserProfile(request: AdminUpdateUserProfileRequest): Observable<AdminUserForUpdateResponse>;
|
|
641
|
+
|
|
587
642
|
updateUserStatus(request: UpdateUserStatusRequest): Observable<UserResponse>;
|
|
588
643
|
|
|
589
644
|
listUsers(request: ListUsersRequest): Observable<ListUsersResponse>;
|
|
@@ -718,8 +773,20 @@ export interface UserServiceClient {
|
|
|
718
773
|
export interface UserServiceController {
|
|
719
774
|
getUser(request: GetUserRequest): Promise<UserResponse> | Observable<UserResponse> | UserResponse;
|
|
720
775
|
|
|
776
|
+
/** CRM admin: получить поля пользователя для формы редактирования. */
|
|
777
|
+
|
|
778
|
+
adminGetUserForUpdate(
|
|
779
|
+
request: AdminGetUserForUpdateRequest,
|
|
780
|
+
): Promise<AdminUserForUpdateResponse> | Observable<AdminUserForUpdateResponse> | AdminUserForUpdateResponse;
|
|
781
|
+
|
|
721
782
|
updateUser(request: UpdateUserRequest): Promise<UserResponse> | Observable<UserResponse> | UserResponse;
|
|
722
783
|
|
|
784
|
+
/** CRM admin: обновить редактируемые поля пользователя. */
|
|
785
|
+
|
|
786
|
+
adminUpdateUserProfile(
|
|
787
|
+
request: AdminUpdateUserProfileRequest,
|
|
788
|
+
): Promise<AdminUserForUpdateResponse> | Observable<AdminUserForUpdateResponse> | AdminUserForUpdateResponse;
|
|
789
|
+
|
|
723
790
|
updateUserStatus(request: UpdateUserStatusRequest): Promise<UserResponse> | Observable<UserResponse> | UserResponse;
|
|
724
791
|
|
|
725
792
|
listUsers(request: ListUsersRequest): Promise<ListUsersResponse> | Observable<ListUsersResponse> | ListUsersResponse;
|
|
@@ -959,7 +1026,9 @@ export function UserServiceControllerMethods() {
|
|
|
959
1026
|
return function (constructor: Function) {
|
|
960
1027
|
const grpcMethods: string[] = [
|
|
961
1028
|
"getUser",
|
|
1029
|
+
"adminGetUserForUpdate",
|
|
962
1030
|
"updateUser",
|
|
1031
|
+
"adminUpdateUserProfile",
|
|
963
1032
|
"updateUserStatus",
|
|
964
1033
|
"listUsers",
|
|
965
1034
|
"updateUserSearchStats",
|
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.
|
|
4
|
+
"version": "1.0.281",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"generate": "protoc -I ./proto ./proto/*.proto --ts_proto_out=./gen --ts_proto_opt=nestJs=true,package=omit"
|
|
7
7
|
},
|
|
@@ -22,6 +22,7 @@ service ExchangeCoreService {
|
|
|
22
22
|
rpc CancelExchangeDeal(CancelExchangeDealRequest) returns (CancelExchangeDealResponse);
|
|
23
23
|
rpc GetUserIdsWithDealsInPeriod(GetUserIdsWithDealsInPeriodRequest) returns (GetUserIdsWithDealsInPeriodResponse);
|
|
24
24
|
rpc BatchGetUserDealStats(BatchGetUserDealStatsRequest) returns (BatchGetUserDealStatsResponse);
|
|
25
|
+
rpc GetUserMetrics(GetUserMetricsRequest) returns (GetUserMetricsResponse);
|
|
25
26
|
|
|
26
27
|
rpc CreateExchangePayment(CreateExchangePaymentRequest) returns (CreateExchangePaymentResponse);
|
|
27
28
|
rpc HandlePaymentWebhook(HandlePaymentWebhookRequest) returns (HandlePaymentWebhookResponse);
|
|
@@ -408,6 +409,30 @@ message BatchGetUserDealStatsResponse {
|
|
|
408
409
|
repeated UserDealStats items = 1;
|
|
409
410
|
}
|
|
410
411
|
|
|
412
|
+
message GetUserMetricsRequest {
|
|
413
|
+
int32 user_id = 1;
|
|
414
|
+
optional string date_from = 2;
|
|
415
|
+
optional string date_to = 3;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
message UserDebtByCurrency {
|
|
419
|
+
string currency = 1;
|
|
420
|
+
double amount = 2;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
message UserMetricsSnapshot {
|
|
424
|
+
double total_profit = 1;
|
|
425
|
+
int32 deals_count = 2;
|
|
426
|
+
repeated UserDebtByCurrency client_debt = 3;
|
|
427
|
+
double average_markup = 4;
|
|
428
|
+
double average_check = 5;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
message GetUserMetricsResponse {
|
|
432
|
+
UserMetricsSnapshot period = 1;
|
|
433
|
+
UserMetricsSnapshot today = 2;
|
|
434
|
+
}
|
|
435
|
+
|
|
411
436
|
message ExchangeCalculationsFiltersRequest {
|
|
412
437
|
optional string date_from = 1;
|
|
413
438
|
optional string date_to = 2;
|
package/proto/referral.proto
CHANGED
|
@@ -9,6 +9,11 @@ service ReferralService {
|
|
|
9
9
|
rpc GetReferralLink(GetReferralLinkRequest) returns (GetReferralLinkResponse);
|
|
10
10
|
rpc BindReferralByCode(BindReferralByCodeRequest) returns (BindReferralByCodeResponse);
|
|
11
11
|
rpc GetReferralSummary(GetReferralSummaryRequest) returns (GetReferralSummaryResponse);
|
|
12
|
+
// CRM admin: получить реферальный профиль для формы редактирования пользователя.
|
|
13
|
+
rpc AdminGetReferralProfileByUserId(AdminGetReferralProfileByUserIdRequest) returns (AdminReferralProfileByUserIdResponse);
|
|
14
|
+
// CRM admin: обновить реферальный профиль (реферер, тип начисления, процент, ref code).
|
|
15
|
+
rpc AdminUpdateReferralProfileByUserId(AdminUpdateReferralProfileByUserIdRequest) returns (AdminReferralProfileByUserIdResponse);
|
|
16
|
+
rpc GetUserReferralMetrics(GetUserReferralMetricsRequest) returns (GetUserReferralMetricsResponse);
|
|
12
17
|
rpc ListReferrals(ListReferralsRequest) returns (ListReferralsResponse);
|
|
13
18
|
rpc GetReferredUserIds(GetReferredUserIdsRequest) returns (GetReferredUserIdsResponse);
|
|
14
19
|
rpc BatchGetDirectReferrersByUserIds(BatchGetDirectReferrersByUserIdsRequest) returns (BatchGetDirectReferrersByUserIdsResponse);
|
|
@@ -110,6 +115,46 @@ message GetReferralSummaryResponse {
|
|
|
110
115
|
string available_usdt_balance = 6;
|
|
111
116
|
}
|
|
112
117
|
|
|
118
|
+
message AdminGetReferralProfileByUserIdRequest {
|
|
119
|
+
int32 user_id = 1;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
message AdminReferralProfileByUserIdResponse {
|
|
123
|
+
string profile_id = 1;
|
|
124
|
+
int32 user_id = 2;
|
|
125
|
+
string ref_code = 3;
|
|
126
|
+
optional int32 referrer_user_id = 4;
|
|
127
|
+
ReferralBonusType bonus_type = 5;
|
|
128
|
+
string ref_percent = 6;
|
|
129
|
+
ReferralProfileStatus status = 7;
|
|
130
|
+
string created_at = 8;
|
|
131
|
+
string updated_at = 9;
|
|
132
|
+
// true, если в рамках AdminUpdateReferralProfileByUserId был установлен referrer_user_id.
|
|
133
|
+
bool referrer_changed = 10;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
message AdminUpdateReferralProfileByUserIdRequest {
|
|
137
|
+
int32 user_id = 1;
|
|
138
|
+
// Разрешено только если у профиля еще нет реферера.
|
|
139
|
+
// Если текущий реферер уже задан, сервис возвращает ошибку REFERRER_ALREADY_SET.
|
|
140
|
+
optional int32 referrer_user_id = 2;
|
|
141
|
+
optional ReferralBonusType bonus_type = 3;
|
|
142
|
+
optional string ref_percent = 4;
|
|
143
|
+
optional string ref_code = 5;
|
|
144
|
+
optional string changed_by = 6;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
message GetUserReferralMetricsRequest {
|
|
148
|
+
string wallet_user_id = 1;
|
|
149
|
+
optional string date_from = 2;
|
|
150
|
+
optional string date_to = 3;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
message GetUserReferralMetricsResponse {
|
|
154
|
+
int32 referrals_count = 1;
|
|
155
|
+
int32 referrals_today = 2;
|
|
156
|
+
}
|
|
157
|
+
|
|
113
158
|
message ListReferralsRequest {
|
|
114
159
|
string wallet_user_id = 1;
|
|
115
160
|
optional int32 page = 2;
|
package/proto/user.proto
CHANGED
|
@@ -3,7 +3,11 @@ package user;
|
|
|
3
3
|
|
|
4
4
|
service UserService {
|
|
5
5
|
rpc GetUser (GetUserRequest) returns (UserResponse);
|
|
6
|
+
// CRM admin: получить поля пользователя для формы редактирования.
|
|
7
|
+
rpc AdminGetUserForUpdate (AdminGetUserForUpdateRequest) returns (AdminUserForUpdateResponse);
|
|
6
8
|
rpc UpdateUser (UpdateUserRequest) returns (UserResponse);
|
|
9
|
+
// CRM admin: обновить редактируемые поля пользователя.
|
|
10
|
+
rpc AdminUpdateUserProfile (AdminUpdateUserProfileRequest) returns (AdminUserForUpdateResponse);
|
|
7
11
|
rpc UpdateUserStatus (UpdateUserStatusRequest) returns (UserResponse);
|
|
8
12
|
rpc ListUsers (ListUsersRequest) returns (ListUsersResponse);
|
|
9
13
|
rpc UpdateUserSearchStats (UpdateUserSearchStatsRequest) returns (UpdateUserSearchStatsResponse);
|
|
@@ -135,6 +139,47 @@ message UserResponse {
|
|
|
135
139
|
optional string adv_channel_name = 42;
|
|
136
140
|
}
|
|
137
141
|
|
|
142
|
+
message AdminGetUserForUpdateRequest {
|
|
143
|
+
int32 user_id = 1;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
message AdminUserForUpdateResponse {
|
|
147
|
+
int32 id = 1;
|
|
148
|
+
int32 uid = 2;
|
|
149
|
+
optional string first_name = 3;
|
|
150
|
+
optional string last_name = 4;
|
|
151
|
+
optional string email = 5;
|
|
152
|
+
optional string phone = 6;
|
|
153
|
+
optional string telegram_username = 7;
|
|
154
|
+
optional string telegram_id = 8;
|
|
155
|
+
optional string whatsapp = 9;
|
|
156
|
+
optional string adv_channel = 10;
|
|
157
|
+
optional string ref_code = 11;
|
|
158
|
+
optional int32 referrer_user_id = 12;
|
|
159
|
+
optional UserSearchBonusType bonus_type = 13;
|
|
160
|
+
optional double ref_percent = 14;
|
|
161
|
+
// true, если в рамках AdminUpdateUserProfile был установлен referrer_user_id.
|
|
162
|
+
bool referrer_changed = 15;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
message AdminUpdateUserProfileRequest {
|
|
166
|
+
int32 user_id = 1;
|
|
167
|
+
optional string first_name = 2;
|
|
168
|
+
optional string last_name = 3;
|
|
169
|
+
optional string email = 4;
|
|
170
|
+
optional string phone = 5;
|
|
171
|
+
optional string telegram_username = 6;
|
|
172
|
+
optional string telegram_id = 7;
|
|
173
|
+
optional string whatsapp = 8;
|
|
174
|
+
optional string adv_channel = 9;
|
|
175
|
+
optional string ref_code = 10;
|
|
176
|
+
// Разрешено только если у пользователя еще нет реферера.
|
|
177
|
+
// Если текущий реферер уже задан, сервис возвращает ошибку REFERRER_ALREADY_SET.
|
|
178
|
+
optional int32 referrer_user_id = 11;
|
|
179
|
+
optional UserSearchBonusType bonus_type = 12;
|
|
180
|
+
optional double ref_percent = 13;
|
|
181
|
+
}
|
|
182
|
+
|
|
138
183
|
message UpdateUserRequest {
|
|
139
184
|
int32 user_id = 1;
|
|
140
185
|
optional string first_name = 2;
|