import { Injectable } from '@nestjs/common';
import { PrismaService } from '../prisma/prisma.service';

@Injectable()
export class FilmsService {
  constructor(private prisma: PrismaService) {}
  async list(q:any){
    const where:any = { status: 'PUBLIC' };
    if (q.genre) where.genres = { some: { genre: { slug: q.genre } } };
    if (q.q) where.OR = [
      { title: { contains: q.q, mode:'insensitive' } },
      { synopsis: { contains: q.q, mode:'insensitive' } }
    ];
    return this.prisma.film.findMany({ where, orderBy:{ createdAt:'desc' }, include:{ genres:{ include:{ genre:true } }, sources:true } });
  }
  async detail(slug:string){
    return this.prisma.film.findUnique({ where:{ slug }, include:{ genres:{ include:{ genre:true } }, sources:true } });
  }
}
