Fix: Resolve issue with template association in Instance model

The Issue:
The Instance model in the postgresql-schema.prisma file previously had a Template field that was a single Template object, but this caused issues with the association of multiple templates to a single instance.

The Change:
This commit resolves the issue by changing the Template field to an array of Template objects. This allows for multiple templates to be associated with a single instance.

The Impact:
This change allows for more flexible use of templates in the system and resolves a previous limitation in the association of templates to instances.

Affected Files:
- prisma/postgresql-schema.prisma
- src/api/services/template.service.ts

Note: The migration folder added in the untracked files section is a result of the Prisma schema change and can be safely ignored in this commit message.
This commit is contained in:
Davidson Gomes 2024-07-12 13:01:17 -03:00
parent 99a091ec61
commit ca3dadfb35
3 changed files with 6 additions and 2 deletions

View File

@ -0,0 +1,2 @@
-- DropIndex
DROP INDEX "Template_instanceId_key";

View File

@ -75,7 +75,7 @@ model Instance {
MessageUpdate MessageUpdate[] MessageUpdate MessageUpdate[]
TypebotSession TypebotSession[] TypebotSession TypebotSession[]
TypebotSetting TypebotSetting? TypebotSetting TypebotSetting?
Template Template? Template Template[]
} }
model Session { model Session {
@ -315,5 +315,5 @@ model Template {
createdAt DateTime? @default(now()) @db.Timestamp createdAt DateTime? @default(now()) @db.Timestamp
updatedAt DateTime @updatedAt @db.Timestamp updatedAt DateTime @updatedAt @db.Timestamp
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade) Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
instanceId String @unique instanceId String
} }

View File

@ -64,6 +64,8 @@ export class TemplateService {
throw new Error('Error to create template'); throw new Error('Error to create template');
} }
console.log(response);
const template = await this.prismaRepository.template.create({ const template = await this.prismaRepository.template.create({
data: { data: {
instanceId: getInstance.id, instanceId: getInstance.id,