Skip to content
Snippets Groups Projects
schema.prisma 1.02 KiB
Newer Older
Pascal Kosak's avatar
Pascal Kosak committed
datasource db {
    provider = "sqlite"
    url      = "file:./data.db"
}

generator client {
    provider = "prisma-client-js"
}

model Group {
    id      String  @id @default(uuid())
    name    String  @unique
    code    String  @unique
    tokens  Int     @default(0)

    unlocks UnlockEntry[]
}

model Agent {
    id      String  @id @default(uuid())
    uid     String  @unique
    slug    String  @unique
    name    String

    entries Entry[]
    unlocks UnlockEntry[]
}

model Entry {
    id      String  @id @default(uuid())
    content String

    createdAt DateTime @default(now())

    agent   Agent   @relation(fields: [agentId], references: [id])
    agentId String
}


// Types: 'picture', 'location', 'text'
model UnlockEntry {
    id      String  @id @default(uuid())

    type    String

    content String?
    path    String?
    lat     String?
    lon     String?

    createdAt DateTime @default(now())

    agent   Agent   @relation(fields: [agentId], references: [id])
    agentId String

    unlockedBy  Group[]
}