mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-16 04:02:54 -06:00
MySQL implementation via prism orm
This commit is contained in:
parent
72de0a6e4d
commit
9f1c2e4e5f
@ -33,6 +33,18 @@ enum TypebotSessionStatus {
|
|||||||
paused
|
paused
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum TriggerType {
|
||||||
|
all
|
||||||
|
keyword
|
||||||
|
}
|
||||||
|
|
||||||
|
enum TriggerOperator {
|
||||||
|
contains
|
||||||
|
equals
|
||||||
|
startsWith
|
||||||
|
endsWith
|
||||||
|
}
|
||||||
|
|
||||||
model Instance {
|
model Instance {
|
||||||
id String @id @default(cuid())
|
id String @id @default(cuid())
|
||||||
name String @unique @db.VarChar(255)
|
name String @unique @db.VarChar(255)
|
||||||
@ -42,8 +54,9 @@ model Instance {
|
|||||||
integration String? @db.VarChar(100)
|
integration String? @db.VarChar(100)
|
||||||
number String? @db.VarChar(100)
|
number String? @db.VarChar(100)
|
||||||
token String? @unique @db.VarChar(255)
|
token String? @unique @db.VarChar(255)
|
||||||
createdAt DateTime? @default(now()) @db.Date
|
clientName String? @db.VarChar(100)
|
||||||
updatedAt DateTime? @updatedAt @db.Date
|
createdAt DateTime? @default(now()) @db.Timestamp
|
||||||
|
updatedAt DateTime? @updatedAt @db.Timestamp
|
||||||
Chat Chat[]
|
Chat Chat[]
|
||||||
Contact Contact[]
|
Contact Contact[]
|
||||||
Message Message[]
|
Message Message[]
|
||||||
@ -55,14 +68,15 @@ model Instance {
|
|||||||
Rabbitmq Rabbitmq?
|
Rabbitmq Rabbitmq?
|
||||||
Sqs Sqs?
|
Sqs Sqs?
|
||||||
Websocket Websocket?
|
Websocket Websocket?
|
||||||
Typebot Typebot?
|
Typebot Typebot[]
|
||||||
Session Session?
|
Session Session?
|
||||||
MessageUpdate MessageUpdate[]
|
MessageUpdate MessageUpdate[]
|
||||||
TypebotSession TypebotSession[]
|
TypebotSession TypebotSession[]
|
||||||
|
TypebotSetting TypebotSetting?
|
||||||
}
|
}
|
||||||
|
|
||||||
model Session {
|
model Session {
|
||||||
id Int @id @unique @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
sessionId String @unique
|
sessionId String @unique
|
||||||
creds String? @db.Text
|
creds String? @db.Text
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
@ -70,18 +84,17 @@ model Session {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Chat {
|
model Chat {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
remoteJid String @db.VarChar(100)
|
remoteJid String @db.VarChar(100)
|
||||||
lastMsgTimestamp String? @db.VarChar(100)
|
labels Json? @db.Json
|
||||||
labels Json? @db.Json
|
createdAt DateTime? @default(now()) @db.Date
|
||||||
createdAt DateTime? @default(now()) @db.Date
|
updatedAt DateTime? @updatedAt @db.Date
|
||||||
updatedAt DateTime? @updatedAt @db.Date
|
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
||||||
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
instanceId String
|
||||||
instanceId String
|
|
||||||
}
|
}
|
||||||
|
|
||||||
model Contact {
|
model Contact {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
remoteJid String @db.VarChar(100)
|
remoteJid String @db.VarChar(100)
|
||||||
pushName String? @db.VarChar(100)
|
pushName String? @db.VarChar(100)
|
||||||
profilePicUrl String? @db.VarChar(500)
|
profilePicUrl String? @db.VarChar(500)
|
||||||
@ -92,7 +105,7 @@ model Contact {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Message {
|
model Message {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
key Json @db.Json
|
key Json @db.Json
|
||||||
pushName String? @db.VarChar(100)
|
pushName String? @db.VarChar(100)
|
||||||
participant String? @db.VarChar(100)
|
participant String? @db.VarChar(100)
|
||||||
@ -108,13 +121,13 @@ model Message {
|
|||||||
chatwootIsRead Boolean?
|
chatwootIsRead Boolean?
|
||||||
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
||||||
instanceId String
|
instanceId String
|
||||||
typebotSessionId Int?
|
typebotSessionId String?
|
||||||
MessageUpdate MessageUpdate[]
|
MessageUpdate MessageUpdate[]
|
||||||
TypebotSession TypebotSession? @relation(fields: [typebotSessionId], references: [id])
|
TypebotSession TypebotSession? @relation(fields: [typebotSessionId], references: [id])
|
||||||
}
|
}
|
||||||
|
|
||||||
model MessageUpdate {
|
model MessageUpdate {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
keyId String @db.VarChar(100)
|
keyId String @db.VarChar(100)
|
||||||
remoteJid String @db.VarChar(100)
|
remoteJid String @db.VarChar(100)
|
||||||
fromMe Boolean
|
fromMe Boolean
|
||||||
@ -123,13 +136,13 @@ model MessageUpdate {
|
|||||||
pollUpdates Json? @db.Json
|
pollUpdates Json? @db.Json
|
||||||
status String @db.VarChar(30)
|
status String @db.VarChar(30)
|
||||||
Message Message @relation(fields: [messageId], references: [id], onDelete: Cascade)
|
Message Message @relation(fields: [messageId], references: [id], onDelete: Cascade)
|
||||||
messageId Int
|
messageId String
|
||||||
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
||||||
instanceId String
|
instanceId String
|
||||||
}
|
}
|
||||||
|
|
||||||
model Webhook {
|
model Webhook {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
url String @db.VarChar(500)
|
url String @db.VarChar(500)
|
||||||
enabled Boolean? @default(false)
|
enabled Boolean? @default(false)
|
||||||
events Json? @db.Json
|
events Json? @db.Json
|
||||||
@ -142,7 +155,7 @@ model Webhook {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Chatwoot {
|
model Chatwoot {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
enabled Boolean? @default(true)
|
enabled Boolean? @default(true)
|
||||||
accountId String? @db.VarChar(100)
|
accountId String? @db.VarChar(100)
|
||||||
token String? @db.VarChar(100)
|
token String? @db.VarChar(100)
|
||||||
@ -164,7 +177,7 @@ model Chatwoot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Label {
|
model Label {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
labelId String? @unique @db.VarChar(100)
|
labelId String? @unique @db.VarChar(100)
|
||||||
name String @db.VarChar(100)
|
name String @db.VarChar(100)
|
||||||
color String @db.VarChar(100)
|
color String @db.VarChar(100)
|
||||||
@ -176,7 +189,7 @@ model Label {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Proxy {
|
model Proxy {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
enabled Boolean @default(false)
|
enabled Boolean @default(false)
|
||||||
host String @db.VarChar(100)
|
host String @db.VarChar(100)
|
||||||
port String @db.VarChar(100)
|
port String @db.VarChar(100)
|
||||||
@ -190,7 +203,7 @@ model Proxy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Setting {
|
model Setting {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
rejectCall Boolean @default(false)
|
rejectCall Boolean @default(false)
|
||||||
msgCall String? @db.VarChar(100)
|
msgCall String? @db.VarChar(100)
|
||||||
groupsIgnore Boolean @default(false)
|
groupsIgnore Boolean @default(false)
|
||||||
@ -205,7 +218,7 @@ model Setting {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Rabbitmq {
|
model Rabbitmq {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
enabled Boolean @default(false)
|
enabled Boolean @default(false)
|
||||||
events Json @db.Json
|
events Json @db.Json
|
||||||
createdAt DateTime? @default(now()) @db.Date
|
createdAt DateTime? @default(now()) @db.Date
|
||||||
@ -215,7 +228,7 @@ model Rabbitmq {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Sqs {
|
model Sqs {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
enabled Boolean @default(false)
|
enabled Boolean @default(false)
|
||||||
events Json @db.Json
|
events Json @db.Json
|
||||||
createdAt DateTime? @default(now()) @db.Date
|
createdAt DateTime? @default(now()) @db.Date
|
||||||
@ -225,7 +238,7 @@ model Sqs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Websocket {
|
model Websocket {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
enabled Boolean @default(false)
|
enabled Boolean @default(false)
|
||||||
events Json @db.Json
|
events Json @db.Json
|
||||||
createdAt DateTime? @default(now()) @db.Date
|
createdAt DateTime? @default(now()) @db.Date
|
||||||
@ -235,24 +248,29 @@ model Websocket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Typebot {
|
model Typebot {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
enabled Boolean @default(true)
|
enabled Boolean @default(true)
|
||||||
url String @db.VarChar(500)
|
url String @db.VarChar(500)
|
||||||
typebot String @db.VarChar(100)
|
typebot String @db.VarChar(100)
|
||||||
expire Int @default(0) @db.Int
|
expire Int? @default(0) @db.Int
|
||||||
keywordFinish String? @db.VarChar(100)
|
keywordFinish String? @db.VarChar(100)
|
||||||
delayMessage Int? @db.Int
|
delayMessage Int? @db.Int
|
||||||
unknownMessage String? @db.VarChar(100)
|
unknownMessage String? @db.VarChar(100)
|
||||||
listeningFromMe Boolean @default(false)
|
listeningFromMe Boolean? @default(false)
|
||||||
|
stopBotFromMe Boolean? @default(false)
|
||||||
|
keepOpen Boolean? @default(false)
|
||||||
createdAt DateTime? @default(now()) @db.Date
|
createdAt DateTime? @default(now()) @db.Date
|
||||||
updatedAt DateTime? @updatedAt @db.Date
|
updatedAt DateTime? @updatedAt @db.Date
|
||||||
|
triggerType TriggerType?
|
||||||
|
triggerOperator TriggerOperator?
|
||||||
|
triggerValue String?
|
||||||
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
||||||
instanceId String @unique
|
instanceId String
|
||||||
sessions TypebotSession[]
|
sessions TypebotSession[]
|
||||||
}
|
}
|
||||||
|
|
||||||
model TypebotSession {
|
model TypebotSession {
|
||||||
id Int @id @default(autoincrement())
|
id String @id @default(cuid())
|
||||||
remoteJid String @db.VarChar(100)
|
remoteJid String @db.VarChar(100)
|
||||||
pushName String? @db.VarChar(100)
|
pushName String? @db.VarChar(100)
|
||||||
sessionId String @db.VarChar(100)
|
sessionId String @db.VarChar(100)
|
||||||
@ -261,8 +279,23 @@ model TypebotSession {
|
|||||||
createdAt DateTime? @default(now()) @db.Date
|
createdAt DateTime? @default(now()) @db.Date
|
||||||
updatedAt DateTime @updatedAt @db.Date
|
updatedAt DateTime @updatedAt @db.Date
|
||||||
Typebot Typebot @relation(fields: [typebotId], references: [id], onDelete: Cascade)
|
Typebot Typebot @relation(fields: [typebotId], references: [id], onDelete: Cascade)
|
||||||
typebotId Int @db.Int
|
typebotId String
|
||||||
Message Message[]
|
Message Message[]
|
||||||
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
||||||
instanceId String
|
instanceId String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
model TypebotSetting {
|
||||||
|
id String @id @default(cuid())
|
||||||
|
expire Int? @default(0) @db.Int
|
||||||
|
keywordFinish String? @db.VarChar(100)
|
||||||
|
delayMessage Int? @db.Int
|
||||||
|
unknownMessage String? @db.VarChar(100)
|
||||||
|
listeningFromMe Boolean? @default(false)
|
||||||
|
stopBotFromMe Boolean? @default(false)
|
||||||
|
keepOpen Boolean? @default(false)
|
||||||
|
createdAt DateTime? @default(now()) @db.Date
|
||||||
|
updatedAt DateTime @updatedAt @db.Date
|
||||||
|
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
|
||||||
|
instanceId String @unique
|
||||||
|
}
|
||||||
|
@ -355,7 +355,11 @@ export class WAMonitoringService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async loadInstancesFromDatabasePostgres() {
|
private async loadInstancesFromDatabasePostgres() {
|
||||||
const instances = await this.prismaRepository.instance.findMany();
|
const clientName = await this.configService.get<Database>('DATABASE').CONNECTION.CLIENT_NAME;
|
||||||
|
|
||||||
|
const instances = await this.prismaRepository.instance.findMany({
|
||||||
|
where: { clientName: clientName },
|
||||||
|
});
|
||||||
|
|
||||||
if (instances.length === 0) {
|
if (instances.length === 0) {
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user