import { Injectable } from '@nestjs/common'; import { randomBytes } from 'crypto'; import { SyncOperation } from '@prisma/client'; import { PrismaClient } from '../prisma/prisma.module'; import { SyncService } from '../sync/sync.service'; @Injectable() export class KcService { constructor( private readonly prisma: PrismaClient, private readonly sync: SyncService, ) {} async createKc(name: string) { const kc = await this.prisma.kc.create({ data: { name, inviteCode: randomBytes(6).toString('hex') }, }); await this.sync.capture('Kc', SyncOperation.CREATE, kc.id, kc); return kc; } listKcs() { return this.prisma.kc.findMany(); } }