arkos 1.0.10-rc.1 → 1.0.11-beta
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/README.md +21 -183
- package/dist/cjs/app.js +1 -1
- package/dist/cjs/app.js.map +1 -1
- package/dist/cjs/exports/auth/index.js.map +1 -1
- package/dist/cjs/exports/index.js +3 -0
- package/dist/cjs/exports/index.js.map +1 -1
- package/dist/cjs/exports/prisma/index.js +3 -0
- package/dist/cjs/exports/prisma/index.js.map +1 -1
- package/dist/cjs/exports/services/index.js +4 -6
- package/dist/cjs/exports/services/index.js.map +1 -1
- package/dist/cjs/exports/utils/index.js +15 -3
- package/dist/cjs/exports/utils/index.js.map +1 -1
- package/dist/cjs/exports/validation/index.js +3 -1
- package/dist/cjs/exports/validation/index.js.map +1 -1
- package/dist/cjs/modules/auth/auth.controller.js +40 -197
- package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
- package/dist/cjs/modules/auth/auth.router.js +28 -30
- package/dist/cjs/modules/auth/auth.router.js.map +1 -1
- package/dist/cjs/modules/auth/auth.service.js +44 -22
- package/dist/cjs/modules/auth/auth.service.js.map +1 -1
- package/dist/cjs/modules/auth/utils/helpers/auth.helpers.js +19 -0
- package/dist/cjs/modules/auth/utils/helpers/auth.helpers.js.map +1 -0
- package/dist/cjs/modules/base/base.controller.js +108 -106
- package/dist/cjs/modules/base/base.controller.js.map +1 -1
- package/dist/cjs/modules/base/base.router.js +74 -61
- package/dist/cjs/modules/base/base.router.js.map +1 -1
- package/dist/cjs/modules/base/base.service.js +27 -35
- package/dist/cjs/modules/base/base.service.js.map +1 -1
- package/dist/cjs/modules/base/utils/helpers/base.helpers.js +183 -0
- package/dist/cjs/modules/base/utils/helpers/base.helpers.js.map +1 -0
- package/dist/cjs/modules/email/email.service.js +68 -13
- package/dist/cjs/modules/email/email.service.js.map +1 -1
- package/dist/cjs/modules/error-handler/error-handler.controller.js +5 -8
- package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/cjs/modules/error-handler/utils/catch-async.js +16 -5
- package/dist/cjs/modules/error-handler/utils/catch-async.js.map +1 -1
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +30 -30
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
- package/dist/cjs/modules/file-uploader/file-uploader.controller.js +66 -69
- package/dist/cjs/modules/file-uploader/file-uploader.controller.js.map +1 -1
- package/dist/cjs/modules/file-uploader/file-uploader.router.js +30 -15
- package/dist/cjs/modules/file-uploader/file-uploader.router.js.map +1 -1
- package/dist/cjs/modules/file-uploader/file-uploader.service.js +214 -31
- package/dist/cjs/modules/file-uploader/file-uploader.service.js.map +1 -1
- package/dist/cjs/modules/file-uploader/utils/helpers/file-uploader.helpers.js +98 -0
- package/dist/cjs/modules/file-uploader/utils/helpers/file-uploader.helpers.js.map +1 -0
- package/dist/cjs/scripts/create-test.js +34 -0
- package/dist/cjs/scripts/create-test.js.map +1 -0
- package/dist/cjs/server.js +1 -1
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/types/arkos-config.js +3 -0
- package/dist/cjs/types/arkos-config.js.map +1 -0
- package/dist/cjs/types/auth.js +3 -0
- package/dist/cjs/types/auth.js.map +1 -0
- package/dist/cjs/types/index.js +11 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/prisma-model-router-config.js +3 -0
- package/dist/cjs/types/prisma-model-router-config.js.map +1 -0
- package/dist/cjs/utils/features/api.features.js +5 -5
- package/dist/cjs/utils/features/api.features.js.map +1 -1
- package/dist/cjs/utils/features/change-case.features.js +67 -0
- package/dist/cjs/utils/features/change-case.features.js.map +1 -0
- package/dist/cjs/utils/helpers/api.features.helpers.js +26 -27
- package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/base.controller.helpers.js +40 -0
- package/dist/cjs/utils/helpers/base.controller.helpers.js.map +1 -0
- package/dist/cjs/utils/helpers/change-case.helpers.js +185 -0
- package/dist/cjs/utils/helpers/change-case.helpers.js.map +1 -0
- package/dist/cjs/utils/helpers/deepmerge.helper.js +119 -0
- package/dist/cjs/utils/helpers/deepmerge.helper.js.map +1 -0
- package/dist/cjs/utils/helpers/global.helpers.js +51 -0
- package/dist/cjs/utils/helpers/global.helpers.js.map +1 -0
- package/dist/cjs/utils/helpers/models.helpers.js +103 -26
- package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/prisma.helpers.js +27 -50
- package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/query-parser.helpers.js +45 -0
- package/dist/cjs/utils/helpers/query-parser.helpers.js.map +1 -0
- package/dist/cjs/utils/helpers/text.helpers.js +16 -0
- package/dist/cjs/utils/helpers/text.helpers.js.map +1 -1
- package/dist/cjs/utils/validate-dto.js +3 -7
- package/dist/cjs/utils/validate-dto.js.map +1 -1
- package/dist/cjs/utils/validate-schema.js +26 -0
- package/dist/cjs/utils/validate-schema.js.map +1 -0
- package/dist/es2020/app.js +1 -1
- package/dist/es2020/app.js.map +1 -1
- package/dist/es2020/exports/auth/index.js.map +1 -1
- package/dist/es2020/exports/index.js +2 -0
- package/dist/es2020/exports/index.js.map +1 -1
- package/dist/es2020/exports/prisma/index.js +2 -1
- package/dist/es2020/exports/prisma/index.js.map +1 -1
- package/dist/es2020/exports/services/index.js +2 -2
- package/dist/es2020/exports/services/index.js.map +1 -1
- package/dist/es2020/exports/utils/index.js +1 -2
- package/dist/es2020/exports/utils/index.js.map +1 -1
- package/dist/es2020/exports/validation/index.js +2 -1
- package/dist/es2020/exports/validation/index.js.map +1 -1
- package/dist/es2020/modules/auth/auth.controller.js +40 -197
- package/dist/es2020/modules/auth/auth.controller.js.map +1 -1
- package/dist/es2020/modules/auth/auth.router.js +27 -30
- package/dist/es2020/modules/auth/auth.router.js.map +1 -1
- package/dist/es2020/modules/auth/auth.service.js +45 -23
- package/dist/es2020/modules/auth/auth.service.js.map +1 -1
- package/dist/es2020/modules/auth/utils/helpers/auth.helpers.js +12 -0
- package/dist/es2020/modules/auth/utils/helpers/auth.helpers.js.map +1 -0
- package/dist/es2020/modules/base/base.controller.js +107 -105
- package/dist/es2020/modules/base/base.controller.js.map +1 -1
- package/dist/es2020/modules/base/base.router.js +73 -62
- package/dist/es2020/modules/base/base.router.js.map +1 -1
- package/dist/es2020/modules/base/base.service.js +11 -19
- package/dist/es2020/modules/base/base.service.js.map +1 -1
- package/dist/es2020/modules/base/utils/helpers/base.helpers.js +177 -0
- package/dist/es2020/modules/base/utils/helpers/base.helpers.js.map +1 -0
- package/dist/es2020/modules/email/email.service.js +68 -13
- package/dist/es2020/modules/email/email.service.js.map +1 -1
- package/dist/es2020/modules/error-handler/error-handler.controller.js +2 -8
- package/dist/es2020/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/es2020/modules/error-handler/utils/catch-async.js +15 -4
- package/dist/es2020/modules/error-handler/utils/catch-async.js.map +1 -1
- package/dist/es2020/modules/error-handler/utils/error-handler.helpers.js +31 -31
- package/dist/es2020/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
- package/dist/es2020/modules/file-uploader/file-uploader.controller.js +62 -65
- package/dist/es2020/modules/file-uploader/file-uploader.controller.js.map +1 -1
- package/dist/es2020/modules/file-uploader/file-uploader.router.js +29 -14
- package/dist/es2020/modules/file-uploader/file-uploader.router.js.map +1 -1
- package/dist/es2020/modules/file-uploader/file-uploader.service.js +212 -27
- package/dist/es2020/modules/file-uploader/file-uploader.service.js.map +1 -1
- package/dist/es2020/modules/file-uploader/utils/helpers/file-uploader.helpers.js +89 -0
- package/dist/es2020/modules/file-uploader/utils/helpers/file-uploader.helpers.js.map +1 -0
- package/dist/es2020/scripts/create-test.js +29 -0
- package/dist/es2020/scripts/create-test.js.map +1 -0
- package/dist/es2020/server.js +1 -1
- package/dist/es2020/server.js.map +1 -1
- package/dist/es2020/types/arkos-config.js +2 -0
- package/dist/es2020/types/arkos-config.js.map +1 -0
- package/dist/es2020/types/auth.js +2 -0
- package/dist/es2020/types/auth.js.map +1 -0
- package/dist/es2020/types/index.js +8 -0
- package/dist/es2020/types/index.js.map +1 -0
- package/dist/es2020/types/prisma-model-router-config.js +2 -0
- package/dist/es2020/types/prisma-model-router-config.js.map +1 -0
- package/dist/es2020/utils/features/api.features.js +1 -1
- package/dist/es2020/utils/features/api.features.js.map +1 -1
- package/dist/es2020/utils/features/change-case.features.js +31 -0
- package/dist/es2020/utils/features/change-case.features.js.map +1 -0
- package/dist/es2020/utils/helpers/api.features.helpers.js +26 -27
- package/dist/es2020/utils/helpers/api.features.helpers.js.map +1 -1
- package/dist/es2020/utils/helpers/base.controller.helpers.js +34 -0
- package/dist/es2020/utils/helpers/base.controller.helpers.js.map +1 -0
- package/dist/es2020/utils/helpers/change-case.helpers.js +169 -0
- package/dist/es2020/utils/helpers/change-case.helpers.js.map +1 -0
- package/dist/es2020/utils/helpers/deepmerge.helper.js +117 -0
- package/dist/es2020/utils/helpers/deepmerge.helper.js.map +1 -0
- package/dist/es2020/utils/helpers/global.helpers.js +15 -0
- package/dist/es2020/utils/helpers/global.helpers.js.map +1 -0
- package/dist/es2020/utils/helpers/models.helpers.js +96 -20
- package/dist/es2020/utils/helpers/models.helpers.js.map +1 -1
- package/dist/es2020/utils/helpers/prisma.helpers.js +23 -13
- package/dist/es2020/utils/helpers/prisma.helpers.js.map +1 -1
- package/dist/es2020/utils/helpers/query-parser.helpers.js +40 -0
- package/dist/es2020/utils/helpers/query-parser.helpers.js.map +1 -0
- package/dist/es2020/utils/helpers/text.helpers.js +13 -0
- package/dist/es2020/utils/helpers/text.helpers.js.map +1 -1
- package/dist/es2020/utils/validate-dto.js +3 -7
- package/dist/es2020/utils/validate-dto.js.map +1 -1
- package/dist/es2020/utils/validate-schema.js +20 -0
- package/dist/es2020/utils/validate-schema.js.map +1 -0
- package/dist/types/app.d.ts +2 -18
- package/dist/types/exports/auth/index.d.ts +1 -1
- package/dist/types/exports/index.d.ts +5 -0
- package/dist/types/exports/prisma/index.d.ts +3 -2
- package/dist/types/exports/services/index.d.ts +2 -2
- package/dist/types/exports/utils/index.d.ts +1 -2
- package/dist/types/exports/validation/index.d.ts +2 -1
- package/dist/types/modules/auth/auth.controller.d.ts +7 -17
- package/dist/types/modules/auth/auth.router.d.ts +2 -2
- package/dist/types/modules/auth/auth.service.d.ts +7 -6
- package/dist/types/modules/auth/utils/helpers/auth.helpers.d.ts +2 -0
- package/dist/types/modules/base/base.controller.d.ts +17 -13
- package/dist/types/modules/base/base.router.d.ts +2 -2
- package/dist/types/modules/base/utils/helpers/base.helpers.d.ts +5 -0
- package/dist/types/modules/email/email.service.d.ts +20 -5
- package/dist/types/modules/error-handler/utils/catch-async.d.ts +2 -2
- package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +1 -1
- package/dist/types/modules/file-uploader/file-uploader.controller.d.ts +3 -4
- package/dist/types/modules/file-uploader/file-uploader.router.d.ts +2 -2
- package/dist/types/modules/file-uploader/file-uploader.service.d.ts +22 -11
- package/dist/types/modules/file-uploader/utils/helpers/file-uploader.helpers.d.ts +7 -0
- package/dist/types/scripts/create-test.d.ts +1 -0
- package/dist/types/server.d.ts +3 -3
- package/dist/types/types/arkos-config.d.ts +107 -0
- package/dist/types/types/auth.d.ts +16 -0
- package/dist/types/types/index.d.ts +71 -0
- package/dist/types/types/prisma-model-router-config.d.ts +18 -0
- package/dist/types/utils/features/change-case.features.d.ts +12 -0
- package/dist/types/utils/helpers/api.features.helpers.d.ts +1 -1
- package/dist/types/utils/helpers/base.controller.helpers.d.ts +2 -0
- package/dist/types/utils/helpers/change-case.helpers.d.ts +26 -0
- package/dist/types/utils/helpers/deepmerge.helper.d.ts +19 -0
- package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
- package/dist/types/utils/helpers/models.helpers.d.ts +23 -9
- package/dist/types/utils/helpers/prisma.helpers.d.ts +3 -3
- package/dist/types/utils/helpers/query-parser.helpers.d.ts +11 -0
- package/dist/types/utils/helpers/text.helpers.d.ts +3 -0
- package/dist/types/utils/validate-dto.d.ts +0 -4
- package/dist/types/utils/validate-schema.d.ts +2 -0
- package/package.json +27 -17
- package/dist/cjs/modules/base/utils/base.helpers.js +0 -90
- package/dist/cjs/modules/base/utils/base.helpers.js.map +0 -1
- package/dist/es2020/modules/base/utils/base.helpers.js +0 -87
- package/dist/es2020/modules/base/utils/base.helpers.js.map +0 -1
- package/dist/types/modules/base/utils/base.helpers.d.ts +0 -4
package/README.md
CHANGED
|
@@ -1,199 +1,37 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# Arkos
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
### The Express And Prisma Framework For RESTful API
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### **Key Features**
|
|
10
|
-
|
|
11
|
-
- 🚀 **Automatic API Generation** – Instantly create RESTful API routes for Prisma models.
|
|
12
|
-
|
|
13
|
-
- 🔐 **Built-in Authentication** – Supports JWT-based authentication with effortless setup.
|
|
14
|
-
|
|
15
|
-
- ⚡ **Express Middlewares** – Pre-configured security, request parsing, and error handling.
|
|
16
|
-
|
|
17
|
-
- 🛡️ **Built-in Data Validation** – using class-validator and class-transformer or zod, just drop a create-post.dto.ts or create-user.schema.ts.
|
|
18
|
-
|
|
19
|
-
- ⬆️ **File Upload & Optimization** – Efficient image, video, docs, raw-file handling.
|
|
20
|
-
|
|
21
|
-
- 💠 **Prisma Integration** – Seamless connection with Prisma ORM for database management with relation feilds handling.
|
|
22
|
-
|
|
23
|
-
- 👨💻 **Interceptors Middlewares** – Tailor as you want, intercept, customize, for example using beforeCreateOne, afterSignUp.
|
|
24
|
-
|
|
25
|
-
- ✉️ **Nodemailer Integration** – Seamless nodemailer integration for sending emails.
|
|
26
|
-
|
|
27
|
-
With Arkos, developers can **bootstrap their backend in seconds**, focusing on building features rather than repetitive setup tasks.
|
|
28
|
-
|
|
29
|
-
### 1. **Install the Package**
|
|
30
|
-
|
|
31
|
-
Before running the code, make sure your package (`arkos`) is installed in your project. You can do this by running:
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
npm install arkos
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
or if you are using `pnpm`:
|
|
7
|
+
Used to simplify the development of a secure and scalable RESTful API with minimal configuration, allowing developers to focus on what really matters for the business
|
|
38
8
|
|
|
39
|
-
|
|
40
|
-
pnpm install arkos
|
|
41
|
-
```
|
|
9
|
+
## Features
|
|
42
10
|
|
|
43
|
-
|
|
11
|
+
- 🚀 **Automatic API Generation** - Instantly create RESTful routes from Prisma models
|
|
12
|
+
- 🔐 **Built-in Authentication** - JWT-based authentication with minimal setup
|
|
13
|
+
- ⚡ **Express Middlewares** - Pre-configured security, parsing, and error handling
|
|
14
|
+
- 🛡️ **Data Validation** - Using class-validator/class-transformer or zod
|
|
15
|
+
- 💠 **Prisma Integration** - Seamless database management with relation fields support
|
|
16
|
+
- ⬆️ **File Upload & Optimization** - Efficient handling of images, videos, and documents
|
|
17
|
+
- 👨💻 **Interceptors Middlewares** - Customize request/response flow with hooks
|
|
18
|
+
- ✉️ **Nodemailer Integration** - Easy email sending functionality
|
|
19
|
+
- 📝 **Swagger API Documentation** - Automatically generate API documentation
|
|
44
20
|
|
|
45
|
-
|
|
21
|
+
**BETA VERSION**
|
|
46
22
|
|
|
47
|
-
|
|
48
|
-
Make sure you have Prisma installed in your project. You can install it using:
|
|
23
|
+
## Documentation
|
|
49
24
|
|
|
50
|
-
|
|
51
|
-
npm install @prisma/client
|
|
52
|
-
npm install prisma --save-dev
|
|
53
|
-
```
|
|
25
|
+
For detailed documentation, visit our [official docs](https://arkosjs.com/docs/intro).
|
|
54
26
|
|
|
55
|
-
|
|
56
|
-
You should have your `prisma/schema.prisma` file properly configured and migrate the database with Prisma commands:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
npx prisma generate
|
|
60
|
-
npx prisma migrate dev
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
3. **Initialize Prisma client:**
|
|
64
|
-
You'll need to have the `prisma` client initialized in your `src/utils/prisma.ts` file. For example:
|
|
65
|
-
|
|
66
|
-
```typescript
|
|
67
|
-
// src/utils/prisma.ts
|
|
68
|
-
import { PrismaClient } from "@prisma/client";
|
|
69
|
-
|
|
70
|
-
export const prisma = new PrismaClient();
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### 3. **Using `init` from `arkos`**
|
|
74
|
-
|
|
75
|
-
The `init` function from your `arkos` package is used to initialize the app with required configurations. Here's how you can structure it:
|
|
76
|
-
|
|
77
|
-
```typescript
|
|
78
|
-
// src/app.ts
|
|
79
|
-
import arkos from "arkos"; // Import arkos.init() from arkos package
|
|
80
|
-
import express from "express"; // Import express
|
|
81
|
-
|
|
82
|
-
// Initialize the Express app
|
|
83
|
-
const app = express();
|
|
84
|
-
|
|
85
|
-
// Call init and pass the Express app for configuration, app will listen in 8000 by default or set PORT in .env.developement or .env.production
|
|
86
|
-
arkos.init(app);
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### 4. **How `arkos.init()` Works:**
|
|
90
|
-
|
|
91
|
-
- **Initialization**: The `arkos.init()` function is called with two arguments, the second being optional:
|
|
92
|
-
- `app`: The Express application instance.
|
|
93
|
-
- `options`: An object containing configurations for toggle `authentication` and pass the desired `port`.
|
|
94
|
-
- **What happens under the hood**:
|
|
95
|
-
- **Authentication Setup**: The package will set (read further to learn how to prepare the environment) up authentication routes, middleware, and necessary handlers for managing user sessions and JWT tokens.
|
|
96
|
-
- **Error Handling**: Automatic error handling middleware could be added.
|
|
97
|
-
- **File Upload**: Arkos will configure necessary middleware to handle file uploads, image upload optimization, and route generation.
|
|
98
|
-
- **Prisma Integration**: The prisma instance must be export as default or as prisma under scr/utils/prisma.ts.
|
|
99
|
-
|
|
100
|
-
### 5. **Additional Configuration (Optional)**
|
|
101
|
-
|
|
102
|
-
You can customize additional settings such as routes for file uploads, email handling, and more, based on what your `arkos` package offers. The `arkos.init()` function may have additional configuration options, depending on how flexible and customizable the package is.
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
### Example Directory Structure
|
|
107
|
-
|
|
108
|
-
Here is how the directory structure might look for this project:
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
project-root/
|
|
112
|
-
│
|
|
113
|
-
├── node_modules/
|
|
114
|
-
│
|
|
115
|
-
├── src/
|
|
116
|
-
│ ├── utils/
|
|
117
|
-
│ │ └── prisma.ts # Prisma client initialization
|
|
118
|
-
│ ├── app.ts # Express app setup with arkos.init()
|
|
119
|
-
│
|
|
120
|
-
├── package.json # Your project dependencies
|
|
121
|
-
└── prisma/
|
|
122
|
-
└── schema/
|
|
123
|
-
└── schema.prisma # Your Prisma schema file
|
|
124
|
-
└── post.prisma # Your Post model file
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
### Example of `prisma/schema.prisma`:
|
|
130
|
-
|
|
131
|
-
Ensure you have a basic Prisma schema like this:
|
|
132
|
-
|
|
133
|
-
```typescript
|
|
134
|
-
// prisma/schema.prisma
|
|
135
|
-
datasource db {
|
|
136
|
-
provider = "sqlite" // Replace with your database provider (e.g., 'mongodb', 'mysql', 'sqlite', 'postgresql')
|
|
137
|
-
url = env("DATABASE_URL")
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
generator client {
|
|
141
|
-
provider = "prisma-client-js"
|
|
142
|
-
previewFeatures = ["prismaSchemaFolder"]
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
model Post {
|
|
146
|
-
id Int @id @default(autoincrement())
|
|
147
|
-
title String @unique
|
|
148
|
-
content String
|
|
149
|
-
createdAt DateTime @default(now())
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
Run the following to generate the Prisma client:
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
npx prisma generate
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
After all there will be routes for
|
|
160
|
-
|
|
161
|
-
- Find many, GET: /api/posts
|
|
162
|
-
- Find one, GET: /api/posts/:id
|
|
163
|
-
- Create one POST: /api/posts
|
|
164
|
-
- Update one, PATCH: /api/posts/:id
|
|
165
|
-
- Delete one, DELETE: /api/posts/:id
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
### Recap
|
|
170
|
-
|
|
171
|
-
- You need `prisma` properly set up.
|
|
172
|
-
- Once `arkos.init()` is invoked with your `express` app the package will handle routing, authentication, file uploads, etc., automatically.
|
|
173
|
-
- Ensure you have all dependencies installed (`arkos`, `prisma`, `express`, etc.) before running the app.
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## 📝 License
|
|
27
|
+
## License
|
|
178
28
|
|
|
179
29
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
180
30
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
## 📫 Contact
|
|
184
|
-
|
|
185
|
-
For any issues or questions, please open an issue or contact [Uanela Como](mailto:uanelaluiswayne@gmail.com).
|
|
186
|
-
|
|
187
|
-
Feel free to reach out for questions, suggestions, or contributions ❤️.
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
### **Origin of the Name "Arkos"**
|
|
192
|
-
|
|
193
|
-
The name **"Arkos"** is derived from the Greek word **ἀρχή (Arkhē)**, which means **"beginning"** or **"foundation"**. This interpretation perfectly aligns with the core purpose of the package — to serve as a **foundational layer** for quickly setting up backend systems. Just as **ἀρχή** represents the starting point or origin, Arkos is designed to **initiate** and **structure** backend projects, providing developers with a robust base to build upon.
|
|
31
|
+
## Contact
|
|
194
32
|
|
|
195
|
-
|
|
33
|
+
For questions or issues, please open a GitHub issue or contact [Uanela Como](mailto:uanelaluiswayne@gmail.com).
|
|
196
34
|
|
|
197
35
|
---
|
|
198
36
|
|
|
199
|
-
|
|
37
|
+
_The name "Arkos" comes from the Greek word "ἀρχή" (Arkhē), meaning "beginning" or "foundation", reflecting our goal of providing a solid foundation for backend development._
|
package/dist/cjs/app.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,r){r===void 0&&(r=i);var l=Object.getOwnPropertyDescriptor(t,i);(!l||("get"in l?!t.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,l)}:function(e,t,i,r){r===void 0&&(r=i),e[r]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(i){var r=[];for(var l in i)Object.prototype.hasOwnProperty.call(i,l)&&(r[r.length]=l);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var i={};if(t!=null)for(var r=e(t),l=0;l<r.length;l++)r[l]!=="default"&&__createBinding(i,t,r[l]);return __setModuleDefault(i,t),i}}(),__awaiter=this&&this.__awaiter||function(e,t,i,r){function l(u){return u instanceof i?u:new i(function(d){d(u)})}return new(i||(i=Promise))(function(u,d){function o(s){try{n(r.next(s))}catch(a){d(a)}}function c(s){try{n(r.throw(s))}catch(a){d(a)}}function n(s){s.done?u(s.value):l(s.value).then(o,c)}n((r=r.apply(e,t||[])).next())})},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.bootstrap=bootstrap;const express_1=__importDefault(require("express")),cors_1=__importDefault(require("cors")),cookie_parser_1=__importDefault(require("cookie-parser")),auth_router_1=require("./modules/auth/auth.router"),base_router_1=require("./modules/base/base.router"),error_handler_controller_1=__importDefault(require("./modules/error-handler/error-handler.controller")),express_rate_limit_1=require("express-rate-limit"),path_1=__importDefault(require("path")),dotenv=__importStar(require("dotenv")),compression_1=__importDefault(require("compression")),base_middlewares_1=require("./modules/base/base.middlewares"),prisma_helpers_1=require("./utils/helpers/prisma.helpers"),file_uploader_router_1=require("./modules/file-uploader/file-uploader.router"),query_parser_helpers_1=require("./utils/helpers/query-parser.helpers"),deepmerge_helper_1=__importDefault(require("./utils/helpers/deepmerge.helper")),ENV=process.env.NODE_ENV;let envPath=".env";ENV==="production"?envPath=path_1.default.resolve(process.cwd(),".env.production"):ENV==="staging"?envPath=path_1.default.resolve(process.cwd(),".env.staging"):ENV==="development"?envPath=path_1.default.resolve(process.cwd(),".env.development"):ENV==="local"?envPath=path_1.default.resolve(process.cwd(),".env.local"):ENV==="test"?envPath=path_1.default.resolve(process.cwd(),".env.test"):ENV==="qa"&&(envPath=path_1.default.resolve(process.cwd(),".env.qa")),dotenv.config({path:envPath});const app=(0,express_1.default)();function bootstrap(e){return __awaiter(this,void 0,void 0,function*(){var t,i,r;yield(0,prisma_helpers_1.loadPrismaModule)(),e.configureApp&&(yield e.configureApp(app));const l=e?.middlewares,u=l?.disable||[],d=l?.replace||{};u.includes("compression")||app.use(d.compression||(0,compression_1.default)(e?.compressionOptions)),u.includes("global-rate-limit")||app.use(d.globalRateLimit||(0,express_rate_limit_1.rateLimit)((0,deepmerge_helper_1.default)({windowMs:60*1e3,limit:1e3,standardHeaders:"draft-7",legacyHeaders:!1},e?.globalRequestRateLimitOptions||{}))),u.includes("cors")||app.use(d.cors||(0,cors_1.default)(!((t=e?.cors)===null||t===void 0)&&t.customHandler?e.cors.customHandler:(0,deepmerge_helper_1.default)({origin:(s,a)=>{var v;const p=(v=e?.cors)===null||v===void 0?void 0:v.allowedOrigins;p==="*"?a(null,!0):Array.isArray(p)?a(null,!s||p.includes(s)):typeof p=="string"?a(null,!s||p===s):a(null,!1)},methods:["GET","POST","PUT","DELETE","PATCH","OPTIONS"],allowedHeaders:["Content-Type","Authorization","Connection"],credentials:!0},((i=e?.cors)===null||i===void 0?void 0:i.options)||{}))),u.includes("express-json")||app.use(d.expressJson||express_1.default.json(e?.jsonBodyParserOptions)),u.includes("cookie-parser")||app.use(d.cookieParser||(0,cookie_parser_1.default)(...e?.cookieParserParameters||[])),u.includes("query-parser")||app.use(d.queryParser||(0,query_parser_helpers_1.queryParser)((0,deepmerge_helper_1.default)({parseNull:!0,parseUndefined:!0,parseBoolean:!0},e?.queryParserOptions||{}))),u.includes("database-connection")||app.use(d.databaseConnection||prisma_helpers_1.checkDatabaseConnection),u.includes("request-logger")||app.use(d.requestLogger||base_middlewares_1.handleRequestLogs),!((r=e?.middlewares)===null||r===void 0)&&r.additionals&&e.middlewares.additionals.forEach(s=>{app.use(s)});const o=e?.routers,c=o?.disable||[],n=o?.replace||{};if(c.includes("welcome-endpoint")||app.get("/api",n.welcomeEndpoint||((s,a)=>{a.status(200).json({message:e.welcomeMessage})})),!c.includes("file-uploader")){const s=n.fileUploader?yield n.fileUploader(e):yield(0,file_uploader_router_1.getFileUploaderRouter)(e);app.use(s)}if(!c.includes("auth-router")&&e.authentication){const s=n.authRouter?yield n.authRouter(e):yield(0,auth_router_1.getAuthRouter)(e);app.use("/api",s)}if(!c.includes("prisma-models-router")){const s=n.prismaModelsRouter?yield n.prismaModelsRouter(e):yield(0,base_router_1.getPrismaModelsRouter)();app.use("/api",s)}return app.use("/api",(0,base_router_1.getAvailableResourcesAndRoutesRouter)()),o?.additionals&&o.additionals.forEach(s=>{app.use(s)}),u.includes("global-error-handler")||app.use(d.globalErrorHandler||error_handler_controller_1.default),app})}
|
package/dist/cjs/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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","sourcesContent":["import express from \"express\";\nimport bodyParser from \"body-parser\";\nimport cors from \"cors\";\nimport cookieParser from \"cookie-parser\";\nimport { queryParser } from \"express-query-parser\";\nimport authRouter from \"./modules/auth/auth.router\";\nimport baseRouter from \"./modules/base/base.router\";\nimport errorHandler from \"./modules/error-handler/error-handler.controller\";\nimport { rateLimit } from \"express-rate-limit\";\nimport path from \"path\";\nimport * as dotenv from \"dotenv\";\nimport compression from \"compression\";\nimport { handleRequestLogs } from \"./modules/base/base.middlewares\";\nimport {\n checkDatabaseConnection,\n loadPrismaModule,\n} from \"./utils/helpers/prisma.helpers\";\nimport { ClassValidatorInitConfigsOptions } from \"./utils/validate-dto\";\nimport { fileUploaderRouter } from \"./modules/file-uploader/file-uploader.router\";\n\nconst ENV = process.env.NODE_ENV;\nlet envPath = \".env\";\n\n// Default to `.env.local` if available in any environment\nif (ENV === \"production\") {\n envPath = path.resolve(process.cwd(), \".env.production\");\n} else if (ENV === \"staging\") {\n envPath = path.resolve(process.cwd(), \".env.staging\");\n} else if (ENV === \"development\") {\n envPath = path.resolve(process.cwd(), \".env.development\");\n} else if (ENV === \"local\") {\n // For local development, .env.local can be used\n envPath = path.resolve(process.cwd(), \".env.local\");\n}\n\n// Optionally, add support for `.env.test`, `.env.qa`, or other environments if required\nelse if (ENV === \"test\") {\n envPath = path.resolve(process.cwd(), \".env.test\");\n} else if (ENV === \"qa\") {\n envPath = path.resolve(process.cwd(), \".env.qa\");\n}\n\ndotenv.config({ path: envPath });\n\nexport type InitConfigsAuthenticationOptions = {\n signup?: {\n /** Defines wether the api will look for isVerified = true in order to login or make an operation that authentication is required. */\n requireEmailVerification?: boolean;\n };\n login?: {\n /** Defines wether to send the access token in response after login or only send as cookie, defeault is both.*/\n sendAccessTokenThrough?: \"cookie-only\" | \"response-only\" | \"both\";\n };\n};\n\nexport type InitConfigs = {\n port?: number;\n authentication?: InitConfigsAuthenticationOptions | boolean;\n validation?:\n | ClassValidatorInitConfigsOptions\n | {\n resolver?: \"zod\";\n validationOptions?: Record<string, any>;\n }\n | boolean;\n};\n\nlet initConfigs: InitConfigs;\nlet prisma: any;\n\n(async () => {\n prisma = await loadPrismaModule();\n})();\n\nexport async function bootstrap(app: express.Express, configs: InitConfigs) {\n prisma = await loadPrismaModule();\n\n initConfigs = configs;\n\n app.use(compression());\n\n const limiter = rateLimit({\n windowMs: 60 * 1000,\n limit: 1000,\n standardHeaders: \"draft-7\",\n legacyHeaders: false,\n });\n\n app.use(limiter);\n\n app.set(\"trust proxy\", 1);\n\n app.use(\n \"/api/uploads\",\n express.static(path.join(\"uploads\"), {\n maxAge: \"1y\",\n etag: true,\n lastModified: true,\n dotfiles: \"ignore\",\n fallthrough: true,\n index: false,\n cacheControl: true,\n })\n );\n\n app.use(\n cors({\n origin: (origin, callback) => {\n callback(null, true);\n },\n methods: [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"OPTION\"],\n allowedHeaders: [\"Content-Type\", \"Authorization\", \"Connection\"],\n credentials: true,\n })\n );\n\n app.use(express.json());\n app.use(bodyParser.json());\n app.use(cookieParser());\n app.use(\n queryParser({\n parseNull: true,\n parseUndefined: true,\n parseBoolean: true,\n parseNumber: true,\n })\n );\n\n app.use(checkDatabaseConnection);\n\n app.use(handleRequestLogs);\n\n if (configs.authentication) app.use(\"/api\", authRouter);\n app.use(\"/api\", baseRouter);\n app.use(\"/api\", fileUploaderRouter);\n app.use(errorHandler);\n\n return app;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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","sourcesContent":["import express from \"express\";\nimport cors from \"cors\";\nimport cookieParser from \"cookie-parser\";\nimport { getAuthRouter } from \"./modules/auth/auth.router\";\nimport {\n getPrismaModelsRouter,\n getAvailableResourcesAndRoutesRouter,\n} from \"./modules/base/base.router\";\nimport errorHandler from \"./modules/error-handler/error-handler.controller\";\nimport { rateLimit } from \"express-rate-limit\";\nimport path from \"path\";\nimport * as dotenv from \"dotenv\";\nimport compression from \"compression\";\nimport { handleRequestLogs } from \"./modules/base/base.middlewares\";\nimport {\n checkDatabaseConnection,\n loadPrismaModule,\n} from \"./utils/helpers/prisma.helpers\";\nimport { getFileUploaderRouter } from \"./modules/file-uploader/file-uploader.router\";\nimport { ArkosConfig } from \"./types/arkos-config\";\nimport { queryParser } from \"./utils/helpers/query-parser.helpers\";\nimport deepmerge from \"./utils/helpers/deepmerge.helper\";\n\nconst ENV = process.env.NODE_ENV;\nlet envPath = \".env\";\n\n// Default to `.env.local` if available in any environment\nif (ENV === \"production\") {\n envPath = path.resolve(process.cwd(), \".env.production\");\n} else if (ENV === \"staging\") {\n envPath = path.resolve(process.cwd(), \".env.staging\");\n} else if (ENV === \"development\") {\n envPath = path.resolve(process.cwd(), \".env.development\");\n} else if (ENV === \"local\") {\n // For local development, .env.local can be used\n envPath = path.resolve(process.cwd(), \".env.local\");\n}\n\n// Optionally, add support for `.env.test`, `.env.qa`, or other environments if required\nelse if (ENV === \"test\") {\n envPath = path.resolve(process.cwd(), \".env.test\");\n} else if (ENV === \"qa\") {\n envPath = path.resolve(process.cwd(), \".env.qa\");\n}\n\ndotenv.config({ path: envPath });\n\nconst app = express();\n\nexport async function bootstrap(\n arkosConfig: ArkosConfig\n): Promise<express.Express> {\n await loadPrismaModule();\n\n if (arkosConfig.configureApp) await arkosConfig.configureApp(app);\n\n const middlewaresConfig = arkosConfig?.middlewares;\n const disabledMiddlewares = middlewaresConfig?.disable || [];\n const replacedMiddlewares = middlewaresConfig?.replace || {};\n\n // Compression middleware\n if (!disabledMiddlewares.includes(\"compression\"))\n app.use(\n replacedMiddlewares.compression ||\n compression(arkosConfig?.compressionOptions)\n );\n\n // Global rate limit middleware\n if (!disabledMiddlewares.includes(\"global-rate-limit\"))\n app.use(\n replacedMiddlewares.globalRateLimit ||\n rateLimit(\n deepmerge(\n {\n windowMs: 60 * 1000,\n limit: 1000,\n standardHeaders: \"draft-7\",\n legacyHeaders: false,\n },\n arkosConfig?.globalRequestRateLimitOptions || {}\n )\n )\n );\n\n // CORS middleware\n if (!disabledMiddlewares.includes(\"cors\"))\n app.use(\n replacedMiddlewares.cors ||\n cors(\n arkosConfig?.cors?.customHandler\n ? arkosConfig.cors.customHandler\n : deepmerge(\n {\n origin: (\n origin: string,\n cb: (err: Error | null, allow?: boolean) => void\n ) => {\n const allowed = arkosConfig?.cors?.allowedOrigins;\n\n if (allowed === \"*\") {\n cb(null, true);\n } else if (Array.isArray(allowed)) {\n cb(null, !origin || allowed.includes(origin));\n } else if (typeof allowed === \"string\") {\n cb(null, !origin || allowed === origin);\n } else {\n cb(null, false);\n }\n },\n methods: [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"OPTIONS\"],\n allowedHeaders: [\n \"Content-Type\",\n \"Authorization\",\n \"Connection\",\n ],\n credentials: true,\n },\n arkosConfig?.cors?.options || {}\n )\n )\n );\n\n // JSON body parser middleware\n if (!disabledMiddlewares.includes(\"express-json\"))\n app.use(\n replacedMiddlewares.expressJson ||\n express.json(arkosConfig?.jsonBodyParserOptions)\n );\n\n // Cookie parser middleware\n if (!disabledMiddlewares.includes(\"cookie-parser\"))\n app.use(\n replacedMiddlewares.cookieParser ||\n cookieParser(...[...(arkosConfig?.cookieParserParameters || [])])\n );\n\n // Query parser middleware\n if (!disabledMiddlewares.includes(\"query-parser\"))\n app.use(\n replacedMiddlewares.queryParser ||\n queryParser(\n deepmerge(\n {\n parseNull: true,\n parseUndefined: true,\n parseBoolean: true,\n },\n arkosConfig?.queryParserOptions || {}\n )\n )\n );\n\n // Database connection check middleware\n if (!disabledMiddlewares.includes(\"database-connection\"))\n app.use(replacedMiddlewares.databaseConnection || checkDatabaseConnection);\n\n // Request logger middleware\n if (!disabledMiddlewares.includes(\"request-logger\"))\n app.use(replacedMiddlewares.requestLogger || handleRequestLogs);\n\n // Additional custom middlewares\n if (arkosConfig?.middlewares?.additionals)\n arkosConfig.middlewares.additionals.forEach((middleware) => {\n app.use(middleware);\n });\n\n // Configure routers\n const routersConfig = arkosConfig?.routers;\n const disabledRouters = routersConfig?.disable || [];\n const replacedRouters = routersConfig?.replace || {};\n\n // Welcome endpoint\n if (!disabledRouters.includes(\"welcome-endpoint\"))\n app.get(\n \"/api\",\n replacedRouters.welcomeEndpoint ||\n ((req, res) => {\n res.status(200).json({ message: arkosConfig.welcomeMessage });\n })\n );\n\n // File uploader router\n if (!disabledRouters.includes(\"file-uploader\")) {\n const fileUploaderRouter = replacedRouters.fileUploader\n ? await replacedRouters.fileUploader(arkosConfig)\n : await getFileUploaderRouter(arkosConfig);\n app.use(fileUploaderRouter);\n }\n\n // Auth router\n if (!disabledRouters.includes(\"auth-router\") && arkosConfig.authentication) {\n const authRouter = replacedRouters.authRouter\n ? await replacedRouters.authRouter(arkosConfig)\n : await getAuthRouter(arkosConfig);\n app.use(\"/api\", authRouter);\n }\n\n // Prisma models router\n if (!disabledRouters.includes(\"prisma-models-router\")) {\n const modelsRouter = replacedRouters.prismaModelsRouter\n ? await replacedRouters.prismaModelsRouter(arkosConfig)\n : await getPrismaModelsRouter();\n app.use(\"/api\", modelsRouter);\n }\n\n app.use(\"/api\", getAvailableResourcesAndRoutesRouter());\n\n // Additional custom routers\n if (routersConfig?.additionals) {\n routersConfig.additionals.forEach((router) => {\n app.use(router);\n });\n }\n\n // Global error handler middleware (must be last)\n if (!disabledMiddlewares.includes(\"global-error-handler\"))\n app.use(replacedMiddlewares.globalErrorHandler || errorHandler);\n\n return app;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/auth/index.ts"],"names":[],"mappings":";;;AAAA,0EAAiF;AAGxE,0GAHA,2CAAyB,OAGA","sourcesContent":["import { defaultExcludedUserFields } from \"./../../modules/auth/auth.controller\";\nimport { AuthConfigs, AuthJwtPayload } from \"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/auth/index.ts"],"names":[],"mappings":";;;AAAA,0EAAiF;AAGxE,0GAHA,2CAAyB,OAGA","sourcesContent":["import { defaultExcludedUserFields } from \"./../../modules/auth/auth.controller\";\nimport { AuthConfigs, AuthJwtPayload } from \"../../types/auth\";\n\nexport { defaultExcludedUserFields, AuthConfigs, AuthJwtPayload };\n"]}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseController = void 0;
|
|
4
|
+
const base_controller_1 = require("./../modules/base/base.controller");
|
|
5
|
+
Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return base_controller_1.BaseController; } });
|
|
3
6
|
const server_1 = require("../server");
|
|
4
7
|
const arkos = {
|
|
5
8
|
init: server_1.initApp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":";;;AACA,uEAAmE;AAyBjE,+FAzBO,gCAAc,OAyBP;AAxBhB,sCAAoC;AAepC,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,gBAAO;CACd,CAAC;AAiBF,kBAAe,KAAK,CAAC","sourcesContent":["import { PrismaModelRouterConfig } from \"../types/prisma-model-router-config\";\nimport { BaseController } from \"./../modules/base/base.controller\";\nimport { initApp } from \"../server\";\nimport {\n ArkosRequest,\n ArkosResponse,\n ArkosNextFunction,\n ArkosRequestHandler,\n} from \"../types\";\nimport { ArkosConfig } from \"../types/arkos-config\";\n\n/**\n * Initializes the Arkos application.\n *\n * @module arkos\n * @property {Function} init - Function to initialize the app.\n */\nconst arkos = {\n init: initApp,\n};\n\nexport {\n ArkosRequest,\n ArkosResponse,\n ArkosNextFunction,\n ArkosRequestHandler,\n BaseController,\n ArkosConfig,\n PrismaModelRouterConfig,\n};\n\n/**\n * Main entry point for the Arkos module.\n *\n * @module arkos\n */\nexport default arkos;\n"]}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPrismaModels = void 0;
|
|
4
|
+
const models_helpers_1 = require("../../utils/helpers/models.helpers");
|
|
5
|
+
Object.defineProperty(exports, "getPrismaModels", { enumerable: true, get: function () { return models_helpers_1.getModels; } });
|
|
3
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/prisma/index.ts"],"names":[],"mappings":"","sourcesContent":["import { PrismaQueryOptions } from \"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/prisma/index.ts"],"names":[],"mappings":";;;AACA,uEAA+D;AAErB,gGAFjC,0BAAS,OAEuC","sourcesContent":["import { PrismaQueryOptions } from \"../../types\";\nimport { getModels } from \"../../utils/helpers/models.helpers\";\n\nexport { PrismaQueryOptions, getModels as getPrismaModels };\n"]}
|
|
@@ -36,17 +36,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
39
|
+
exports.FileUploaderService = exports.getFileUploaderServices = exports.EmailService = exports.emailService = exports.getBaseServices = exports.BaseService = exports.authService = void 0;
|
|
40
|
+
const file_uploader_service_1 = require("../../modules/file-uploader/file-uploader.service");
|
|
41
|
+
Object.defineProperty(exports, "getFileUploaderServices", { enumerable: true, get: function () { return file_uploader_service_1.getFileUploaderServices; } });
|
|
42
|
+
Object.defineProperty(exports, "FileUploaderService", { enumerable: true, get: function () { return file_uploader_service_1.FileUploaderService; } });
|
|
40
43
|
const auth_service_1 = __importDefault(require("../../modules/auth/auth.service"));
|
|
41
44
|
exports.authService = auth_service_1.default;
|
|
42
45
|
const email_service_1 = __importStar(require("../../modules/email/email.service"));
|
|
43
46
|
exports.emailService = email_service_1.default;
|
|
44
47
|
Object.defineProperty(exports, "EmailService", { enumerable: true, get: function () { return email_service_1.EmailService; } });
|
|
45
|
-
const file_uploader_service_1 = require("../../modules/file-uploader/file-uploader.service");
|
|
46
|
-
Object.defineProperty(exports, "imageUploaderService", { enumerable: true, get: function () { return file_uploader_service_1.imageUploaderService; } });
|
|
47
|
-
Object.defineProperty(exports, "documentUploaderService", { enumerable: true, get: function () { return file_uploader_service_1.documentUploaderService; } });
|
|
48
|
-
Object.defineProperty(exports, "videoUploaderService", { enumerable: true, get: function () { return file_uploader_service_1.videoUploaderService; } });
|
|
49
|
-
Object.defineProperty(exports, "fileUploaderService", { enumerable: true, get: function () { return file_uploader_service_1.fileUploaderService; } });
|
|
50
48
|
const base_service_1 = require("../../modules/base/base.service");
|
|
51
49
|
Object.defineProperty(exports, "BaseService", { enumerable: true, get: function () { return base_service_1.BaseService; } });
|
|
52
50
|
Object.defineProperty(exports, "getBaseServices", { enumerable: true, get: function () { return base_service_1.getBaseServices; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6FAG2D;AAwBlD,wGA1BP,+CAAuB,OA0BO;AAAE,oGAzBhC,2CAAmB,OAyBgC;AAtBrD,mFAA0D;AAOjD,sBAPF,sBAAW,CAOE;AANpB,mFAA+E;AAgBtE,uBAhBF,uBAAY,CAgBE;AAAE,6FAhBA,4BAAY,OAgBA;AAfnC,kEAA+E;AAUtE,4FAVA,0BAAW,OAUA;AAAE,gGAVA,8BAAe,OAUA","sourcesContent":["import {\n getFileUploaderServices,\n FileUploaderService,\n} from \"../../modules/file-uploader/file-uploader.service\";\nimport { EmailOptions } from \"../../modules/email/email.service\";\nimport authService from \"../../modules/auth/auth.service\";\nimport emailService, { EmailService } from \"../../modules/email/email.service\";\nimport { BaseService, getBaseServices } from \"../../modules/base/base.service\";\n\n/**\n * Authentication service.\n */\nexport { authService };\n\n/**\n * Base service.\n */\nexport { BaseService, getBaseServices };\n\n/**\n * Email service.\n */\nexport { emailService, EmailService, EmailOptions };\n\n/**\n * File upload services.\n */\nexport { getFileUploaderServices, FileUploaderService };\n"]}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
const models_helpers_1 = require("../../utils/helpers/models.helpers");
|
|
5
|
-
Object.defineProperty(exports, "getPrismaModels", { enumerable: true, get: function () { return models_helpers_1.getModels; } });
|
|
17
|
+
__exportStar(require("../../utils/features/change-case.features"), exports);
|
|
6
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4EAA0D","sourcesContent":["export * from \"../../utils/features/change-case.features\";\n"]}
|
|
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validateDto = void 0;
|
|
6
|
+
exports.validateSchema = exports.validateDto = void 0;
|
|
7
7
|
const validate_dto_1 = __importDefault(require("../../utils/validate-dto"));
|
|
8
8
|
exports.validateDto = validate_dto_1.default;
|
|
9
|
+
const validate_schema_1 = __importDefault(require("../../utils/validate-schema"));
|
|
10
|
+
exports.validateSchema = validate_schema_1.default;
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/validation/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAmD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/validation/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAmD;AAG1C,sBAHF,sBAAW,CAGE;AAFpB,kFAAyD;AAEnC,yBAFf,yBAAc,CAEe","sourcesContent":["import validateDto from \"../../utils/validate-dto\";\nimport validateSchema from \"../../utils/validate-schema\";\n\nexport { validateDto, validateSchema };\n"]}
|