From cf7329c1a6d8f2941b10951658fd7fcc2554b547 Mon Sep 17 00:00:00 2001 From: simrspersahabatan Date: Sun, 5 Mar 2023 21:16:22 +0700 Subject: [PATCH 1/2] mongodb --- prisma/schema.prisma | 324 +++++++++++++++++++++---------------------- 1 file changed, 162 insertions(+), 162 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 94fd6e25..c6895282 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -1,162 +1,162 @@ -// This is your Prisma schema file, -// learn more about it in the docs: https://pris.ly/d/prisma-schema - -generator client { - provider = "prisma-client-js" -} - -datasource db { - provider = "mysql" - url = env("DATABASE_URL") -} - -model Chat { - pkId Int @id @default(autoincrement()) - sessionId String @db.VarChar(128) - archived Boolean? - contactPrimaryIdentityKey Bytes? - conversationTimestamp BigInt? - createdAt BigInt? - createdBy String? @db.VarChar(128) - description String? @db.VarChar(255) - disappearingMode Json? - displayName String? @db.VarChar(128) - endOfHistoryTransfer Boolean? - endOfHistoryTransferType Int? - ephemeralExpiration Int? - ephemeralSettingTimestamp BigInt? - id String @db.VarChar(128) - isDefaultSubgroup Boolean? - isParentGroup Boolean? - lastMsgTimestamp BigInt? - lidJid String? @db.VarChar(128) - markedAsUnread Boolean? - mediaVisibility Int? - messages Json? - muteEndTime BigInt? - name String? @db.VarChar(128) - newJid String? @db.VarChar(128) - notSpam Boolean? - oldJid String? @db.VarChar(128) - pHash String? @db.VarChar(128) - parentGroupId String? @db.VarChar(128) - participant Json? - pinned Int? - pnJid String? @db.VarChar(128) - pnhDuplicateLidThread Boolean? - readOnly Boolean? - shareOwnPn Boolean? - support Boolean? - suspended Boolean? - tcToken Bytes? - tcTokenSenderTimestamp BigInt? - tcTokenTimestamp BigInt? - terminated Boolean? - unreadCount Int? - unreadMentionCount Int? - wallpaper Json? - lastMessageRecvTimestamp Int? - - @@unique([sessionId, id], map: "unique_id_per_session_id") - @@index([sessionId]) -} - -model Contact { - pkId Int @id @default(autoincrement()) - sessionId String @db.VarChar(128) - id String @db.VarChar(128) - name String? @db.VarChar(128) - notify String? @db.VarChar(128) - verifiedName String? @db.VarChar(128) - imgUrl String? @db.VarChar(255) - status String? @db.VarChar(128) - - @@unique([sessionId, id], map: "unique_id_per_session_id") - @@index([sessionId]) -} - -model GroupMetadata { - pkId Int @id @default(autoincrement()) - sessionId String @db.VarChar(128) - id String @db.VarChar(128) - owner String? @db.VarChar(128) - subject String @db.VarChar(128) - subjectOwner String? @db.VarChar(128) - subjectTime Int? - creation Int? - desc String? @db.VarChar(255) - descOwner String? @db.VarChar(128) - descId String? @db.VarChar(128) - restrict Boolean? - announce Boolean? - size Int? - participants Json - ephemeralDuration Int? - inviteCode String? @db.VarChar(255) - - @@unique([sessionId, id], map: "unique_id_per_session_id") - @@index([sessionId]) -} - -model Message { - pkId Int @id @default(autoincrement()) - sessionId String @db.VarChar(128) - remoteJid String @db.VarChar(128) - id String @db.VarChar(128) - agentId String? @db.VarChar(128) - bizPrivacyStatus Int? - broadcast Boolean? - clearMedia Boolean? - duration Int? - ephemeralDuration Int? - ephemeralOffToOn Boolean? - ephemeralOutOfSync Boolean? - ephemeralStartTimestamp BigInt? - finalLiveLocation Json? - futureproofData Bytes? - ignore Boolean? - keepInChat Json? - key Json - labels Json? - mediaCiphertextSha256 Bytes? - mediaData Json? - message Json? - messageC2STimestamp BigInt? - messageSecret Bytes? - messageStubParameters Json? - messageStubType Int? - messageTimestamp BigInt? - multicast Boolean? - originalSelfAuthorUserJidString String? @db.VarChar(128) - participant String? @db.VarChar(128) - paymentInfo Json? - photoChange Json? - pollAdditionalMetadata Json? - pollUpdates Json? - pushName String? @db.VarChar(128) - quotedPaymentInfo Json? - quotedStickerData Json? - reactions Json? - revokeMessageTimestamp BigInt? - starred Boolean? - status Int? - statusAlreadyViewed Boolean? - statusPsa Json? - urlNumber Boolean? - urlText Boolean? - userReceipt Json? - verifiedBizName String? @db.VarChar(128) - - @@unique([sessionId, remoteJid, id], map: "unique_message_key_per_session_id") - @@index([sessionId]) -} - -model Session { - pkId Int @id @default(autoincrement()) - sessionId String @db.VarChar(128) - id String @db.VarChar(255) - data String @db.Text - - @@unique([sessionId, id], map: "unique_id_per_session_id") - @@index([sessionId]) -} +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "mongodb" + url = env("DATABASE_URL") +} + +model Chat { + pkId Int @id @map("_id") + sessionId String @db.String + archived Boolean? + contactPrimaryIdentityKey Bytes? + conversationTimestamp BigInt? + createdAt BigInt? + createdBy String? @db.String + description String? @db.String + disappearingMode Json? + displayName String? @db.String + endOfHistoryTransfer Boolean? + endOfHistoryTransferType Int? + ephemeralExpiration Int? + ephemeralSettingTimestamp BigInt? + id String @db.String + isDefaultSubgroup Boolean? + isParentGroup Boolean? + lastMsgTimestamp BigInt? + lidJid String? @db.String + markedAsUnread Boolean? + mediaVisibility Int? + messages Json? + muteEndTime BigInt? + name String? @db.String + newJid String? @db.String + notSpam Boolean? + oldJid String? @db.String + pHash String? @db.String + parentGroupId String? @db.String + participant Json? + pinned Int? + pnJid String? @db.String + pnhDuplicateLidThread Boolean? + readOnly Boolean? + shareOwnPn Boolean? + support Boolean? + suspended Boolean? + tcToken Bytes? + tcTokenSenderTimestamp BigInt? + tcTokenTimestamp BigInt? + terminated Boolean? + unreadCount Int? + unreadMentionCount Int? + wallpaper Json? + lastMessageRecvTimestamp Int? + + @@unique([sessionId, id], map: "unique_id_per_session_id") + @@index([sessionId]) +} + +model Contact { + pkId Int @id @map("_id") + sessionId String @db.String + id String @db.String + name String? @db.String + notify String? @db.String + verifiedName String? @db.String + imgUrl String? @db.String + status String? @db.String + + @@unique([sessionId, id], map: "unique_id_per_session_id") + @@index([sessionId]) +} + +model GroupMetadata { + pkId Int @id @map("_id") + sessionId String @db.String + id String @db.String + owner String? @db.String + subject String @db.String + subjectOwner String? @db.String + subjectTime Int? + creation Int? + desc String? @db.String + descOwner String? @db.String + descId String? @db.String + restrict Boolean? + announce Boolean? + size Int? + participants Json + ephemeralDuration Int? + inviteCode String? @db.String + + @@unique([sessionId, id], map: "unique_id_per_session_id") + @@index([sessionId]) +} + +model Message { + pkId Int @id @map("_id") + sessionId String @db.String + remoteJid String @db.String + id String @db.String + agentId String? @db.String + bizPrivacyStatus Int? + broadcast Boolean? + clearMedia Boolean? + duration Int? + ephemeralDuration Int? + ephemeralOffToOn Boolean? + ephemeralOutOfSync Boolean? + ephemeralStartTimestamp BigInt? + finalLiveLocation Json? + futureproofData Bytes? + ignore Boolean? + keepInChat Json? + key Json + labels Json? + mediaCiphertextSha256 Bytes? + mediaData Json? + message Json? + messageC2STimestamp BigInt? + messageSecret Bytes? + messageStubParameters Json? + messageStubType Int? + messageTimestamp BigInt? + multicast Boolean? + originalSelfAuthorUserJidString String? @db.String + participant String? @db.String + paymentInfo Json? + photoChange Json? + pollAdditionalMetadata Json? + pollUpdates Json? + pushName String? @db.String + quotedPaymentInfo Json? + quotedStickerData Json? + reactions Json? + revokeMessageTimestamp BigInt? + starred Boolean? + status Int? + statusAlreadyViewed Boolean? + statusPsa Json? + urlNumber Boolean? + urlText Boolean? + userReceipt Json? + verifiedBizName String? @db.String + + @@unique([sessionId, remoteJid, id], map: "unique_message_key_per_session_id") + @@index([sessionId]) +} + +model Session { + pkId Int @id @map("_id") + sessionId String @db.String + id String @db.String + data String @db.String + + @@unique([sessionId, id], map: "unique_id_per_session_id") + @@index([sessionId]) +} \ No newline at end of file From 1a06618821a8e9ae6e1772de7ce58e66f43cae58 Mon Sep 17 00:00:00 2001 From: mDestaFadilah Date: Thu, 9 Mar 2023 04:23:41 +0700 Subject: [PATCH 2/2] update https://www.prisma.io/docs/concepts/components/prisma-schema/data-model#defining-ids-in-mongodb --- prisma/schema.prisma | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index c6895282..000ae7bc 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -11,8 +11,8 @@ datasource db { } model Chat { - pkId Int @id @map("_id") - sessionId String @db.String + pkId String @id @default(auto()) @map("_id") @db.ObjectId + sessionId String @db.ObjectId archived Boolean? contactPrimaryIdentityKey Bytes? conversationTimestamp BigInt? @@ -25,7 +25,7 @@ model Chat { endOfHistoryTransferType Int? ephemeralExpiration Int? ephemeralSettingTimestamp BigInt? - id String @db.String + id String @db.ObjectId isDefaultSubgroup Boolean? isParentGroup Boolean? lastMsgTimestamp BigInt? @@ -62,8 +62,8 @@ model Chat { } model Contact { - pkId Int @id @map("_id") - sessionId String @db.String + pkId String @id @default(auto()) @map("_id") @db.ObjectId + sessionId String @db.ObjectId id String @db.String name String? @db.String notify String? @db.String @@ -76,8 +76,8 @@ model Contact { } model GroupMetadata { - pkId Int @id @map("_id") - sessionId String @db.String + pkId String @id @default(auto()) @map("_id") @db.ObjectId + sessionId String @db.ObjectId id String @db.String owner String? @db.String subject String @db.String @@ -99,11 +99,11 @@ model GroupMetadata { } model Message { - pkId Int @id @map("_id") - sessionId String @db.String + pkId String @id @default(auto()) @map("_id") @db.ObjectId + sessionId String @db.ObjectId remoteJid String @db.String id String @db.String - agentId String? @db.String + agentId String? @db.ObjectId bizPrivacyStatus Int? broadcast Boolean? clearMedia Boolean? @@ -152,11 +152,11 @@ model Message { } model Session { - pkId Int @id @map("_id") - sessionId String @db.String + pkId String @id @default(auto()) @map("_id") @db.ObjectId + sessionId String @db.ObjectId id String @db.String data String @db.String @@unique([sessionId, id], map: "unique_id_per_session_id") @@index([sessionId]) -} \ No newline at end of file +}