File size: 2,727 Bytes
db242f8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
import { Controller, Delete, Get, Post, Put, Query } from '@nestjs/common';
import { ConfigService } from '@/common/config/config.service';
import { Public, Role, Roles } from '@/common/guards/auth.guard';
import { JoiValidationPipe } from '@/common/pipes/joi';
import { PagerQuery, PagerQuerySchema } from '@/shared';
import { DashboardService } from './dashboard.service';
@Roles(Role.Admin)
@Controller('dashboard')
export class DashboardController {
constructor(
private readonly dashboardService: DashboardService,
private readonly configService: ConfigService,
) {}
@Get('analytics')
async getAnalytics() {
return {
success: true,
data: await this.dashboardService.getAnalytics(),
};
}
@Get('openai/keys')
async listOpenaiKeys() {
return this.dashboardService.listOpenaiKeys();
}
@Post('openai/keys')
async addOpenaiKey() {}
@Delete('openai/keys/:id')
async deleteOpenaiKey() {}
/* 查看用户所有对话 */
@Get('chat/sessions')
async getAllChatSessions(
@Query(new JoiValidationPipe(PagerQuerySchema))
paginator: PagerQuery,
) {
const [data, meta] =
await this.dashboardService.getAllChatSession(paginator);
return {
success: true,
data,
meta,
};
}
/* 查看用户所有消息 */
@Get('chat/messages')
async getAllMessages(
@Query(new JoiValidationPipe(PagerQuerySchema))
paginator: PagerQuery,
) {
const [data, meta] = await this.dashboardService.getAllMessages(paginator);
return {
success: true,
data,
meta,
};
}
/* 查看所有订单 */
@Get('orders')
async getAllOrders(
@Query(new JoiValidationPipe(PagerQuerySchema))
paginator: PagerQuery,
) {
const [data, meta] = await this.dashboardService.getAllOrders(paginator);
return {
success: true,
data,
meta,
};
}
/* 查看所有用户 */
@Get('users')
async getAllUsers(
@Query(new JoiValidationPipe(PagerQuerySchema))
paginator: PagerQuery,
) {
const [data, meta] = await this.dashboardService.getAllUsers(paginator);
return {
success: true,
data,
meta,
};
}
@Public()
@Get('install')
install() {
return {
success: true,
data: {
schema: this.configService.getConfigSchema(true),
value: this.configService.getDefaultValue(),
},
};
}
@Get('config')
getAllConfig() {
return {
success: true,
data: {
schema: this.configService.getConfigSchema(),
value: this.configService.getAll(),
},
};
}
@Put('config')
updateConfig() {
// this.configService.updateConfig({ '1': '2' });
return {};
}
}
|