lapeh 2.2.9 → 2.3.2

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.
Files changed (151) hide show
  1. package/bin/index.js +43 -126
  2. package/doc/CLI.md +33 -0
  3. package/package.json +1 -1
  4. package/readme.md +22 -13
  5. package/api-testing-enambelas/.env.example +0 -19
  6. package/api-testing-enambelas/doc/ARCHITECTURE_GUIDE.md +0 -73
  7. package/api-testing-enambelas/doc/CHANGELOG.md +0 -77
  8. package/api-testing-enambelas/doc/CHEATSHEET.md +0 -94
  9. package/api-testing-enambelas/doc/CLI.md +0 -106
  10. package/api-testing-enambelas/doc/CONTRIBUTING.md +0 -105
  11. package/api-testing-enambelas/doc/DEPLOYMENT.md +0 -122
  12. package/api-testing-enambelas/doc/FAQ.md +0 -81
  13. package/api-testing-enambelas/doc/FEATURES.md +0 -165
  14. package/api-testing-enambelas/doc/GETTING_STARTED.md +0 -108
  15. package/api-testing-enambelas/doc/INTRODUCTION.md +0 -60
  16. package/api-testing-enambelas/doc/PACKAGES.md +0 -66
  17. package/api-testing-enambelas/doc/PERFORMANCE.md +0 -91
  18. package/api-testing-enambelas/doc/ROADMAP.md +0 -93
  19. package/api-testing-enambelas/doc/SECURITY.md +0 -93
  20. package/api-testing-enambelas/doc/STRUCTURE.md +0 -90
  21. package/api-testing-enambelas/doc/TUTORIAL.md +0 -192
  22. package/api-testing-enambelas/docker-compose.yml +0 -24
  23. package/api-testing-enambelas/eslint.config.mjs +0 -26
  24. package/api-testing-enambelas/framework.md +0 -168
  25. package/api-testing-enambelas/nodemon.json +0 -6
  26. package/api-testing-enambelas/package-lock.json +0 -5527
  27. package/api-testing-enambelas/package.json +0 -106
  28. package/api-testing-enambelas/prisma/base.prisma.template +0 -7
  29. package/api-testing-enambelas/prisma/migrations/20251227042956_init_setup/migration.sql +0 -248
  30. package/api-testing-enambelas/prisma/migrations/migration_lock.toml +0 -3
  31. package/api-testing-enambelas/prisma/schema.prisma +0 -183
  32. package/api-testing-enambelas/prisma/seed.ts +0 -411
  33. package/api-testing-enambelas/prisma.config.ts +0 -15
  34. package/api-testing-enambelas/readme.md +0 -414
  35. package/api-testing-enambelas/scripts/check-update.js +0 -92
  36. package/api-testing-enambelas/scripts/compile-schema.js +0 -29
  37. package/api-testing-enambelas/scripts/config-clear.js +0 -45
  38. package/api-testing-enambelas/scripts/generate-jwt-secret.js +0 -38
  39. package/api-testing-enambelas/scripts/init-project.js +0 -178
  40. package/api-testing-enambelas/scripts/make-controller.js +0 -205
  41. package/api-testing-enambelas/scripts/make-model.js +0 -42
  42. package/api-testing-enambelas/scripts/make-module.js +0 -158
  43. package/api-testing-enambelas/scripts/verify-rbac-functional.js +0 -187
  44. package/api-testing-enambelas/src/controllers/authController.ts +0 -469
  45. package/api-testing-enambelas/src/controllers/petController.ts +0 -194
  46. package/api-testing-enambelas/src/controllers/rbacController.ts +0 -478
  47. package/api-testing-enambelas/src/models/core.prisma +0 -163
  48. package/api-testing-enambelas/src/models/pets.prisma +0 -9
  49. package/api-testing-enambelas/src/routes/auth.ts +0 -74
  50. package/api-testing-enambelas/src/routes/index.ts +0 -10
  51. package/api-testing-enambelas/src/routes/pets.ts +0 -13
  52. package/api-testing-enambelas/src/routes/rbac.ts +0 -42
  53. package/api-testing-enambelas/storage/logs/.gitkeep +0 -0
  54. package/api-testing-enambelas/tsconfig.json +0 -43
  55. package/api-testing-tujuhbelas/.env.example +0 -19
  56. package/api-testing-tujuhbelas/api-testing-enambelas/.env.example +0 -19
  57. package/api-testing-tujuhbelas/api-testing-enambelas/doc/ARCHITECTURE_GUIDE.md +0 -73
  58. package/api-testing-tujuhbelas/api-testing-enambelas/doc/CHANGELOG.md +0 -77
  59. package/api-testing-tujuhbelas/api-testing-enambelas/doc/CHEATSHEET.md +0 -94
  60. package/api-testing-tujuhbelas/api-testing-enambelas/doc/CLI.md +0 -106
  61. package/api-testing-tujuhbelas/api-testing-enambelas/doc/CONTRIBUTING.md +0 -105
  62. package/api-testing-tujuhbelas/api-testing-enambelas/doc/DEPLOYMENT.md +0 -122
  63. package/api-testing-tujuhbelas/api-testing-enambelas/doc/FAQ.md +0 -81
  64. package/api-testing-tujuhbelas/api-testing-enambelas/doc/FEATURES.md +0 -165
  65. package/api-testing-tujuhbelas/api-testing-enambelas/doc/GETTING_STARTED.md +0 -108
  66. package/api-testing-tujuhbelas/api-testing-enambelas/doc/INTRODUCTION.md +0 -60
  67. package/api-testing-tujuhbelas/api-testing-enambelas/doc/PACKAGES.md +0 -66
  68. package/api-testing-tujuhbelas/api-testing-enambelas/doc/PERFORMANCE.md +0 -91
  69. package/api-testing-tujuhbelas/api-testing-enambelas/doc/ROADMAP.md +0 -93
  70. package/api-testing-tujuhbelas/api-testing-enambelas/doc/SECURITY.md +0 -93
  71. package/api-testing-tujuhbelas/api-testing-enambelas/doc/STRUCTURE.md +0 -90
  72. package/api-testing-tujuhbelas/api-testing-enambelas/doc/TUTORIAL.md +0 -192
  73. package/api-testing-tujuhbelas/api-testing-enambelas/docker-compose.yml +0 -24
  74. package/api-testing-tujuhbelas/api-testing-enambelas/eslint.config.mjs +0 -26
  75. package/api-testing-tujuhbelas/api-testing-enambelas/framework.md +0 -168
  76. package/api-testing-tujuhbelas/api-testing-enambelas/nodemon.json +0 -6
  77. package/api-testing-tujuhbelas/api-testing-enambelas/package.json +0 -106
  78. package/api-testing-tujuhbelas/api-testing-enambelas/prisma/base.prisma.template +0 -7
  79. package/api-testing-tujuhbelas/api-testing-enambelas/prisma/schema.prisma +0 -183
  80. package/api-testing-tujuhbelas/api-testing-enambelas/prisma/seed.ts +0 -411
  81. package/api-testing-tujuhbelas/api-testing-enambelas/prisma.config.ts +0 -15
  82. package/api-testing-tujuhbelas/api-testing-enambelas/readme.md +0 -414
  83. package/api-testing-tujuhbelas/api-testing-enambelas/scripts/check-update.js +0 -92
  84. package/api-testing-tujuhbelas/api-testing-enambelas/scripts/compile-schema.js +0 -29
  85. package/api-testing-tujuhbelas/api-testing-enambelas/scripts/config-clear.js +0 -45
  86. package/api-testing-tujuhbelas/api-testing-enambelas/scripts/generate-jwt-secret.js +0 -38
  87. package/api-testing-tujuhbelas/api-testing-enambelas/scripts/init-project.js +0 -178
  88. package/api-testing-tujuhbelas/api-testing-enambelas/scripts/make-controller.js +0 -205
  89. package/api-testing-tujuhbelas/api-testing-enambelas/scripts/make-model.js +0 -42
  90. package/api-testing-tujuhbelas/api-testing-enambelas/scripts/make-module.js +0 -158
  91. package/api-testing-tujuhbelas/api-testing-enambelas/scripts/verify-rbac-functional.js +0 -187
  92. package/api-testing-tujuhbelas/api-testing-enambelas/src/controllers/authController.ts +0 -469
  93. package/api-testing-tujuhbelas/api-testing-enambelas/src/controllers/petController.ts +0 -194
  94. package/api-testing-tujuhbelas/api-testing-enambelas/src/controllers/rbacController.ts +0 -478
  95. package/api-testing-tujuhbelas/api-testing-enambelas/src/models/core.prisma +0 -163
  96. package/api-testing-tujuhbelas/api-testing-enambelas/src/models/pets.prisma +0 -9
  97. package/api-testing-tujuhbelas/api-testing-enambelas/src/routes/auth.ts +0 -74
  98. package/api-testing-tujuhbelas/api-testing-enambelas/src/routes/index.ts +0 -10
  99. package/api-testing-tujuhbelas/api-testing-enambelas/src/routes/pets.ts +0 -13
  100. package/api-testing-tujuhbelas/api-testing-enambelas/src/routes/rbac.ts +0 -42
  101. package/api-testing-tujuhbelas/api-testing-enambelas/storage/logs/.gitkeep +0 -0
  102. package/api-testing-tujuhbelas/api-testing-enambelas/tsconfig.json +0 -43
  103. package/api-testing-tujuhbelas/doc/ARCHITECTURE_GUIDE.md +0 -73
  104. package/api-testing-tujuhbelas/doc/CHANGELOG.md +0 -77
  105. package/api-testing-tujuhbelas/doc/CHEATSHEET.md +0 -94
  106. package/api-testing-tujuhbelas/doc/CLI.md +0 -106
  107. package/api-testing-tujuhbelas/doc/CONTRIBUTING.md +0 -105
  108. package/api-testing-tujuhbelas/doc/DEPLOYMENT.md +0 -122
  109. package/api-testing-tujuhbelas/doc/FAQ.md +0 -81
  110. package/api-testing-tujuhbelas/doc/FEATURES.md +0 -165
  111. package/api-testing-tujuhbelas/doc/GETTING_STARTED.md +0 -108
  112. package/api-testing-tujuhbelas/doc/INTRODUCTION.md +0 -60
  113. package/api-testing-tujuhbelas/doc/PACKAGES.md +0 -66
  114. package/api-testing-tujuhbelas/doc/PERFORMANCE.md +0 -91
  115. package/api-testing-tujuhbelas/doc/ROADMAP.md +0 -93
  116. package/api-testing-tujuhbelas/doc/SECURITY.md +0 -93
  117. package/api-testing-tujuhbelas/doc/STRUCTURE.md +0 -90
  118. package/api-testing-tujuhbelas/doc/TUTORIAL.md +0 -192
  119. package/api-testing-tujuhbelas/docker-compose.yml +0 -24
  120. package/api-testing-tujuhbelas/eslint.config.mjs +0 -26
  121. package/api-testing-tujuhbelas/framework.md +0 -168
  122. package/api-testing-tujuhbelas/nodemon.json +0 -6
  123. package/api-testing-tujuhbelas/package-lock.json +0 -5527
  124. package/api-testing-tujuhbelas/package.json +0 -106
  125. package/api-testing-tujuhbelas/prisma/base.prisma.template +0 -7
  126. package/api-testing-tujuhbelas/prisma/migrations/20251227043210_init_setup/migration.sql +0 -248
  127. package/api-testing-tujuhbelas/prisma/migrations/migration_lock.toml +0 -3
  128. package/api-testing-tujuhbelas/prisma/schema.prisma +0 -183
  129. package/api-testing-tujuhbelas/prisma/seed.ts +0 -411
  130. package/api-testing-tujuhbelas/prisma.config.ts +0 -15
  131. package/api-testing-tujuhbelas/readme.md +0 -414
  132. package/api-testing-tujuhbelas/scripts/check-update.js +0 -92
  133. package/api-testing-tujuhbelas/scripts/compile-schema.js +0 -29
  134. package/api-testing-tujuhbelas/scripts/config-clear.js +0 -45
  135. package/api-testing-tujuhbelas/scripts/generate-jwt-secret.js +0 -38
  136. package/api-testing-tujuhbelas/scripts/init-project.js +0 -178
  137. package/api-testing-tujuhbelas/scripts/make-controller.js +0 -205
  138. package/api-testing-tujuhbelas/scripts/make-model.js +0 -42
  139. package/api-testing-tujuhbelas/scripts/make-module.js +0 -158
  140. package/api-testing-tujuhbelas/scripts/verify-rbac-functional.js +0 -187
  141. package/api-testing-tujuhbelas/src/controllers/authController.ts +0 -469
  142. package/api-testing-tujuhbelas/src/controllers/petController.ts +0 -194
  143. package/api-testing-tujuhbelas/src/controllers/rbacController.ts +0 -478
  144. package/api-testing-tujuhbelas/src/models/core.prisma +0 -163
  145. package/api-testing-tujuhbelas/src/models/pets.prisma +0 -9
  146. package/api-testing-tujuhbelas/src/routes/auth.ts +0 -74
  147. package/api-testing-tujuhbelas/src/routes/index.ts +0 -10
  148. package/api-testing-tujuhbelas/src/routes/pets.ts +0 -13
  149. package/api-testing-tujuhbelas/src/routes/rbac.ts +0 -42
  150. package/api-testing-tujuhbelas/storage/logs/.gitkeep +0 -0
  151. package/api-testing-tujuhbelas/tsconfig.json +0 -43
