diff --git a/libs/common/src/lib/interfaces/index.ts b/libs/common/src/lib/interfaces/index.ts index 2ab347081..6c88efe0c 100644 --- a/libs/common/src/lib/interfaces/index.ts +++ b/libs/common/src/lib/interfaces/index.ts @@ -39,8 +39,8 @@ import type { AccountsResponse } from './responses/accounts-response.interface'; import type { ActivitiesResponse } from './responses/activities-response.interface'; import type { ActivityResponse } from './responses/activity-response.interface'; import type { - AdminUsersResponse, - AdminUserResponse + AdminUserResponse, + AdminUsersResponse } from './responses/admin-users-response.interface'; import type { AiPromptResponse } from './responses/ai-prompt-response.interface'; import type { ApiKeyResponse } from './responses/api-key-response.interface'; @@ -95,8 +95,8 @@ export { AdminMarketData, AdminMarketDataDetails, AdminMarketDataItem, - AdminUsersResponse, AdminUserResponse, + AdminUsersResponse, AiPromptResponse, ApiKeyResponse, AssetClassSelectorOption, diff --git a/libs/common/src/lib/interfaces/responses/admin-users-response.interface.ts b/libs/common/src/lib/interfaces/responses/admin-users-response.interface.ts index 616972de8..03dabf283 100644 --- a/libs/common/src/lib/interfaces/responses/admin-users-response.interface.ts +++ b/libs/common/src/lib/interfaces/responses/admin-users-response.interface.ts @@ -1,45 +1,35 @@ -import { Provider, Role } from '@prisma/client'; - -export interface AdminUsersResponse { - count: number; - users: { - accountCount: number; - activityCount: number; - country: string; - createdAt: Date; - dailyApiRequests: number; - engagement: number; - id: string; - lastActivity: Date; - role: Role; - }[]; -} - -export interface AdminUserResponse { - id: string; - role: Role; - provider: Provider; - createdAt: Date; - updatedAt: Date; +import { Provider, Role, Subscription, Tag } from '@prisma/client'; +interface AdminUser { accountCount: number; activityCount: number; - watchlistCount: number; - analytics?: { country?: string | null; dailyApiRequests: number; lastActivity?: Date | null; }; + createdAt: Date; + id: string; + provider: Provider; + role: Role; + updatedAt: Date; + watchlistCount: number; +} - subscriptions: { - id: string; - expiresAt: Date; - createdAt: Date; - }[]; +export interface AdminUserResponse extends AdminUser { + subscriptions: Subscription[]; + tags: Tag[]; +} - tags: { - id: string; - name: string; - }[]; +export interface AdminUsersResponse { + count: number; + users: (Pick< + AdminUser, + 'accountCount' | 'activityCount' | 'createdAt' | 'id' | 'role' + > & { + country: string; + dailyApiRequests: number; + engagement: number; + lastActivity: Date; + })[]; }