feat(dramas,media): add video resolution fields and fix quote style
1. 为剧集剧集添加width和height字段,支持存储视频分辨率信息 2. 统一将media.controller.ts中的单引号改为双引号,保持代码风格一致
This commit is contained in:
@@ -94,6 +94,8 @@ export class DramasService {
|
||||
videoUrl: dto.videoUrl,
|
||||
trialDurationSeconds: dto.trialDurationSeconds,
|
||||
durationSeconds: dto.durationSeconds,
|
||||
width: dto.width,
|
||||
height: dto.height,
|
||||
isPaid: freeType === 'paid',
|
||||
freeType,
|
||||
unlockPrice: price,
|
||||
|
||||
@@ -82,6 +82,18 @@ export class CreateEpisodeDto {
|
||||
@Min(1)
|
||||
durationSeconds: number;
|
||||
|
||||
@ApiPropertyOptional()
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
width?: number;
|
||||
|
||||
@ApiPropertyOptional()
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
height?: number;
|
||||
|
||||
@ApiPropertyOptional()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
|
||||
@@ -38,6 +38,12 @@ export class Episode {
|
||||
@Column({ type: 'int' })
|
||||
durationSeconds: number;
|
||||
|
||||
@Column({ type: 'int', nullable: true })
|
||||
width?: number;
|
||||
|
||||
@Column({ type: 'int', nullable: true })
|
||||
height?: number;
|
||||
|
||||
@Column({ type: 'boolean', default: false })
|
||||
isPaid: boolean;
|
||||
|
||||
|
||||
@@ -37,6 +37,8 @@ export interface EpisodeRecord {
|
||||
videoUrl?: string;
|
||||
trialDurationSeconds?: number;
|
||||
durationSeconds: number;
|
||||
width?: number;
|
||||
height?: number;
|
||||
isPaid: boolean;
|
||||
freeType: 'free' | 'paid';
|
||||
unlockPrice?: number;
|
||||
|
||||
@@ -1,36 +1,36 @@
|
||||
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';
|
||||
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')
|
||||
@ApiTags("Media")
|
||||
@Controller("/api/admin/v1/media")
|
||||
@ApiBearerAuth()
|
||||
@UseGuards(AdminJwtAuthGuard, PermissionsGuard)
|
||||
export class MediaController {
|
||||
constructor(private readonly mediaService: MediaService) {}
|
||||
|
||||
@Post('/covers')
|
||||
@RequirePermissions('media:create')
|
||||
@Post("/covers")
|
||||
@RequirePermissions("media:create")
|
||||
createCover(@Body() dto: CreateCoverDto) {
|
||||
return this.mediaService.createCover(dto);
|
||||
}
|
||||
|
||||
@Post('/upload-jobs')
|
||||
@RequirePermissions('media:create')
|
||||
@Post("/upload-jobs")
|
||||
@RequirePermissions("media:create")
|
||||
createUploadJob(@Body() dto: CreateUploadJobDto) {
|
||||
return this.mediaService.createUploadJob(dto);
|
||||
}
|
||||
|
||||
@Get('/upload-jobs')
|
||||
@RequirePermissions('media:read')
|
||||
@Get("/upload-jobs")
|
||||
@RequirePermissions("media:read")
|
||||
listUploadJobs(
|
||||
@Query('page') page?: string,
|
||||
@Query('pageSize') pageSize?: string,
|
||||
@Query("page") page?: string,
|
||||
@Query("pageSize") pageSize?: string,
|
||||
) {
|
||||
return this.mediaService.listUploadJobs({
|
||||
page: Number(page) || 1,
|
||||
|
||||
Reference in New Issue
Block a user