@@ -1,24 +0,0 @@
1
- version: "3.9"
2
- services:
3
- redis:
4
- image: redis:7-alpine
5
- command:
6
- - "redis-server"
7
- - "--appendonly"
8
- - "yes"
9
- - "--user"
10
- - "default on >12341234 ~* +@all"
11
- - "--user"
12
- - "lapeh on >12341234 ~* +@all"
13
- ports:
14
- - "6379:6379"
15
- volumes:
16
- - redis_data:/data
17
- healthcheck:
18
- test: ["CMD", "redis-cli", "ping"]
19
- interval: 10s
20
- timeout: 5s
21
- retries: 5
22
-
23
- volumes:
24
- redis_data:
@@ -1,26 +0,0 @@
1
- import globals from "globals";
2
- import pluginJs from "@eslint/js";
3
- import tseslint from "typescript-eslint";
4
-
5
- export default [
6
- { files: ["**/*.{js,mjs,cjs,ts}"] },
7
- { languageOptions: { globals: globals.node } },
8
- pluginJs.configs.recommended,
9
- ...tseslint.configs.recommended,
10
- {
11
- rules: {
12
- "@typescript-eslint/no-unused-vars": [
13
- "error",
14
- {
15
- "argsIgnorePattern": "^_",
16
- "varsIgnorePattern": "^_",
17
- "caughtErrorsIgnorePattern": "^_"
18
- }
19
- ],
20
- "@typescript-eslint/no-explicit-any": "warn"
21
- }
22
- },
23
- {
24
- ignores: ["dist/", "node_modules/", "generated/", "scripts/"]
25
- }
26
- ];
@@ -1,168 +0,0 @@
1
- # Lapeh Framework
2
-
3
- ## Quick Start
4
-
5
- Untuk memulai project ini (Setup awal):
6
-
7
- ```bash
8
- npm i
9
- ```
10
-
11
- ```bash
12
- npm run first
13
- ```
14
-
15
- Perintah di atas akan secara otomatis melakukan:
16
-
17
- 1. Copy `.env.example` ke `.env`
18
- 2. Install dependencies (`npm install`)
19
- 3. Generate JWT Secret baru di `.env`
20
- 4. Setup database (Migrate)
21
- 5. Menjalankan Database Seeder
22
-
23
- Setelah selesai, Anda bisa langsung menjalankan project:
24
-
25
- ```bash
26
- npm run dev
27
- ```
28
-
29
- ### Akun Default
30
-
31
- Jika seeder dijalankan (via `npm run first` atau `npm run db:seed`), gunakan akun berikut:
32
-
33
- - **Super Admin**: `sa@sa.com` / `string`
34
- - **Admin**: `a@a.com` / `string`
35
- - **User**: `u@u.com` / `string`
36
-
37
- ## Code Standards & Best Practices (Baru)
38
-
39
- ### 1. Import Path Aliases
40
- Gunakan alias `@/` untuk mengimpor module dari folder `src/`. Hindari relative path yang panjang seperti `../../utils/response`.
41
-
42
- **Contoh:**
43
- ```typescript
44
- // ✅ Benar (Recommended)
45
- import { prisma } from "@/core/database";
46
- import { sendSuccess } from "@/utils/response";
47
-
48
- // ❌ Salah (Legacy)
49
- import { prisma } from "../core/database";
50
- import { sendSuccess } from "../../utils/response";
51
- ```
52
-
53
- ### 2. Strict Linting (Dead Code Elimination)
54
- Framework ini menerapkan aturan linter yang ketat untuk menjaga kebersihan kode. Variabel, parameter, atau import yang tidak digunakan akan menyebabkan error.
55
-
56
- - **Variabel tidak terpakai**: Hapus atau beri prefix `_` (underscore).
57
- ```typescript
58
- // ✅ Benar
59
- const _unusedVariable = 123;
60
- function example(_req: Request, res: Response) { ... }
61
-
62
- // ❌ Error
63
- const unusedVariable = 123;
64
- function example(req: Request, res: Response) { ... } // jika req tidak dipakai
65
- ```
66
-
67
- ### 3. High Performance Response (Fastify-Style)
68
- Untuk endpoint dengan throughput tinggi (GET lists, data besar), gunakan `sendFastSuccess` dengan JSON Schema serializer. Ini 2-3x lebih cepat dari `res.json` standar Express.
69
-
70
- **Langkah-langkah:**
71
-
72
- 1. **Definisikan Schema** (sesuai field Prisma):
73
- ```typescript
74
- const userSchema = {
75
- type: "object",
76
- properties: {
77
- id: { type: "string" }, // BigInt otomatis dicovert ke string
78
- name: { type: "string" },
79
- email: { type: "string" }
80
- }
81
- };
82
- ```
83
-
84
- 2. **Buat Serializer**:
85
- ```typescript
86
- import { getSerializer, createResponseSchema } from "@/core/serializer";
87
-
88
- const userSerializer = getSerializer("user-detail", createResponseSchema(userSchema));
89
- ```
90
-
91
- 3. **Gunakan di Controller**:
92
- ```typescript
93
- import { sendFastSuccess } from "@/utils/response";
94
-
95
- export async function getUser(req, res) {
96
- const user = await prisma.user.findFirst();
97
- sendFastSuccess(res, 200, userSerializer, {
98
- status: "success",
99
- message: "User found",
100
- data: user
101
- });
102
- }
103
- ```
104
-
105
- ## Database Workflow (Prisma)
106
-
107
- Framework ini menggunakan **Prisma ORM** dengan struktur schema yang modular (dipecah per file). Berikut adalah panduan lengkap dari Development hingga Deployment.
108
-
109
- ### 1. Development (Lokal)
110
-
111
- Saat mengembangkan aplikasi di local environment:
112
-
113
- **a. Mengupdate Schema Database**
114
- Jika Anda mengubah file schema di `src/models/*.prisma` atau konfigurasi di `prisma/base.prisma.template`:
115
-
116
- ```bash
117
- npm run prisma:migrate
118
- ```
119
-
120
- _Perintah ini akan menggabungkan semua file schema, membuat file migrasi baru, menerapkan ke database lokal, dan men-generate ulang Prisma Client._
121
-
122
- **b. Melihat/Edit Data (GUI)**
123
- Untuk membuka dashboard visual database:
124
-
125
- ```bash
126
- npm run db:studio
127
- ```
128
-
129
- **c. Mengisi Data Awal (Seeding)**
130
- Jika Anda butuh data dummy atau data awal (seperti roles/permissions):
131
-
132
- ```bash
133
- npm run db:seed
134
- ```
135
-
136
- **d. Reset Database Total**
137
- Jika database berantakan dan ingin mengulang dari awal (HATI-HATI: Menghapus semua data):
138
-
139
- ```bash
140
- npm run db:reset
141
- ```
142
-
143
- _Perintah ini akan menghapus database, membuat ulang schema dari awal, dan otomatis menjalankan seeder._
144
-
145
- ---
146
-
147
- ### 2. Deployment (Production)
148
-
149
- Saat deploy ke server production:
150
-
151
- **a. Setup Awal**
152
- Pastikan `.env` di production sudah disetup dengan benar (DATABASE_URL, dll).
153
-
154
- **b. Menerapkan Migrasi**
155
- Jangan gunakan `migrate dev` di production. Gunakan perintah ini:
156
-
157
- ```bash
158
- npm run prisma:deploy
159
- ```
160
-
161
- _Perintah ini hanya akan menerapkan file migrasi yang sudah ada ke database production tanpa mereset data atau meminta konfirmasi interaktif._
162
-
163
- **c. Generate Client (Opsional)**
164
- Biasanya dilakukan otomatis saat `npm install` (karena `postinstall`), tapi jika perlu manual:
165
-
166
- ```bash
167
- npm run prisma:generate
168
- ```
@@ -1,6 +0,0 @@
1
- {
2
- "watch": ["src", ".env"],
3
- "ext": "ts,json",
4
- "ignore": ["src/**/*.test.ts"],
5
- "exec": "ts-node -r tsconfig-paths/register src/index.ts"
6
- }
@@ -1,106 +0,0 @@
1
- {
2
- "name": "api-testing-enambelas",
3
- "version": "1.0.0",
4
- "description": "Generated by lapeh",
5
- "main": "index.js",
6
- "homepage": "https://github.com/robyajo/lapeh#readme",
7
- "bugs": {
8
- "url": "https://github.com/robyajo/lapeh/issues"
9
- },
10
- "types": "dist/src/index.d.ts",
11
- "scripts": {
12
- "dev": "lapeh dev",
13
- "first": "node scripts/init-project.js",
14
- "prebuild": "npm run prisma:generate",
15
- "build": "lapeh build",
16
- "prestart": "npm run prisma:generate",
17
- "start": "lapeh start",
18
- "prestart:prod": "npm run prisma:generate",
19
- "start:prod": "lapeh start",
20
- "typecheck": "tsc --noEmit",
21
- "lint": "eslint .",
22
- "lint:fix": "eslint . --fix",
23
- "prisma:generate": "node scripts/compile-schema.js && prisma generate",
24
- "prisma:migrate": "node scripts/compile-schema.js && prisma migrate dev",
25
- "prisma:deploy": "node scripts/compile-schema.js && prisma migrate deploy",
26
- "db:seed": "prisma db seed",
27
- "db:reset": "prisma migrate reset",
28
- "db:rs": "prisma migrate reset --force && prisma db seed",
29
- "db:studio": "prisma studio",
30
- "generate:jwt": "node scripts/generate-jwt-secret.js",
31
- "make:module": "node scripts/make-module.js",
32
- "make:model": "node scripts/make-model.js",
33
- "make:controller": "node scripts/make-controller.js",
34
- "config:clear": "node scripts/config-clear.js",
35
- "postinstall": "node scripts/compile-schema.js && prisma generate"
36
- },
37
- "keywords": [
38
- "nodejs-framework",
39
- "typescript-framework",
40
- "express-framework",
41
- "backend-framework",
42
- "rest-api",
43
- "prisma-orm",
44
- "production-ready",
45
- "api-generator",
46
- "boilerplate",
47
- "starter-kit",
48
- "mvc",
49
- "cli",
50
- "lapeh",
51
- "roby-ajo",
52
- "ajo-roby",
53
- "roby-karti-s",
54
- "lapeh"
55
- ],
56
- "author": "Roby Karti S <robyfull.dev@gmail.com>",
57
- "license": "MIT",
58
- "type": "commonjs",
59
- "dependencies": {
60
- "@prisma/adapter-mariadb": "7.2.0",
61
- "@prisma/adapter-pg": "7.2.0",
62
- "@prisma/client": "7.2.0",
63
- "bcryptjs": "3.0.3",
64
- "compression": "^1.8.1",
65
- "cors": "2.8.5",
66
- "dotenv": "17.2.3",
67
- "express": "5.2.1",
68
- "express-rate-limit": "8.2.1",
69
- "fast-json-stringify": "^6.1.1",
70
- "helmet": "8.1.0",
71
- "ioredis": "5.8.2",
72
- "ioredis-mock": "^8.13.1",
73
- "jsonwebtoken": "9.0.3",
74
- "multer": "2.0.2",
75
- "pg": "8.16.3",
76
- "slugify": "1.6.6",
77
- "socket.io": "4.8.3",
78
- "ts-node": "^10.9.2",
79
- "tsconfig-paths": "^4.2.0",
80
- "typescript": "^5.9.3",
81
- "uuid": "13.0.0",
82
- "winston": "^3.19.0",
83
- "winston-daily-rotate-file": "^5.0.0",
84
- "zod": "3.23.8",
85
- "prisma": "7.2.0",
86
- "@types/bcryptjs": "2.4.6",
87
- "@types/compression": "^1.8.1",
88
- "@types/cors": "2.8.19",
89
- "@types/express": "5.0.6",
90
- "@types/jsonwebtoken": "9.0.10",
91
- "@types/multer": "^2.0.0",
92
- "@types/node": "25.0.3",
93
- "@types/pg": "8.16.0",
94
- "@types/uuid": "10.0.0",
95
- "lapeh": "file:../"
96
- },
97
- "devDependencies": {
98
- "@eslint/js": "^9.39.2",
99
- "eslint": "^9.39.2",
100
- "globals": "^16.5.0",
101
- "typescript-eslint": "^8.50.1",
102
- "prisma": "7.2.0",
103
- "@types/express": "^5.0.0",
104
- "@types/compression": "^1.7.5"
105
- }
106
- }
@@ -1,7 +0,0 @@
1
- generator client {
2
- provider = "prisma-client-js"
3
- }
4
-
5
- datasource db {
6
- provider = "postgresql"
7
- }
@@ -1,183 +0,0 @@
1
- generator client {
2
- provider = "prisma-client-js"
3
- }
4
-
5
- datasource db {
6
- provider = "postgresql"
7
- }
8
-
9
-
10
- model cache {
11
- key String @id
12
- value String
13
- expiration Int
14
- }
15
-
16
- model cache_locks {
17
- key String @id
18
- owner String
19
- expiration Int
20
- }
21
-
22
- model failed_jobs {
23
- id BigInt @id @default(autoincrement())
24
- uuid String @unique
25
- connection String
26
- queue String
27
- payload String
28
- exception String
29
- failed_at DateTime @default(now())
30
- }
31
-
32
- model job_batches {
33
- id String @id
34
- name String
35
- total_jobs Int
36
- pending_jobs Int
37
- failed_jobs Int
38
- failed_job_ids String
39
- options String?
40
- cancelled_at Int?
41
- created_at Int
42
- finished_at Int?
43
- }
44
-
45
- model jobs {
46
- id BigInt @id @default(autoincrement())
47
- queue String
48
- payload String
49
- attempts Int
50
- reserved_at Int?
51
- available_at Int
52
- created_at Int
53
-
54
- @@index([queue])
55
- }
56
-
57
- model migrations {
58
- id Int @id @default(autoincrement())
59
- migration String
60
- batch Int
61
- }
62
-
63
- model password_reset_tokens {
64
- email String @id
65
- token String
66
- created_at DateTime?
67
- }
68
-
69
- model personal_access_tokens {
70
- id BigInt @id @default(autoincrement())
71
- tokenable_type String
72
- tokenable_id BigInt
73
- name String
74
- token String @unique
75
- abilities String?
76
- last_used_at DateTime?
77
- expires_at DateTime?
78
- created_at DateTime?
79
- updated_at DateTime?
80
-
81
- @@index([expires_at])
82
- @@index([tokenable_type, tokenable_id])
83
- }
84
-
85
- model sessions {
86
- id String @id
87
- user_id BigInt?
88
- ip_address String?
89
- user_agent String?
90
- payload String
91
- last_activity Int
92
-
93
- @@index([last_activity])
94
- @@index([user_id])
95
- }
96
-
97
- model users {
98
- id BigInt @id @default(autoincrement())
99
- uuid String @unique
100
- name String
101
- email String @unique
102
- avatar String?
103
- avatar_url String?
104
- email_verified_at DateTime?
105
- password String
106
- remember_token String?
107
- created_at DateTime?
108
- updated_at DateTime?
109
-
110
- user_roles user_roles[]
111
- user_permissions user_permissions[]
112
- }
113
-
114
- model roles {
115
- id BigInt @id @default(autoincrement())
116
- name String
117
- slug String @unique
118
- description String?
119
- created_at DateTime?
120
- updated_at DateTime?
121
-
122
- user_roles user_roles[]
123
- role_permissions role_permissions[]
124
- }
125
-
126
- model permissions {
127
- id BigInt @id @default(autoincrement())
128
- name String
129
- slug String @unique
130
- description String?
131
- created_at DateTime?
132
- updated_at DateTime?
133
-
134
- role_permissions role_permissions[]
135
- user_permissions user_permissions[]
136
- }
137
-
138
- model user_roles {
139
- id BigInt @id @default(autoincrement())
140
- user_id BigInt
141
- role_id BigInt
142
- created_at DateTime?
143
-
144
- user users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
145
- role roles @relation(fields: [role_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
146
-
147
- @@unique([user_id, role_id])
148
- }
149
-
150
- model role_permissions {
151
- id BigInt @id @default(autoincrement())
152
- role_id BigInt
153
- permission_id BigInt
154
- created_at DateTime?
155
-
156
- role roles @relation(fields: [role_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
157
- permission permissions @relation(fields: [permission_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
158
-
159
- @@unique([role_id, permission_id])
160
- }
161
-
162
- model user_permissions {
163
- id BigInt @id @default(autoincrement())
164
- user_id BigInt
165
- permission_id BigInt
166
- created_at DateTime?
167
-
168
- user users @relation(fields: [user_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
169
- permission permissions @relation(fields: [permission_id], references: [id], onDelete: Cascade, onUpdate: NoAction)
170
-
171
- @@unique([user_id, permission_id])
172
- }
173
-
174
-
175
-
176
- model pets {
177
- id BigInt @id @default(autoincrement())
178
- name String
179
- species String
180
- age Int
181
- created_at DateTime?
182
- updated_at DateTime?
183
- }