import { PrismaService } from '@/prisma/prisma.service' import { BadRequestException, Injectable } from '@nestjs/common' import { ConsumerRole } from 'generated/prisma/enums' @Injectable() export class SharedSaleInvoiceAccessService { constructor(private readonly prisma: PrismaService) {} async getConsumerIdWithPosAccess( consumerAccountId: string, posId: string, ): Promise { const consumer = await this.prisma.consumerAccount.findUnique({ where: { id: consumerAccountId, OR: [{ pos: { id: posId } }, { role: ConsumerRole.OWNER }], }, select: { consumer_id: true, }, }) if (!consumer) { throw new BadRequestException('شما دسترسی لازم برای ارسال صورت‌حساب را ندارید.') } return consumer.consumer_id } }