import { Controller, Get, Query } from '@nestjs/common';
import { PrismaService } from '../prisma/prisma.service';

@Controller('ads')
export class AdsController {
  constructor(private prisma: PrismaService) {}
  @Get('slots')
  async slot(@Query('position') position:string){
    if(!position) return { creative: null };
    const slot = await this.prisma.adSlot.findFirst({ where:{ position: position as any, isActive:true }, include:{ creatives:true } });
    if(!slot) return { creative: null };
    const now = new Date();
    const creative = slot.creatives.find(c => c.isActive && (!c.startAt || c.startAt <= now) && (!c.endAt || c.endAt >= now));
    return { creative: creative ? { title: creative.title, imageUrl: creative.imageUrl, linkUrl: creative.linkUrl, html: creative.html } : null };
  }
}
