@aepstore-dev/contracts 1.70.0 → 1.71.0

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/products.d.ts CHANGED
@@ -235,6 +235,8 @@ export interface QueryProductsRequest {
235
235
  moderationStatus: ModerationStatus;
236
236
  /** owner-only list filter; used by /products/my?status=deleted */
237
237
  deletedOnly: boolean;
238
+ /** admin/public filter by Product.userId */
239
+ sellerUserId: string;
238
240
  }
239
241
  export interface FindMyRequest {
240
242
  userId: string;
package/gen/products.ts CHANGED
@@ -265,6 +265,8 @@ export interface QueryProductsRequest {
265
265
  moderationStatus: ModerationStatus;
266
266
  /** owner-only list filter; used by /products/my?status=deleted */
267
267
  deletedOnly: boolean;
268
+ /** admin/public filter by Product.userId */
269
+ sellerUserId: string;
268
270
  }
269
271
 
270
272
  export interface FindMyRequest {
package/gen/support.d.ts CHANGED
@@ -260,6 +260,8 @@ export interface ListTicketsRequest {
260
260
  /** ISO; inclusive lower bound on createdAt */
261
261
  dateFrom: string;
262
262
  dateTo: string;
263
+ /** admin filter by ticket author */
264
+ authorId: string;
263
265
  }
264
266
  export interface AssignTicketRequest {
265
267
  ticketId: string;
package/gen/support.ts CHANGED
@@ -298,6 +298,8 @@ export interface ListTicketsRequest {
298
298
  /** ISO; inclusive lower bound on createdAt */
299
299
  dateFrom: string;
300
300
  dateTo: string;
301
+ /** admin filter by ticket author */
302
+ authorId: string;
301
303
  }
302
304
 
303
305
  export interface AssignTicketRequest {
package/gen/users.d.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  import { Observable } from "rxjs";
2
2
  export declare const protobufPackage = "users.v1";
3
+ export declare enum AdminUserRelationKind {
4
+ ADMIN_USER_RELATION_KIND_UNSPECIFIED = 0,
5
+ ADMIN_USER_RELATION_KIND_SUBSCRIPTIONS = 1,
6
+ ADMIN_USER_RELATION_KIND_SUBSCRIBERS = 2,
7
+ UNRECOGNIZED = -1
8
+ }
3
9
  export declare enum UserFieldsType {
4
10
  USER_FIELDS_TYPE_UNSPECIFIED = 0,
5
11
  USER_FIELDS_TYPE_VIDEOS = 1,
@@ -249,6 +255,116 @@ export interface GetUsersResponse {
249
255
  page: number;
250
256
  limit: number;
251
257
  }
258
+ export interface GetAdminUserOverviewRequest {
259
+ userId: string;
260
+ }
261
+ export interface AdminUserIdentity {
262
+ id: string;
263
+ email: string;
264
+ username: string;
265
+ fullName: string;
266
+ aboutMe: string;
267
+ rating: string;
268
+ avatarUrl: string;
269
+ bannerUrl: string;
270
+ locale: string;
271
+ timezone: string;
272
+ countryId: string;
273
+ country: Country | undefined;
274
+ roles: string[];
275
+ primaryRole: string;
276
+ createdAt: string;
277
+ updatedAt: string;
278
+ }
279
+ export interface AdminUserStatus {
280
+ isVerified: boolean;
281
+ isBanned: boolean;
282
+ bannedUntil: string;
283
+ banReason: string;
284
+ isDeleted: boolean;
285
+ deletedAt: string;
286
+ scheduledForHardDelete: string;
287
+ }
288
+ export interface AdminUserSecurity {
289
+ /** NONE | APP | EMAIL */
290
+ twoFactorType: string;
291
+ twoFactorEnabled: boolean;
292
+ backupCodesRemaining: number;
293
+ activeDevicesCount: number;
294
+ lockUntil: string;
295
+ failedLogin: number;
296
+ lastLoginAt: string;
297
+ lastLoginIp: string;
298
+ lastLoginUserAgent: string;
299
+ }
300
+ export interface AdminUserPrivacy {
301
+ hideEmail: boolean;
302
+ hideBalance: boolean;
303
+ hideOnline: boolean;
304
+ hideSubscriptions: boolean;
305
+ }
306
+ export interface AdminUserEmailPrefs {
307
+ newsletterSubscription: boolean;
308
+ emailOnSales: boolean;
309
+ emailOnReviews: boolean;
310
+ emailOnNews: boolean;
311
+ }
312
+ export interface AdminUserPayout {
313
+ payoutMethod: string;
314
+ payoutDetails: string;
315
+ }
316
+ export interface AdminUserPremiumCustomization {
317
+ profileColor: string;
318
+ avatarBorderId: string;
319
+ avatarBorder: AvatarBorder | undefined;
320
+ animatedAvatarUrl: string;
321
+ animatedBannerUrl: string;
322
+ }
323
+ export interface AdminUserStats {
324
+ subscribersCount: number;
325
+ subscriptionsCount: number;
326
+ productsCount: number;
327
+ activeProductsCount: number;
328
+ draftProductsCount: number;
329
+ deletedProductsCount: number;
330
+ purchasesCount: number;
331
+ salesCount: number;
332
+ supportTicketsCount: number;
333
+ openSupportTicketsCount: number;
334
+ reviewsCount: number;
335
+ reportsCreatedCount: number;
336
+ profileReportsCount: number;
337
+ blockedUsersCount: number;
338
+ savedCardsCount: number;
339
+ }
340
+ export interface AdminUserOverviewResponse {
341
+ identity: AdminUserIdentity | undefined;
342
+ status: AdminUserStatus | undefined;
343
+ security: AdminUserSecurity | undefined;
344
+ privacy: AdminUserPrivacy | undefined;
345
+ emailPrefs: AdminUserEmailPrefs | undefined;
346
+ payout: AdminUserPayout | undefined;
347
+ premium: PremiumStateResponse | undefined;
348
+ premiumCustomization: AdminUserPremiumCustomization | undefined;
349
+ stats: AdminUserStats | undefined;
350
+ socialMedia: SocialMedia[];
351
+ }
352
+ export interface ListAdminUserRelationsRequest {
353
+ userId: string;
354
+ kind: AdminUserRelationKind;
355
+ page: number;
356
+ limit: number;
357
+ }
358
+ export interface AdminUserRelation {
359
+ user: ProfileUser | undefined;
360
+ createdAt: string;
361
+ }
362
+ export interface ListAdminUserRelationsResponse {
363
+ items: AdminUserRelation[];
364
+ total: number;
365
+ page: number;
366
+ limit: number;
367
+ }
252
368
  export interface GetActiveDevicesRequest {
253
369
  userId: string;
254
370
  }
@@ -593,6 +709,8 @@ export interface UsersServiceClient {
593
709
  checkAvailability(request: CheckAvailabilityRequest): Observable<CheckAvailabilityResponse>;
594
710
  updateUserRole(request: UpdateUserRoleRequest): Observable<UserResponse>;
595
711
  getUsers(request: GetUsersRequest): Observable<GetUsersResponse>;
712
+ getAdminUserOverview(request: GetAdminUserOverviewRequest): Observable<AdminUserOverviewResponse>;
713
+ listAdminUserRelations(request: ListAdminUserRelationsRequest): Observable<ListAdminUserRelationsResponse>;
596
714
  getActiveDevices(request: GetActiveDevicesRequest): Observable<GetActiveDevicesResponse>;
597
715
  manageDevices(request: ManageDevicesRequest): Observable<ManageDevicesResponse>;
598
716
  getUserFields(request: GetUserFieldsRequest): Observable<GetUserFieldsResponse>;
@@ -659,6 +777,8 @@ export interface UsersServiceController {
659
777
  checkAvailability(request: CheckAvailabilityRequest): Promise<CheckAvailabilityResponse> | Observable<CheckAvailabilityResponse> | CheckAvailabilityResponse;
660
778
  updateUserRole(request: UpdateUserRoleRequest): Promise<UserResponse> | Observable<UserResponse> | UserResponse;
661
779
  getUsers(request: GetUsersRequest): Promise<GetUsersResponse> | Observable<GetUsersResponse> | GetUsersResponse;
780
+ getAdminUserOverview(request: GetAdminUserOverviewRequest): Promise<AdminUserOverviewResponse> | Observable<AdminUserOverviewResponse> | AdminUserOverviewResponse;
781
+ listAdminUserRelations(request: ListAdminUserRelationsRequest): Promise<ListAdminUserRelationsResponse> | Observable<ListAdminUserRelationsResponse> | ListAdminUserRelationsResponse;
662
782
  getActiveDevices(request: GetActiveDevicesRequest): Promise<GetActiveDevicesResponse> | Observable<GetActiveDevicesResponse> | GetActiveDevicesResponse;
663
783
  manageDevices(request: ManageDevicesRequest): Promise<ManageDevicesResponse> | Observable<ManageDevicesResponse> | ManageDevicesResponse;
664
784
  getUserFields(request: GetUserFieldsRequest): Promise<GetUserFieldsResponse> | Observable<GetUserFieldsResponse> | GetUserFieldsResponse;
package/gen/users.js CHANGED
@@ -5,11 +5,18 @@
5
5
  // protoc v7.35.1
6
6
  // source: users.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.USERS_SERVICE_NAME = exports.USERS_V1_PACKAGE_NAME = exports.PremiumPeriod = exports.UserFieldsType = exports.protobufPackage = void 0;
8
+ exports.USERS_SERVICE_NAME = exports.USERS_V1_PACKAGE_NAME = exports.PremiumPeriod = exports.UserFieldsType = exports.AdminUserRelationKind = 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 AdminUserRelationKind;
14
+ (function (AdminUserRelationKind) {
15
+ AdminUserRelationKind[AdminUserRelationKind["ADMIN_USER_RELATION_KIND_UNSPECIFIED"] = 0] = "ADMIN_USER_RELATION_KIND_UNSPECIFIED";
16
+ AdminUserRelationKind[AdminUserRelationKind["ADMIN_USER_RELATION_KIND_SUBSCRIPTIONS"] = 1] = "ADMIN_USER_RELATION_KIND_SUBSCRIPTIONS";
17
+ AdminUserRelationKind[AdminUserRelationKind["ADMIN_USER_RELATION_KIND_SUBSCRIBERS"] = 2] = "ADMIN_USER_RELATION_KIND_SUBSCRIBERS";
18
+ AdminUserRelationKind[AdminUserRelationKind["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
19
+ })(AdminUserRelationKind || (exports.AdminUserRelationKind = AdminUserRelationKind = {}));
13
20
  var UserFieldsType;
14
21
  (function (UserFieldsType) {
15
22
  UserFieldsType[UserFieldsType["USER_FIELDS_TYPE_UNSPECIFIED"] = 0] = "USER_FIELDS_TYPE_UNSPECIFIED";
@@ -39,6 +46,8 @@ function UsersServiceControllerMethods() {
39
46
  "checkAvailability",
40
47
  "updateUserRole",
41
48
  "getUsers",
49
+ "getAdminUserOverview",
50
+ "listAdminUserRelations",
42
51
  "getActiveDevices",
43
52
  "manageDevices",
44
53
  "getUserFields",
package/gen/users.ts CHANGED
@@ -10,6 +10,13 @@ import { Observable } from "rxjs";
10
10
 
11
11
  export const protobufPackage = "users.v1";
12
12
 
13
+ export enum AdminUserRelationKind {
14
+ ADMIN_USER_RELATION_KIND_UNSPECIFIED = 0,
15
+ ADMIN_USER_RELATION_KIND_SUBSCRIPTIONS = 1,
16
+ ADMIN_USER_RELATION_KIND_SUBSCRIBERS = 2,
17
+ UNRECOGNIZED = -1,
18
+ }
19
+
13
20
  export enum UserFieldsType {
14
21
  USER_FIELDS_TYPE_UNSPECIFIED = 0,
15
22
  USER_FIELDS_TYPE_VIDEOS = 1,
@@ -287,6 +294,129 @@ export interface GetUsersResponse {
287
294
  limit: number;
288
295
  }
289
296
 
297
+ export interface GetAdminUserOverviewRequest {
298
+ userId: string;
299
+ }
300
+
301
+ export interface AdminUserIdentity {
302
+ id: string;
303
+ email: string;
304
+ username: string;
305
+ fullName: string;
306
+ aboutMe: string;
307
+ rating: string;
308
+ avatarUrl: string;
309
+ bannerUrl: string;
310
+ locale: string;
311
+ timezone: string;
312
+ countryId: string;
313
+ country: Country | undefined;
314
+ roles: string[];
315
+ primaryRole: string;
316
+ createdAt: string;
317
+ updatedAt: string;
318
+ }
319
+
320
+ export interface AdminUserStatus {
321
+ isVerified: boolean;
322
+ isBanned: boolean;
323
+ bannedUntil: string;
324
+ banReason: string;
325
+ isDeleted: boolean;
326
+ deletedAt: string;
327
+ scheduledForHardDelete: string;
328
+ }
329
+
330
+ export interface AdminUserSecurity {
331
+ /** NONE | APP | EMAIL */
332
+ twoFactorType: string;
333
+ twoFactorEnabled: boolean;
334
+ backupCodesRemaining: number;
335
+ activeDevicesCount: number;
336
+ lockUntil: string;
337
+ failedLogin: number;
338
+ lastLoginAt: string;
339
+ lastLoginIp: string;
340
+ lastLoginUserAgent: string;
341
+ }
342
+
343
+ export interface AdminUserPrivacy {
344
+ hideEmail: boolean;
345
+ hideBalance: boolean;
346
+ hideOnline: boolean;
347
+ hideSubscriptions: boolean;
348
+ }
349
+
350
+ export interface AdminUserEmailPrefs {
351
+ newsletterSubscription: boolean;
352
+ emailOnSales: boolean;
353
+ emailOnReviews: boolean;
354
+ emailOnNews: boolean;
355
+ }
356
+
357
+ export interface AdminUserPayout {
358
+ payoutMethod: string;
359
+ payoutDetails: string;
360
+ }
361
+
362
+ export interface AdminUserPremiumCustomization {
363
+ profileColor: string;
364
+ avatarBorderId: string;
365
+ avatarBorder: AvatarBorder | undefined;
366
+ animatedAvatarUrl: string;
367
+ animatedBannerUrl: string;
368
+ }
369
+
370
+ export interface AdminUserStats {
371
+ subscribersCount: number;
372
+ subscriptionsCount: number;
373
+ productsCount: number;
374
+ activeProductsCount: number;
375
+ draftProductsCount: number;
376
+ deletedProductsCount: number;
377
+ purchasesCount: number;
378
+ salesCount: number;
379
+ supportTicketsCount: number;
380
+ openSupportTicketsCount: number;
381
+ reviewsCount: number;
382
+ reportsCreatedCount: number;
383
+ profileReportsCount: number;
384
+ blockedUsersCount: number;
385
+ savedCardsCount: number;
386
+ }
387
+
388
+ export interface AdminUserOverviewResponse {
389
+ identity: AdminUserIdentity | undefined;
390
+ status: AdminUserStatus | undefined;
391
+ security: AdminUserSecurity | undefined;
392
+ privacy: AdminUserPrivacy | undefined;
393
+ emailPrefs: AdminUserEmailPrefs | undefined;
394
+ payout: AdminUserPayout | undefined;
395
+ premium: PremiumStateResponse | undefined;
396
+ premiumCustomization: AdminUserPremiumCustomization | undefined;
397
+ stats: AdminUserStats | undefined;
398
+ socialMedia: SocialMedia[];
399
+ }
400
+
401
+ export interface ListAdminUserRelationsRequest {
402
+ userId: string;
403
+ kind: AdminUserRelationKind;
404
+ page: number;
405
+ limit: number;
406
+ }
407
+
408
+ export interface AdminUserRelation {
409
+ user: ProfileUser | undefined;
410
+ createdAt: string;
411
+ }
412
+
413
+ export interface ListAdminUserRelationsResponse {
414
+ items: AdminUserRelation[];
415
+ total: number;
416
+ page: number;
417
+ limit: number;
418
+ }
419
+
290
420
  export interface GetActiveDevicesRequest {
291
421
  userId: string;
292
422
  }
@@ -691,6 +821,10 @@ export interface UsersServiceClient {
691
821
 
692
822
  getUsers(request: GetUsersRequest): Observable<GetUsersResponse>;
693
823
 
824
+ getAdminUserOverview(request: GetAdminUserOverviewRequest): Observable<AdminUserOverviewResponse>;
825
+
826
+ listAdminUserRelations(request: ListAdminUserRelationsRequest): Observable<ListAdminUserRelationsResponse>;
827
+
694
828
  getActiveDevices(request: GetActiveDevicesRequest): Observable<GetActiveDevicesResponse>;
695
829
 
696
830
  manageDevices(request: ManageDevicesRequest): Observable<ManageDevicesResponse>;
@@ -815,6 +949,17 @@ export interface UsersServiceController {
815
949
 
816
950
  getUsers(request: GetUsersRequest): Promise<GetUsersResponse> | Observable<GetUsersResponse> | GetUsersResponse;
817
951
 
952
+ getAdminUserOverview(
953
+ request: GetAdminUserOverviewRequest,
954
+ ): Promise<AdminUserOverviewResponse> | Observable<AdminUserOverviewResponse> | AdminUserOverviewResponse;
955
+
956
+ listAdminUserRelations(
957
+ request: ListAdminUserRelationsRequest,
958
+ ):
959
+ | Promise<ListAdminUserRelationsResponse>
960
+ | Observable<ListAdminUserRelationsResponse>
961
+ | ListAdminUserRelationsResponse;
962
+
818
963
  getActiveDevices(
819
964
  request: GetActiveDevicesRequest,
820
965
  ): Promise<GetActiveDevicesResponse> | Observable<GetActiveDevicesResponse> | GetActiveDevicesResponse;
@@ -979,6 +1124,8 @@ export function UsersServiceControllerMethods() {
979
1124
  "checkAvailability",
980
1125
  "updateUserRole",
981
1126
  "getUsers",
1127
+ "getAdminUserOverview",
1128
+ "listAdminUserRelations",
982
1129
  "getActiveDevices",
983
1130
  "manageDevices",
984
1131
  "getUserFields",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aepstore-dev/contracts",
3
- "version": "1.70.0",
3
+ "version": "1.71.0",
4
4
  "description": "Protobuf definitions for aepstore microservices",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -255,9 +255,10 @@ message QueryProductsRequest {
255
255
  string sort_by = 9; // createdAt | price | name | updatedAt | finalPrice
256
256
  string sort_order = 10; // asc | desc
257
257
  ProductStatus status = 11;
258
- ModerationStatus moderation_status = 12;
259
- bool deleted_only = 13; // owner-only list filter; used by /products/my?status=deleted
260
- }
258
+ ModerationStatus moderation_status = 12;
259
+ bool deleted_only = 13; // owner-only list filter; used by /products/my?status=deleted
260
+ string seller_user_id = 14; // admin/public filter by Product.userId
261
+ }
261
262
 
262
263
  message FindMyRequest {
263
264
  string user_id = 1;
@@ -269,10 +269,11 @@ message ListTicketsRequest {
269
269
  int32 page = 4;
270
270
  int32 limit = 5;
271
271
  string department = 6;
272
- string search = 7; // contains in subject OR in any message body
273
- string date_from = 8; // ISO; inclusive lower bound on createdAt
274
- string date_to = 9;
275
- }
272
+ string search = 7; // contains in subject OR in any message body
273
+ string date_from = 8; // ISO; inclusive lower bound on createdAt
274
+ string date_to = 9;
275
+ string author_id = 10; // admin filter by ticket author
276
+ }
276
277
 
277
278
  message AssignTicketRequest {
278
279
  string ticket_id = 1;
package/proto/users.proto CHANGED
@@ -7,11 +7,13 @@ service UsersService {
7
7
  rpc UpdateProfile(UpdateProfileRequest) returns (PublicProfileResponse);
8
8
  rpc UpdateUser(UpdateUserRequest) returns (UserResponse);
9
9
  rpc CheckAvailability(CheckAvailabilityRequest) returns (CheckAvailabilityResponse);
10
- rpc UpdateUserRole(UpdateUserRoleRequest) returns (UserResponse);
11
- rpc GetUsers(GetUsersRequest) returns (GetUsersResponse);
12
- rpc GetActiveDevices(GetActiveDevicesRequest) returns (GetActiveDevicesResponse);
13
- rpc ManageDevices(ManageDevicesRequest) returns (ManageDevicesResponse);
14
- rpc GetUserFields(GetUserFieldsRequest) returns (GetUserFieldsResponse);
10
+ rpc UpdateUserRole(UpdateUserRoleRequest) returns (UserResponse);
11
+ rpc GetUsers(GetUsersRequest) returns (GetUsersResponse);
12
+ rpc GetAdminUserOverview(GetAdminUserOverviewRequest) returns (AdminUserOverviewResponse);
13
+ rpc ListAdminUserRelations(ListAdminUserRelationsRequest) returns (ListAdminUserRelationsResponse);
14
+ rpc GetActiveDevices(GetActiveDevicesRequest) returns (GetActiveDevicesResponse);
15
+ rpc ManageDevices(ManageDevicesRequest) returns (ManageDevicesResponse);
16
+ rpc GetUserFields(GetUserFieldsRequest) returns (GetUserFieldsResponse);
15
17
 
16
18
  rpc CreateSubscription(SubscriptionRequest) returns (SubscriptionResponse);
17
19
  rpc DeleteSubscription(SubscriptionRequest) returns (SubscriptionResponse);
@@ -307,16 +309,148 @@ message GetUsersRequest {
307
309
  string role_name = 4;
308
310
  }
309
311
 
310
- message GetUsersResponse {
311
- repeated User items = 1;
312
- int32 total = 2;
313
- int32 page = 3;
314
- int32 limit = 4;
315
- }
316
-
317
- // =================================================================
318
- // Active devices
319
- // =================================================================
312
+ message GetUsersResponse {
313
+ repeated User items = 1;
314
+ int32 total = 2;
315
+ int32 page = 3;
316
+ int32 limit = 4;
317
+ }
318
+
319
+ // =================================================================
320
+ // Admin user detail
321
+ // =================================================================
322
+
323
+ message GetAdminUserOverviewRequest {
324
+ string user_id = 1;
325
+ }
326
+
327
+ message AdminUserIdentity {
328
+ string id = 1;
329
+ string email = 2;
330
+ string username = 3;
331
+ string full_name = 4;
332
+ string about_me = 5;
333
+ string rating = 6;
334
+ string avatar_url = 7;
335
+ string banner_url = 8;
336
+ string locale = 9;
337
+ string timezone = 10;
338
+ string country_id = 11;
339
+ Country country = 12;
340
+ repeated string roles = 13;
341
+ string primary_role = 14;
342
+ string created_at = 15;
343
+ string updated_at = 16;
344
+ }
345
+
346
+ message AdminUserStatus {
347
+ bool is_verified = 1;
348
+ bool is_banned = 2;
349
+ string banned_until = 3;
350
+ string ban_reason = 4;
351
+ bool is_deleted = 5;
352
+ string deleted_at = 6;
353
+ string scheduled_for_hard_delete = 7;
354
+ }
355
+
356
+ message AdminUserSecurity {
357
+ string two_factor_type = 1; // NONE | APP | EMAIL
358
+ bool two_factor_enabled = 2;
359
+ int32 backup_codes_remaining = 3;
360
+ int32 active_devices_count = 4;
361
+ string lock_until = 5;
362
+ int32 failed_login = 6;
363
+ string last_login_at = 7;
364
+ string last_login_ip = 8;
365
+ string last_login_user_agent = 9;
366
+ }
367
+
368
+ message AdminUserPrivacy {
369
+ bool hide_email = 1;
370
+ bool hide_balance = 2;
371
+ bool hide_online = 3;
372
+ bool hide_subscriptions = 4;
373
+ }
374
+
375
+ message AdminUserEmailPrefs {
376
+ bool newsletter_subscription = 1;
377
+ bool email_on_sales = 2;
378
+ bool email_on_reviews = 3;
379
+ bool email_on_news = 4;
380
+ }
381
+
382
+ message AdminUserPayout {
383
+ string payout_method = 1;
384
+ string payout_details = 2;
385
+ }
386
+
387
+ message AdminUserPremiumCustomization {
388
+ string profile_color = 1;
389
+ string avatar_border_id = 2;
390
+ AvatarBorder avatar_border = 3;
391
+ string animated_avatar_url = 4;
392
+ string animated_banner_url = 5;
393
+ }
394
+
395
+ message AdminUserStats {
396
+ int32 subscribers_count = 1;
397
+ int32 subscriptions_count = 2;
398
+ int32 products_count = 3;
399
+ int32 active_products_count = 4;
400
+ int32 draft_products_count = 5;
401
+ int32 deleted_products_count = 6;
402
+ int32 purchases_count = 7;
403
+ int32 sales_count = 8;
404
+ int32 support_tickets_count = 9;
405
+ int32 open_support_tickets_count = 10;
406
+ int32 reviews_count = 11;
407
+ int32 reports_created_count = 12;
408
+ int32 profile_reports_count = 13;
409
+ int32 blocked_users_count = 14;
410
+ int32 saved_cards_count = 15;
411
+ }
412
+
413
+ message AdminUserOverviewResponse {
414
+ AdminUserIdentity identity = 1;
415
+ AdminUserStatus status = 2;
416
+ AdminUserSecurity security = 3;
417
+ AdminUserPrivacy privacy = 4;
418
+ AdminUserEmailPrefs email_prefs = 5;
419
+ AdminUserPayout payout = 6;
420
+ PremiumStateResponse premium = 7;
421
+ AdminUserPremiumCustomization premium_customization = 8;
422
+ AdminUserStats stats = 9;
423
+ repeated SocialMedia social_media = 10;
424
+ }
425
+
426
+ enum AdminUserRelationKind {
427
+ ADMIN_USER_RELATION_KIND_UNSPECIFIED = 0;
428
+ ADMIN_USER_RELATION_KIND_SUBSCRIPTIONS = 1;
429
+ ADMIN_USER_RELATION_KIND_SUBSCRIBERS = 2;
430
+ }
431
+
432
+ message ListAdminUserRelationsRequest {
433
+ string user_id = 1;
434
+ AdminUserRelationKind kind = 2;
435
+ int32 page = 3;
436
+ int32 limit = 4;
437
+ }
438
+
439
+ message AdminUserRelation {
440
+ ProfileUser user = 1;
441
+ string created_at = 2;
442
+ }
443
+
444
+ message ListAdminUserRelationsResponse {
445
+ repeated AdminUserRelation items = 1;
446
+ int32 total = 2;
447
+ int32 page = 3;
448
+ int32 limit = 4;
449
+ }
450
+
451
+ // =================================================================
452
+ // Active devices
453
+ // =================================================================
320
454
 
321
455
  message GetActiveDevicesRequest {
322
456
  string user_id = 1;