Browse Source

update: interface

- add new AdminUser interface and use it in AdminUserResponse & AdminUsersResponse
- reorder alphabetically
pull/5910/head
alfaarghya 2 months ago
parent
commit
5d4731da3b
  1. 6
      libs/common/src/lib/interfaces/index.ts
  2. 58
      libs/common/src/lib/interfaces/responses/admin-users-response.interface.ts

6
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,

58
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;
})[];
}

Loading…
Cancel
Save