chore: 初始化TikTok短剧后端项目基础架构

创建了完整的NestJS项目结构,包含配置文件、核心模块、工具类、拦截器、过滤器等基础代码,实现了健康检查、用户认证、管理员RBAC、剧集管理、订单支付、媒体管理等核心功能的基础框架,配置了ESLint、TypeScript、Jest等开发工具链。
This commit is contained in:
2026-07-01 13:55:37 +08:00
commit ef8c31d3be
92 changed files with 11462 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
import { Body, Controller, Get, Post, Query, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import { RequirePermissions } from '../admin/decorators/require-permissions.decorator';
import { AdminJwtAuthGuard } from '../admin/guards/admin-jwt-auth.guard';
import { PermissionsGuard } from '../admin/guards/permissions.guard';
import { CreateCoverDto } from './dto/create-cover.dto';
import { CreateUploadJobDto } from './dto/create-upload-job.dto';
import { MediaService } from './media.service';
@ApiTags('Media')
@Controller('/api/admin/v1/media')
@ApiBearerAuth()
@UseGuards(AdminJwtAuthGuard, PermissionsGuard)
export class MediaController {
constructor(private readonly mediaService: MediaService) {}
@Post('/covers')
@RequirePermissions('media:create')
createCover(@Body() dto: CreateCoverDto) {
return this.mediaService.createCover(dto);
}
@Post('/upload-jobs')
@RequirePermissions('media:create')
createUploadJob(@Body() dto: CreateUploadJobDto) {
return this.mediaService.createUploadJob(dto);
}
@Get('/upload-jobs')
@RequirePermissions('media:read')
listUploadJobs(
@Query('page') page?: string,
@Query('pageSize') pageSize?: string,
) {
return this.mediaService.listUploadJobs({
page: Number(page) || 1,
pageSize: Number(pageSize) || 20,
});
}
}