@hirelink/database-prisma 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.npmignore ADDED
File without changes
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # database-prisma
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@hirelink/database-prisma",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "prisma:generate": "npx prisma format && npx prisma generate",
8
+ "prisma:migrate:dev": "npx prisma migrate dev",
9
+ "prisma:migrate:deploy": "npx prisma migrate deploy"
10
+ },
11
+ "dependencies": {
12
+ "@prisma/client": "^6.3.1"
13
+ },
14
+ "devDependencies": {
15
+ "prisma": "^6.3.1"
16
+ },
17
+ "author": "",
18
+ "license": "ISC"
19
+ }
@@ -0,0 +1,99 @@
1
+ generator client {
2
+ provider = "prisma-client-js"
3
+ }
4
+
5
+ datasource db {
6
+ provider = "postgresql"
7
+ url = env("DATABASE_URL")
8
+ }
9
+
10
+ model User {
11
+ id String @id @default(uuid())
12
+ email String @unique
13
+ first_name String?
14
+ last_name String?
15
+ password_hash String
16
+ role Role
17
+ status UserStatus @default(active)
18
+ created_at DateTime? @default(now())
19
+ updated_at DateTime? @updatedAt
20
+
21
+ hr_users HrUser[]
22
+ onboarding_details OnboardingDetail[]
23
+ }
24
+
25
+ enum Role {
26
+ admin
27
+ hr
28
+ }
29
+
30
+ enum UserStatus {
31
+ active
32
+ inactive
33
+ locked
34
+ }
35
+
36
+ model Organization {
37
+ org_id String @id @default(uuid())
38
+ legal_name String
39
+ display_name String?
40
+ gst_number String? @unique
41
+ address_line_1 String?
42
+ address_line_2 String?
43
+ address_line_3 String?
44
+ city String?
45
+ pincode String?
46
+ state String?
47
+ terms_accepted Boolean @default(false)
48
+ created_at DateTime? @default(now())
49
+ updated_at DateTime? @updatedAt
50
+
51
+ hr_users HrUser[]
52
+ onboarding_details OnboardingDetail[]
53
+ documents Document[]
54
+ }
55
+
56
+ model HrUser {
57
+ hr_user_id String @id @default(uuid())
58
+ org_id String
59
+ user_id String
60
+ status HrUserStatus @default(initiated)
61
+ created_at DateTime? @default(now())
62
+ updated_at DateTime? @updatedAt
63
+
64
+ organization Organization @relation(fields: [org_id], references: [org_id])
65
+ user User @relation(fields: [user_id], references: [id])
66
+ }
67
+
68
+ enum HrUserStatus {
69
+ active
70
+ initiated
71
+ disabled
72
+ }
73
+
74
+ model OnboardingDetail {
75
+ onboarding_id String @id @default(uuid())
76
+ org_id String
77
+ admin_user_id String
78
+ hr_emails String?
79
+ default_list String?
80
+ documents Json?
81
+ created_at DateTime? @default(now())
82
+ updated_at DateTime? @updatedAt
83
+
84
+ organization Organization @relation(fields: [org_id], references: [org_id])
85
+ admin_user User @relation(fields: [admin_user_id], references: [id])
86
+ }
87
+
88
+ model Document {
89
+ doc_id String @id @default(uuid())
90
+ org_id String
91
+ doc_name String
92
+ mandatory Boolean @default(false)
93
+ optional Boolean @default(false)
94
+ custom Boolean @default(false)
95
+ created_at DateTime? @default(now())
96
+ updated_at DateTime? @updatedAt
97
+
98
+ organization Organization @relation(fields: [org_id], references: [org_id])
99
+ }