Files
clipperia-api/prisma/schema.prisma
2025-08-29 01:02:24 -03:00

78 lines
2.4 KiB
Plaintext

generator client {
provider = "prisma-client-js"
output = "../generated/prisma"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
enum video_situation {
FILA
PROCESSANDO
ERRO
AGUARDANDO
CONCLUIDO
}
enum papel_usuario {
USUARIO
EDITOR
ADMINISTRADOR
}
enum status_usuario {
PENDENTE
ATIVO
SUSPENSO
EXCLUIDO
}
enum eboolean {
V
F
}
model videos {
id Int @id @default(autoincrement())
uuid String @default(dbgenerated("gen_random_uuid()")) @db.Uuid
datetime_download DateTime? @db.Timestamp(6)
datetime_convert DateTime? @db.Timestamp(6)
url String @db.VarChar(244)
situation video_situation
error_message String? @db.VarChar(244)
clips_quantity Int?
times Json?
duration Unsupported("interval")?
title String? @db.VarChar(244)
filename String? @db.VarChar(244)
videoid String? @db.VarChar(244)
datetime_posted DateTime? @db.Timestamp(6)
usuario_id Int?
usuario Usuario? @relation(fields: [usuario_id], references: [id])
@@map("videos")
}
model Usuario {
id Int @id @default(autoincrement())
uuid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
email String @unique @db.VarChar(255)
email_verificado eboolean @default(F)
password String @db.VarChar(255)
nome String? @db.VarChar(100)
sobrenome String? @db.VarChar(100)
papel papel_usuario @default(USUARIO)
status status_usuario @default(PENDENTE)
ultimo_login_em DateTime? @db.Timestamp(6)
ultimo_login_ip String? @db.VarChar(45)
tentativas_login_falhadas Int @default(0)
bloqueado_ate DateTime? @db.Timestamp(6)
criado_em DateTime @default(now()) @db.Timestamp(6)
atualizado_em DateTime @updatedAt @db.Timestamp(6)
videos videos[]
@@map("usuarios")
}