|
- // 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 = "sqlite"
- url = env("DATABASE_URL")
- }
-
- model User {
- id Bytes @id
- username String @unique
- password String
- createdAt DateTime @default(now())
- properties Property[]
- userOrgs UserOrg[]
- sessions Session[]
- createdOrgs Org[]
- }
-
- model Property {
- id Bytes @id
- userId Bytes
- user User @relation(fields: [userId], references: [id])
- name String
- value String
- }
-
- model Org {
- id Bytes @id
- name String @unique
- description String
- createdAt DateTime @default(now())
- creatorUserId Bytes
- creatorUser User @relation(fields: [creatorUserId], references: [id])
- orgUsers UserOrg[]
- }
-
- model UserOrg {
- id Int @id @default(autoincrement())
- userId Bytes
- user User @relation(fields: [userId], references: [id])
- orgId Bytes
- org Org @relation(fields: [orgId], references: [id])
- }
-
- model Repo {
- id Bytes @id
- name String
- visibility String
- ownerId Bytes
- ownerType String
- createdAt DateTime @default(now())
- }
-
- model Log {
- id Int @id @default(autoincrement())
- subjectUserId Bytes
- subjectUsername String
- action String
- createdAt DateTime @default(now())
- parameters LogParameter[]
- }
-
- model LogParameter {
- id Int @id @default(autoincrement())
- logId Int
- log Log @relation(fields: [logId], references: [id])
- key String
- value String
- }
-
- model Session {
- id Bytes @id
- createdAt DateTime
- validUntil DateTime
-
- userId Bytes
- user User @relation(fields: [userId], references: [id])
- }
|