generated from nhcarrigan/template
feat: add Prisma schema for pairing history
Add MongoDB schema with Prisma 6.8.2 for tracking: - ServerEvent: events per server (coffee chats, study groups, etc.) - UserPairingHistory: user pairing records per server - PairingRecord: individual pairing entries with event context This enables smart grouping that avoids recent pairings per-event.
This commit is contained in:
@@ -1,5 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "rondelle",
|
"name": "rondelle",
|
||||||
|
"pnpm": {
|
||||||
|
"onlyBuiltDependencies": [
|
||||||
|
"@prisma/engines",
|
||||||
|
"esbuild",
|
||||||
|
"prisma"
|
||||||
|
]
|
||||||
|
},
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./prod/index.js",
|
"main": "./prod/index.js",
|
||||||
@@ -17,6 +24,12 @@
|
|||||||
"@nhcarrigan/eslint-config": "5.2.0",
|
"@nhcarrigan/eslint-config": "5.2.0",
|
||||||
"@nhcarrigan/typescript-config": "1.0.0",
|
"@nhcarrigan/typescript-config": "1.0.0",
|
||||||
"@types/node": "22.10.6",
|
"@types/node": "22.10.6",
|
||||||
|
"prisma": "6.8.2",
|
||||||
"typescript": "5.7.3"
|
"typescript": "5.7.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@nhcarrigan/logger": "1.1.1",
|
||||||
|
"@prisma/client": "6.8.2",
|
||||||
|
"discord.js": "14.25.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user