skailan-crm
Version:
Servicio de CRM y gestión de ventas para Skailan
18 lines • 820 B
JavaScript
import { Competitor } from '../../domain/entities/Competitor';
import { v4 as uuidv4 } from 'uuid';
export class CreateCompetitor {
competitorRepository;
constructor(competitorRepository) {
this.competitorRepository = competitorRepository;
}
async execute(request) {
const { organizationId, name, notes } = request;
const existingCompetitor = await this.competitorRepository.findByName(name, organizationId);
if (existingCompetitor) {
throw new Error('Competitor with this name already exists for this organization.');
}
const newCompetitor = new Competitor(uuidv4(), organizationId, name, notes || null, new Date(), new Date());
return this.competitorRepository.save(newCompetitor);
}
}
//# sourceMappingURL=CreateCompetitor.js.map