UNPKG

skailan-crm

Version:

Servicio de CRM y gestión de ventas para Skailan

21 lines 949 B
import { QuoteItem } from '../../domain/entities/QuoteItem'; import { v4 as uuidv4 } from 'uuid'; export class CreateQuoteItem { quoteItemRepository; quoteRepository; constructor(quoteItemRepository, quoteRepository) { this.quoteItemRepository = quoteItemRepository; this.quoteRepository = quoteRepository; } async execute(request) { const { organizationId, quoteId, productId, quantity, unitPrice, notes } = request; const quote = await this.quoteRepository.findById(quoteId, organizationId); if (!quote) { throw new Error('Quote not found.'); } const totalPrice = quantity * unitPrice; const newQuoteItem = new QuoteItem(uuidv4(), organizationId, quoteId, productId, quantity, unitPrice, totalPrice, notes || null, new Date(), new Date()); return this.quoteItemRepository.save(newQuoteItem); } } //# sourceMappingURL=CreateQuoteItem.js.map