|
|
@@ -23,27 +23,12 @@ import type { FastifyRequest } from 'fastify';
|
|
|
import { CreateAdsDto, ListAdsDto, UpdateAdsDto, AdsDto } from './ads.dto';
|
|
|
import { AdsService } from './ads.service';
|
|
|
import { MongoIdParamDto } from '../common/mongo-id.dto';
|
|
|
-import { AdminSecretGuard } from './admin-secret.guard';
|
|
|
-import { Public } from '../../core/auth/decorators/public.decorator';
|
|
|
|
|
|
@ApiTags('营销管理 - 广告')
|
|
|
@Controller('ads')
|
|
|
export class AdsController {
|
|
|
constructor(private readonly service: AdsService) {}
|
|
|
|
|
|
- @Post('backfill-adid')
|
|
|
- @Public()
|
|
|
- @UseGuards(AdminSecretGuard)
|
|
|
- @ApiOperation({ summary: '[TEMP] Backfill Ads.adId for existing docs' })
|
|
|
- @ApiQuery({ name: 'batchSize', required: false, description: 'Default 200' })
|
|
|
- async backfillAdId(@Query('batchSize') batchSize?: string) {
|
|
|
- const size = Number(batchSize ?? 200);
|
|
|
- const safeSize =
|
|
|
- Number.isFinite(size) && size > 0 && size <= 1000 ? size : 200;
|
|
|
-
|
|
|
- return this.service.backfillAdIds(safeSize);
|
|
|
- }
|
|
|
-
|
|
|
@Post('list')
|
|
|
@ApiOperation({ summary: 'List ads (pagination + filters)' })
|
|
|
@ApiBody({ type: ListAdsDto })
|