import { Injectable } from '@nestjs/common'; import { Prisma, Secret } from '@prisma/client'; import { randomUUID } from 'crypto'; import { PrismaService } from '../_prisma/prisma.service'; @Injectable() export class SecretService { constructor( private readonly prismaService: PrismaService, ) {} async findLatestByNameAndRegion(name: string, region: string): Promise { return await this.prismaService.secret.findFirst({ where: { name, region }, orderBy: { createdAt: 'desc' } }); } async findByNameAndVersion(name: string, versionId: string): Promise { return await this.prismaService.secret.findFirst({ where: { name, versionId } }); } async create(data: Prisma.SecretCreateInput): Promise { return await this.prismaService.secret.create({ data: { ...data, versionId: data.versionId ?? randomUUID(), } }); } }