Enviar arquivos para "/"

This commit is contained in:
2026-07-20 17:04:46 +00:00
parent 3c318d399a
commit b3f9ee96f8
3 changed files with 98 additions and 0 deletions

BIN
dev.db Normal file

Binary file not shown.

64
schema.prisma Normal file
View File

@@ -0,0 +1,64 @@
datasource db {
provider = "sqlite"
url = "file:./dev.db"
}
generator client {
provider = "prisma-client-js"
}
model Usuario {
id String @id @default(uuid())
nome String
email String @unique
senha String
role String @default("GARCOM") // ADMIN, CAIXA, GARCOM, COZINHA, BARMAN
ativo Boolean @default(true)
criadoEm DateTime @default(now())
}
model Categoria {
id String @id @default(uuid())
nome String
produtos Produto[]
}
model Produto {
id String @id @default(uuid())
nome String
descricao String?
fotoUrl String?
preco Float
custo Float?
estoqueAtual Int @default(0)
estoqueMinimo Int @default(0)
itemCozinha Boolean
ativo Boolean @default(true)
categoriaId String
categoria Categoria @relation(fields: [categoriaId], references: [id])
itensPedido ItemPedido[]
}
model Comanda {
id String @id @default(uuid())
identificador String
nomeCliente String?
status String @default("ABERTA") // ABERTA, FECHADA, PAGA, CANCELADA
total Float @default(0.0)
criadoEm DateTime @default(now())
fechadoEm DateTime?
itens ItemPedido[]
}
model ItemPedido {
id String @id @default(uuid())
quantidade Int
precoUnitario Float
observacao String?
status String @default("PENDENTE") // PENDENTE, PREPARANDO, PRONTO, ENTREGUE
produtoId String
produto Produto @relation(fields: [produtoId], references: [id])
comandaId String
comanda Comanda @relation(fields: [comandaId], references: [id])
criadoEm DateTime @default(now())
}

34
seed.ts Normal file
View File

@@ -0,0 +1,34 @@
import { PrismaClient } from '@prisma/client';
import bcrypt from 'bcrypt';
const prisma = new PrismaClient();
async function main() {
console.log('Iniciando o seed...');
const passwordHash = await bcrypt.hash('123456', 10);
const admin = await prisma.usuario.upsert({
where: { email: 'admin@gastrobar.com' },
update: {},
create: {
nome: 'Administrador',
email: 'admin@gastrobar.com',
senha: passwordHash,
role: 'ADMIN',
ativo: true,
},
});
console.log('Usuário admin criado:', admin.email);
}
main()
.then(async () => {
await prisma.$disconnect();
})
.catch(async (e) => {
console.error(e);
await prisma.$disconnect();
process.exit(1);
});