UNPKG

skailan-crm

Version:

Servicio de CRM y gestión de ventas para Skailan

28 lines 1.31 kB
export class ListCompetitorsForOpportunity { opportunityCompetitorRepository; opportunityRepository; competitorRepository; constructor(opportunityCompetitorRepository, opportunityRepository, competitorRepository) { this.opportunityCompetitorRepository = opportunityCompetitorRepository; this.opportunityRepository = opportunityRepository; this.competitorRepository = competitorRepository; } async execute(request) { const { organizationId, opportunityId } = request; const opportunity = await this.opportunityRepository.findById(opportunityId, organizationId); if (!opportunity) { throw new Error('Opportunity not found.'); } const opportunityCompetitors = await this.opportunityCompetitorRepository.findCompetitorsByOpportunity(opportunityId); const competitorIds = opportunityCompetitors.map(oc => oc.competitorId); const competitors = []; for (const competitorId of competitorIds) { const competitor = await this.competitorRepository.findById(competitorId, organizationId); if (competitor) { competitors.push(competitor); } } return competitors; } } //# sourceMappingURL=ListCompetitorsForOpportunity.js.map