skailan-conversations
Version:
Servicio de conversaciones y mensajería para Skailan
38 lines • 1.49 kB
JavaScript
import { ConversationTag } from "../../../domain/entities/ConversationTag";
export class ConversationTagPrismaRepository {
prisma;
constructor(prisma) {
this.prisma = prisma;
}
async addTagToConversation(conversationId, tagId, organizationId) {
const newEntry = await this.prisma.conversationTag.create({
data: {
conversationId,
tagId,
organizationId,
createdAt: new Date(),
},
});
return new ConversationTag(newEntry.conversationId, newEntry.tagId, newEntry.organizationId, newEntry.createdAt);
}
async removeTagFromConversation(conversationId, tagId, organizationId) {
await this.prisma.conversationTag.delete({
where: {
conversationId_tagId: {
conversationId,
tagId,
},
},
});
}
async findTagsByConversation(conversationId, organizationId) {
const entries = await this.prisma.conversationTag.findMany({
where: { conversationId, organizationId },
});
return entries.map((entry) => new ConversationTag(entry.conversationId, entry.tagId, entry.organizationId, entry.createdAt));
}
async getTagsByConversation(conversationId, organizationId) {
return this.findTagsByConversation(conversationId, organizationId);
}
}
//# sourceMappingURL=ConversationTagPrismaRepository.js.map