diff --git a/package.json b/package.json index 943fcfc..6edb8b9 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,12 @@ { "name": "rondelle", + "pnpm": { + "onlyBuiltDependencies": [ + "@prisma/engines", + "esbuild", + "prisma" + ] + }, "version": "0.0.0", "description": "", "main": "./prod/index.js", @@ -17,6 +24,12 @@ "@nhcarrigan/eslint-config": "5.2.0", "@nhcarrigan/typescript-config": "1.0.0", "@types/node": "22.10.6", + "prisma": "6.8.2", "typescript": "5.7.3" + }, + "dependencies": { + "@nhcarrigan/logger": "1.1.1", + "@prisma/client": "6.8.2", + "discord.js": "14.25.1" } } diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 0000000..228efb6 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,35 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "mongodb" + url = env("MONGO_URI") +} + +model ServerEvent { + id String @id @default(auto()) @map("_id") @db.ObjectId + serverId String + eventId String + eventName String + createdAt DateTime @default(now()) + createdBy String + + @@unique([serverId, eventId]) + @@index([serverId]) +} + +model UserPairingHistory { + id String @id @default(auto()) @map("_id") @db.ObjectId + userId String + serverId String + pairings PairingRecord[] + + @@unique([userId, serverId]) +} + +type PairingRecord { + recipientId String + eventId String + sessionDate DateTime +}