67 lines
1.6 KiB
Plaintext
67 lines
1.6 KiB
Plaintext
// 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"
|
|
output = "../generated/prisma"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model Users {
|
|
user_id Int @id @default(autoincrement())
|
|
first_name String
|
|
last_name String
|
|
email String? @unique
|
|
phone_number Int @unique
|
|
residence String?
|
|
role Roles @default(USER)
|
|
|
|
|
|
employee Employees? @relation("UserEmployee")
|
|
customer Customers? @relation("UserCustomer")
|
|
|
|
@@map("users")
|
|
}
|
|
|
|
model Employees {
|
|
employee_id Int @id @default(autoincrement())
|
|
user Users @relation("UserEmployee", fields: [user_id], references:[user_id])
|
|
user_id Int @unique
|
|
external_payroll_id Int @unique
|
|
company_code Int
|
|
first_work_day DateTime
|
|
last_work_day DateTime?
|
|
role Roles @default(EMPLOYEE)
|
|
|
|
@@map("employees")
|
|
}
|
|
|
|
model Customers {
|
|
customer_id Int @id @default(autoincrement())
|
|
user Users @relation("UserCustomer", fields: [user_id], references:[user_id])
|
|
user_id Int @unique
|
|
invoice_id Int? @unique
|
|
role Roles @default(CUSTOMER)
|
|
|
|
@@map("customers")
|
|
}
|
|
|
|
enum Roles {
|
|
USER
|
|
ADMIN
|
|
CUSTOMER
|
|
DEALER
|
|
EMPLOYEE
|
|
HR
|
|
SUPERVISOR
|
|
ACCOUNTING
|
|
|
|
@@map("roles")
|
|
} |