skailan-crm
Version:
Servicio de CRM y gestión de ventas para Skailan
33 lines • 1.28 kB
JavaScript
import { OpportunityCompetitor } from "../../../domain/entities/OpportunityCompetitor";
export class OpportunityCompetitorPrismaRepository {
prisma;
constructor(prisma) {
this.prisma = prisma;
}
async addCompetitorToOpportunity(opportunityId, competitorId) {
const newEntry = await this.prisma.opportunityCompetitor.create({
data: {
opportunityId,
competitorId,
},
});
return new OpportunityCompetitor(newEntry.opportunityId, newEntry.competitorId, newEntry.createdAt);
}
async removeCompetitorFromOpportunity(opportunityId, competitorId) {
await this.prisma.opportunityCompetitor.delete({
where: {
opportunityId_competitorId: {
opportunityId,
competitorId,
},
},
});
}
async findCompetitorsByOpportunity(opportunityId) {
const entries = await this.prisma.opportunityCompetitor.findMany({
where: { opportunityId },
});
return entries.map((entry) => new OpportunityCompetitor(entry.opportunityId, entry.competitorId, entry.createdAt));
}
}
//# sourceMappingURL=OpportunityCompetitorPrismaRepository.js.map