ad-list-request.dto.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // apps/box-app-api/src/feature/ads/dto/ad-list-request.dto.ts
  2. import { ApiProperty } from '@nestjs/swagger';
  3. import { IsNumber, Min, Max, IsEnum } from 'class-validator';
  4. import type { AdType } from '@box/common/ads/ad-types';
  5. export enum AdTypeEnum {
  6. BANNER = 'BANNER',
  7. CAROUSEL = 'CAROUSEL',
  8. STARTUP = 'STARTUP',
  9. POPUP_IMAGE = 'POPUP_IMAGE',
  10. POPUP_ICON = 'POPUP_ICON',
  11. POPUP_OFFICIAL = 'POPUP_OFFICIAL',
  12. FLOATING_BOTTOM = 'FLOATING_BOTTOM',
  13. FLOATING_EDGE = 'FLOATING_EDGE',
  14. WATERFALL_VIDEO = 'WATERFALL_VIDEO',
  15. WATERFALL_ICON = 'WATERFALL_ICON',
  16. WATERFALL_TEXT = 'WATERFALL_TEXT',
  17. PREROLL = 'PREROLL',
  18. PAUSE = 'PAUSE',
  19. }
  20. export class AdListRequestDto {
  21. @ApiProperty({
  22. description: '页码,从1开始',
  23. example: 1,
  24. minimum: 1,
  25. })
  26. @IsNumber()
  27. @Min(1)
  28. page: number;
  29. @ApiProperty({
  30. description: '每页数量,最多50条',
  31. example: 10,
  32. minimum: 1,
  33. maximum: 50,
  34. })
  35. @IsNumber()
  36. @Min(1)
  37. @Max(50)
  38. size: number;
  39. // @ApiProperty({
  40. // description: '广告类型',
  41. // enum: AdTypeEnum,
  42. // example: 'BANNER',
  43. // })
  44. // @IsEnum(AdTypeEnum)
  45. // adType: AdType;
  46. }