From b3f9ee96f8a8bf229cc990136c2e40a71a336815 Mon Sep 17 00:00:00 2001 From: welton Date: Mon, 20 Jul 2026 17:04:46 +0000 Subject: [PATCH] Enviar arquivos para "/" --- dev.db | Bin 0 -> 49152 bytes schema.prisma | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ seed.ts | 34 +++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 dev.db create mode 100644 schema.prisma create mode 100644 seed.ts diff --git a/dev.db b/dev.db new file mode 100644 index 0000000000000000000000000000000000000000..c49fd741b40249829f6a3e717f907af3dc5803e8 GIT binary patch literal 49152 zcmeI*Uu@fW9RP5rS(>J48!EO{Re^e8r>+w2`M+btjb^FW>(-`O8nX=@s(!YA?s9GF zElEo|khq-2?GPs+0TMz&+6&?Z!SM(}!0A9BPKbL#I_Z!Q;sFp3@G^9|C%#VXbPe6+ zj^nngzLwIsw&UN|pWoL`^83a1%B96>ld`T?uaPDzF&|=LF=m!!8HUl|F$9lr=!cPG z;Xm*kyJ!4k z|Fv|MT`qPfXU}BYtI1B^+DawIPMwNY+?7gxsnl6@ zVY#?cDd%DP?{!?gUJv3~b)jCf?D^%gu`pls_1H7n?%eD&n4C9Y#RX%9&6YZ^f?Dt^ zVA`+WIb+d)R47B4<%L4UpJbN&DA_`OrI4R99vDV0VgTbF}JE z$WgayL;co!vMI=oO|M1^8&y~i@;G`1=Fb`BNo4#>6!;QaGwLwy$6$kf7RZ5 z&A~hI-u&L(IGl6H9hvKYP)>z$3BgEmC!QReoQ$iKW-2k#pV+Rm?i z@3+CL>fT204%JPpsrh`lu)Gu=f)101k8&7-gH7Lq5+nS4A_OCG_@Fi5f7lv^N8iXF zm`oM^;D7=sfC4Ch0w{n2D1ZVefC4Ch0v{xS)@WbKoX}c{@l?W5bE0VJ3TIg^ zdj0a%g_);kidWX$YK8y2R4A>@&(RWpu|B`J-mtcmTK@dAyPYSsS~9gn5V zDXEnhOC_kBBcebBPUSU~lSP&1h+>HxwOvb+9h)kOo_A`{5C(zxjibc>=fJqMZKpD` zD>W}&FD=dQTq*80HjOnZx}RCz)-P{bi`tAhQ+CX)mFDiw&7GACwNisX%kN@ATybZ6n zT~{ClIIWM?pC=9M|9{`B6$?ZG6hHwKKmim$0Te(16hHwKK!Jw|`2GJ;S_Int|4|wO zI{p7sOy(PzsfQJg^HBf=Pyhu`00mG01yBG5Pyhu`;D`%6-#27F#W2ZOY#@~~E!pCU zL{$#@-01BW03ZMWApa2S>01BW03Ooq{e*b@z)`xcgf0U+!;f%<{ zM_%#o&G*HTx1WSf#28Qj1yBG5Pyhu`00mG01yBG5j=I27Y``2HolGVYqLcH_d525& zE2;(;$QNMDwiHemR4Pc0EQz))!cfS=y;&FYbNR4`9WHAB-Pfepofl60<_$AGV2)2u zBomCFOQL4Ul#?_?;AB-7xSSy6;6!>V$f6=sm(SH`gRt@v+zXem7d&!ftGY?f8--{6 zl^gF|`p1_)_7hn7+yA_kd7Zg1I(p&|QI_)a2L?FT=Wp*g1jy^ewt3m%be`}W{JH>c zS3q=!({gaJKi(A-Do}rWJNGr6eWo4Hk0GA#J+%W_aTeAxkYJ*!b=K0M^85eenV001BW03ZMWApa2S>z~dG0yY-_qQpEiQqcj$@`~Rb~2MiD0 zVfxd%i4k-7*O|4U;q>ls?(te+=_r5#D1ZVefC4Ch0w{3g1X>?%jV4lNDmng9(@eNI zOBZ$5G9AXqJWn-}Qf4g4v||z-=pI$z_T-KwbFwQF&Vue&PNlLY%DOAUWyJf!Zr3oJC_hb(7|tKh z-adQ#nQvK`)5Nd0uQ%z&&hE6bSgTWYQeeCBFQPl(L%0L zdAV3we(#uGIFbH71oib+x)YC2b(nZUsrNRb))3tAKBzd`(RfLPcl>a|Q^Ygp6;ox!Wk#I^zaSnhY?PL$ZX&sOIB9p#|pg5YP3Npt_khwDK z+ng@*5@)M|L~ZEuhieFgJC^O$*qXO-%?m3k${rTwdp}gv8{@ybd)x2-@6V(ezxO|r zhF<}EE+Zegqb+U_3ZMWApa2S>01BW03ZMWApa2T&3HW{MQJQl4{RN{m*(KTwMrcPn z<}VnfS)kqjAE|+7DsHBtG`)1L|Mw=7`FrNgJqjE{0Te(16hHwKKmim$0Te(16hHwK oc!CAS<63Nu)Zu3X!t5GpH0z#4>ND_f-^sX?B2KNkxqte90LAgYYXATM literal 0 HcmV?d00001 diff --git a/schema.prisma b/schema.prisma new file mode 100644 index 0000000..e66b034 --- /dev/null +++ b/schema.prisma @@ -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()) +} diff --git a/seed.ts b/seed.ts new file mode 100644 index 0000000..0e34842 --- /dev/null +++ b/seed.ts @@ -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); + });