- Add Next.js app structure with base configs, linting, and formatting - Implement LiveKit Meet page, types, and utility functions - Add Docker, Compose, and deployment scripts for backend and token server - Provide E2E and smoke test scaffolding with Puppeteer and Playwright helpers - Include CSS modules and global styles for UI - Add postMessage and studio integration utilities - Update package.json with dependencies and scripts for development and testing
81 lines
1.9 KiB
Plaintext
81 lines
1.9 KiB
Plaintext
// Prisma schema reconstructed from prisma/migrations/20251118223907_init/migration.sql
|
|
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model Role {
|
|
id Int @id @default(autoincrement())
|
|
name String @unique
|
|
label String?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
UserRole UserRole[]
|
|
}
|
|
|
|
model User {
|
|
id Int @id @default(autoincrement())
|
|
email String @unique
|
|
username String @unique
|
|
displayName String?
|
|
password String?
|
|
isAdmin Boolean @default(false)
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
UserRole UserRole[]
|
|
sessions Session[] @relation("SessionCreatedBy")
|
|
}
|
|
|
|
model UserRole {
|
|
id Int @id @default(autoincrement())
|
|
userId Int
|
|
roleId Int
|
|
|
|
user User @relation(fields: [userId], references: [id])
|
|
role Role @relation(fields: [roleId], references: [id])
|
|
|
|
@@unique([userId, roleId])
|
|
}
|
|
|
|
model Session {
|
|
id String @id
|
|
token String
|
|
url String
|
|
room String
|
|
username String
|
|
createdAt DateTime @default(now())
|
|
expiresAt DateTime
|
|
consumed Boolean @default(false)
|
|
created_by Int? @map("created_by")
|
|
|
|
creator User? @relation("SessionCreatedBy", fields: [created_by], references: [id])
|
|
}
|
|
|
|
model Broadcast {
|
|
id Int @id @default(autoincrement())
|
|
title String
|
|
description String?
|
|
ownerId Int?
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
}
|
|
|
|
model AuditLog {
|
|
id Int @id @default(autoincrement())
|
|
actorId Int?
|
|
action String
|
|
resource String?
|
|
metadata Json?
|
|
createdAt DateTime @default(now())
|
|
}
|
|
|
|
model Setting {
|
|
id Int @id @default(autoincrement())
|
|
key String @unique
|
|
value String?
|
|
}
|