second commit

This commit is contained in:
2025-08-05 09:20:41 -04:00
parent 1755c28ecd
commit 21effd183b
105 changed files with 26041 additions and 0 deletions

BIN
prisma/db/custom.db Normal file

Binary file not shown.

0
prisma/dev.db Normal file
View File

View File

@ -0,0 +1,35 @@
-- CreateTable
CREATE TABLE "users" (
"id" TEXT NOT NULL PRIMARY KEY,
"email" TEXT NOT NULL,
"password" TEXT NOT NULL,
"role" TEXT NOT NULL DEFAULT 'USER',
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL
);
-- CreateTable
CREATE TABLE "inventory_items" (
"id" TEXT NOT NULL PRIMARY KEY,
"name" TEXT NOT NULL,
"description" TEXT,
"sku" TEXT NOT NULL,
"quantity" INTEGER NOT NULL DEFAULT 0,
"qrCode" TEXT NOT NULL,
"category" TEXT,
"location" TEXT,
"price" REAL,
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" DATETIME NOT NULL,
"userId" TEXT NOT NULL,
CONSTRAINT "inventory_items_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
);
-- CreateIndex
CREATE UNIQUE INDEX "users_email_key" ON "users"("email");
-- CreateIndex
CREATE UNIQUE INDEX "inventory_items_sku_key" ON "inventory_items"("sku");
-- CreateIndex
CREATE UNIQUE INDEX "inventory_items_qrCode_key" ON "inventory_items"("qrCode");

View File

@ -0,0 +1,3 @@
# Please do not edit this file manually
# It should be added in your version-control system (e.g., Git)
provider = "sqlite"

53
prisma/schema.prisma Normal file
View File

@ -0,0 +1,53 @@
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
//prisma/schema.prisma (add to existing)
model User {
id String @id @default(cuid())
email String @unique
password String // Will be hashed
role Role @default(USER)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
inventoryItems InventoryItem[]
@@map("users")
}
model InventoryItem {
id String @id @default(cuid())
name String
description String?
sku String @unique
quantity Int @default(0)
qrCode String @unique
category String?
location String?
price Float?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
userId String
user User @relation(fields: [userId], references: [id])
@@map("inventory_items")
}
enum Role {
ADMIN
MANAGER
USER
}

25
prisma/seed.ts Normal file
View File

@ -0,0 +1,25 @@
import { PrismaClient } from '@prisma/client'
import { hash } from 'bcryptjs'
const prisma = new PrismaClient()
async function main() {
const password = await hash('password', 10)
const user = await prisma.user.create({
data: {
email: 'test@example.com',
password,
},
})
console.log({ user })
}
main()
.then(async () => {
await prisma.$disconnect()
})
.catch(async (e) => {
console.error(e)
await prisma.$disconnect()
process.exit(1)
})