zeti-framework 0.1.1 → 0.1.4
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 +244 -244
- package/dist/core/framework.d.ts +12 -3
- package/dist/core/framework.d.ts.map +1 -1
- package/dist/core/framework.js +75 -21
- package/dist/core/framework.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/types/config.d.ts +10 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/framework.d.ts +6 -5
- package/dist/types/framework.d.ts.map +1 -1
- package/dist/types/prisma.d.ts +2 -2
- package/dist/types/prisma.d.ts.map +1 -1
- package/dist/utils/http-exceptions.d.ts +9 -0
- package/dist/utils/http-exceptions.d.ts.map +1 -0
- package/dist/utils/http-exceptions.js +26 -0
- package/dist/utils/http-exceptions.js.map +1 -0
- package/dist/utils/jwt.d.ts +15 -0
- package/dist/utils/jwt.d.ts.map +1 -0
- package/dist/utils/jwt.js +33 -0
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/password.d.ts +6 -0
- package/dist/utils/password.d.ts.map +1 -0
- package/dist/utils/password.js +11 -0
- package/dist/utils/password.js.map +1 -0
- package/package.json +71 -71
package/README.md
CHANGED
|
@@ -1,244 +1,244 @@
|
|
|
1
|
-
# zeti-framework
|
|
2
|
-
|
|
3
|
-
Framework Hono com suporte a multi-tenancy, Prisma e Swagger automático.
|
|
4
|
-
|
|
5
|
-
## 🚀 Instalação
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install zeti-framework @prisma/client
|
|
9
|
-
# ou
|
|
10
|
-
pnpm add zeti-framework @prisma/client
|
|
11
|
-
# ou
|
|
12
|
-
yarn add zeti-framework @prisma/client
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## 🔨 Build
|
|
16
|
-
|
|
17
|
-
A biblioteca usa TypeScript compiler padrão, funciona com qualquer gerenciador de pacotes:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
# Build
|
|
21
|
-
npm run build
|
|
22
|
-
|
|
23
|
-
# Desenvolvimento (watch mode)
|
|
24
|
-
npm run dev
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
> **Nota sobre Performance:** O uso de `tsc` ao invés de Bun não afeta a performance da biblioteca em runtime. O código JavaScript compilado é idêntico e roda com a mesma velocidade. A única diferença é no tempo de build durante desenvolvimento. Veja `PERFORMANCE.md` para mais detalhes.
|
|
28
|
-
|
|
29
|
-
## 📖 Uso Básico
|
|
30
|
-
|
|
31
|
-
### 1. Configuração
|
|
32
|
-
|
|
33
|
-
```typescript
|
|
34
|
-
// zeti.config.ts
|
|
35
|
-
import { defineZetiConfig } from 'zeti-framework';
|
|
36
|
-
import { PrismaClient } from '@prisma/client';
|
|
37
|
-
|
|
38
|
-
export default defineZetiConfig({
|
|
39
|
-
databases: {
|
|
40
|
-
connections: {
|
|
41
|
-
main: process.env.DATABASE_URL!,
|
|
42
|
-
mongo: process.env.MONGO_URL!,
|
|
43
|
-
},
|
|
44
|
-
cache: {
|
|
45
|
-
maxClients: 50,
|
|
46
|
-
ttl: 300000,
|
|
47
|
-
cleanupInterval: 60000,
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
specialDatabases: {
|
|
51
|
-
analytics: process.env.ANALYTICS_DB_URL!,
|
|
52
|
-
},
|
|
53
|
-
prisma: {
|
|
54
|
-
adapter: 'pg',
|
|
55
|
-
logLevel: ['error'],
|
|
56
|
-
},
|
|
57
|
-
swagger: {
|
|
58
|
-
enabled: true,
|
|
59
|
-
title: 'My API',
|
|
60
|
-
version: '1.0.0',
|
|
61
|
-
servers: [{ url: 'http://localhost:3334' }],
|
|
62
|
-
},
|
|
63
|
-
errorHandler: {
|
|
64
|
-
// Opcional: customizar formatação de erros
|
|
65
|
-
formatError: (error, context) => {
|
|
66
|
-
// Sua lógica customizada
|
|
67
|
-
return { data: null, status: 500, message: 'Error' };
|
|
68
|
-
},
|
|
69
|
-
// Opcional: customizar logging
|
|
70
|
-
logError: (error, context) => {
|
|
71
|
-
console.error('Error:', error);
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
middlewares: {
|
|
75
|
-
global: [
|
|
76
|
-
// Middlewares globais
|
|
77
|
-
],
|
|
78
|
-
named: {
|
|
79
|
-
// Middlewares nomeados
|
|
80
|
-
auth: createAuthMiddleware({ jwtSecret: '...' }),
|
|
81
|
-
requireRole: (roles: string[]) => createRoleMiddleware(roles),
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
});
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### 2. Inicialização
|
|
88
|
-
|
|
89
|
-
```typescript
|
|
90
|
-
// src/zeti/index.ts
|
|
91
|
-
import { createZetiApp } from 'zeti-framework';
|
|
92
|
-
import { PrismaClient } from '@prisma/client';
|
|
93
|
-
import config from '../../zeti.config';
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* IMPORTANTE: Passe o PrismaClient como generic para inferência de tipos
|
|
97
|
-
*
|
|
98
|
-
* Isso permite que TypeScript saiba todos os modelos do seu schema.prisma
|
|
99
|
-
* e forneça autocomplete completo em todas as rotas!
|
|
100
|
-
*/
|
|
101
|
-
const app = createZetiApp<PrismaClient>({
|
|
102
|
-
config,
|
|
103
|
-
prismaClient: PrismaClient,
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
export const { get, post, put, del, patch } = app;
|
|
107
|
-
export const { honoApp } = app;
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### 3. Criar Rotas
|
|
111
|
-
|
|
112
|
-
```typescript
|
|
113
|
-
// src/controllers/users/get.ts
|
|
114
|
-
import { get } from '../../zeti';
|
|
115
|
-
|
|
116
|
-
get('/users', {
|
|
117
|
-
middleware: {
|
|
118
|
-
use: ['auth'],
|
|
119
|
-
schema: (z) => ({
|
|
120
|
-
query: {
|
|
121
|
-
page: z.number().optional(),
|
|
122
|
-
},
|
|
123
|
-
}),
|
|
124
|
-
},
|
|
125
|
-
route: async ({ db, query, user }) => {
|
|
126
|
-
/**
|
|
127
|
-
* db é automaticamente tipado como PrismaClient do seu projeto!
|
|
128
|
-
*
|
|
129
|
-
* TypeScript sabe todos os modelos do seu schema.prisma:
|
|
130
|
-
* - db.user ✅
|
|
131
|
-
* - db.post ✅
|
|
132
|
-
* - etc...
|
|
133
|
-
*
|
|
134
|
-
* Autocomplete funciona perfeitamente!
|
|
135
|
-
*/
|
|
136
|
-
const users = await db.user.findMany({
|
|
137
|
-
skip: query.page ? (query.page - 1) * 10 : 0,
|
|
138
|
-
take: 10,
|
|
139
|
-
});
|
|
140
|
-
return { data: users };
|
|
141
|
-
},
|
|
142
|
-
});
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## 🔍 Como Funciona a Inferência de Tipos?
|
|
146
|
-
|
|
147
|
-
A biblioteca usa **TypeScript Generics** para propagar o tipo do `PrismaClient` do seu projeto para todas as rotas.
|
|
148
|
-
|
|
149
|
-
### Fluxo de Inferência
|
|
150
|
-
|
|
151
|
-
1. **Você passa o tipo:**
|
|
152
|
-
```typescript
|
|
153
|
-
const app = createZetiApp<PrismaClient>({ ... });
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
2. **Biblioteca propaga o tipo:**
|
|
157
|
-
```typescript
|
|
158
|
-
// Internamente
|
|
159
|
-
ZetiApp<TPrisma> → ZetiMethodOptions<..., TPrisma> → ZetiRouteProps<..., TPrisma>
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
3. **Nas rotas, `db` é tipado automaticamente:**
|
|
163
|
-
```typescript
|
|
164
|
-
route: async ({ db }) => {
|
|
165
|
-
// db é PrismaClient do seu projeto!
|
|
166
|
-
await db.user.findMany(); // ✅ Autocomplete funciona!
|
|
167
|
-
}
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
Veja `examples/type-inference-explained.md` para explicação detalhada.
|
|
171
|
-
|
|
172
|
-
## 🔧 Middlewares Customizados
|
|
173
|
-
|
|
174
|
-
A biblioteca não implementa lógica de negócio. Você define seus próprios middlewares:
|
|
175
|
-
|
|
176
|
-
```typescript
|
|
177
|
-
// src/middleware/auth.ts
|
|
178
|
-
import { Middleware } from 'hono';
|
|
179
|
-
|
|
180
|
-
export function createAuthMiddleware(config: {
|
|
181
|
-
jwtSecret: string;
|
|
182
|
-
}): Middleware {
|
|
183
|
-
return async (c, next) => {
|
|
184
|
-
// Sua lógica de autenticação
|
|
185
|
-
const user = await verifyToken(c.req.header('authorization'));
|
|
186
|
-
c.set('user', user);
|
|
187
|
-
await next();
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
## 🔧 Scripts de Geração
|
|
193
|
-
|
|
194
|
-
A biblioteca inclui scripts para gerar automaticamente:
|
|
195
|
-
|
|
196
|
-
### 1. Registry de Controllers
|
|
197
|
-
|
|
198
|
-
Gera imports automáticos dos controllers:
|
|
199
|
-
|
|
200
|
-
```typescript
|
|
201
|
-
import { generateRegistry } from 'zeti-framework';
|
|
202
|
-
|
|
203
|
-
await generateRegistry({
|
|
204
|
-
controllersPath: './src/controllers',
|
|
205
|
-
indexPath: './src/zeti/index.ts',
|
|
206
|
-
});
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
### 2. Tipos do Swagger
|
|
210
|
-
|
|
211
|
-
Gera schemas Zod a partir dos tipos de retorno das rotas:
|
|
212
|
-
|
|
213
|
-
```typescript
|
|
214
|
-
import { generateSwaggerTypes } from '@zeti/framework';
|
|
215
|
-
|
|
216
|
-
await generateSwaggerTypes({
|
|
217
|
-
controllersPath: './src/controllers',
|
|
218
|
-
outputPath: './src/zeti/swagger-schemas.generated.ts',
|
|
219
|
-
});
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### Uso no package.json
|
|
223
|
-
|
|
224
|
-
```json
|
|
225
|
-
{
|
|
226
|
-
"scripts": {
|
|
227
|
-
"prebuild": "node --loader ts-node/esm scripts/generate-swagger.ts",
|
|
228
|
-
"build": "tsc"
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
Veja `examples/scripts-usage.ts` para mais detalhes.
|
|
234
|
-
|
|
235
|
-
## 📚 Documentação Completa
|
|
236
|
-
|
|
237
|
-
- `examples/scripts-usage.ts` - Uso dos scripts de geração
|
|
238
|
-
- `examples/graceful-shutdown.ts` - Graceful shutdown
|
|
239
|
-
- `examples/database-config-example.ts` - Configuração de databases
|
|
240
|
-
- `examples/metrics-usage.ts` - Uso de métricas
|
|
241
|
-
|
|
242
|
-
## 📝 Licença
|
|
243
|
-
|
|
244
|
-
MIT
|
|
1
|
+
# zeti-framework
|
|
2
|
+
|
|
3
|
+
Framework Hono com suporte a multi-tenancy, Prisma e Swagger automático.
|
|
4
|
+
|
|
5
|
+
## 🚀 Instalação
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install zeti-framework @prisma/client
|
|
9
|
+
# ou
|
|
10
|
+
pnpm add zeti-framework @prisma/client
|
|
11
|
+
# ou
|
|
12
|
+
yarn add zeti-framework @prisma/client
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 🔨 Build
|
|
16
|
+
|
|
17
|
+
A biblioteca usa TypeScript compiler padrão, funciona com qualquer gerenciador de pacotes:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Build
|
|
21
|
+
npm run build
|
|
22
|
+
|
|
23
|
+
# Desenvolvimento (watch mode)
|
|
24
|
+
npm run dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
> **Nota sobre Performance:** O uso de `tsc` ao invés de Bun não afeta a performance da biblioteca em runtime. O código JavaScript compilado é idêntico e roda com a mesma velocidade. A única diferença é no tempo de build durante desenvolvimento. Veja `PERFORMANCE.md` para mais detalhes.
|
|
28
|
+
|
|
29
|
+
## 📖 Uso Básico
|
|
30
|
+
|
|
31
|
+
### 1. Configuração
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
// zeti.config.ts
|
|
35
|
+
import { defineZetiConfig } from 'zeti-framework';
|
|
36
|
+
import { PrismaClient } from '@prisma/client';
|
|
37
|
+
|
|
38
|
+
export default defineZetiConfig({
|
|
39
|
+
databases: {
|
|
40
|
+
connections: {
|
|
41
|
+
main: process.env.DATABASE_URL!,
|
|
42
|
+
mongo: process.env.MONGO_URL!,
|
|
43
|
+
},
|
|
44
|
+
cache: {
|
|
45
|
+
maxClients: 50,
|
|
46
|
+
ttl: 300000,
|
|
47
|
+
cleanupInterval: 60000,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
specialDatabases: {
|
|
51
|
+
analytics: process.env.ANALYTICS_DB_URL!,
|
|
52
|
+
},
|
|
53
|
+
prisma: {
|
|
54
|
+
adapter: 'pg',
|
|
55
|
+
logLevel: ['error'],
|
|
56
|
+
},
|
|
57
|
+
swagger: {
|
|
58
|
+
enabled: true,
|
|
59
|
+
title: 'My API',
|
|
60
|
+
version: '1.0.0',
|
|
61
|
+
servers: [{ url: 'http://localhost:3334' }],
|
|
62
|
+
},
|
|
63
|
+
errorHandler: {
|
|
64
|
+
// Opcional: customizar formatação de erros
|
|
65
|
+
formatError: (error, context) => {
|
|
66
|
+
// Sua lógica customizada
|
|
67
|
+
return { data: null, status: 500, message: 'Error' };
|
|
68
|
+
},
|
|
69
|
+
// Opcional: customizar logging
|
|
70
|
+
logError: (error, context) => {
|
|
71
|
+
console.error('Error:', error);
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
middlewares: {
|
|
75
|
+
global: [
|
|
76
|
+
// Middlewares globais
|
|
77
|
+
],
|
|
78
|
+
named: {
|
|
79
|
+
// Middlewares nomeados
|
|
80
|
+
auth: createAuthMiddleware({ jwtSecret: '...' }),
|
|
81
|
+
requireRole: (roles: string[]) => createRoleMiddleware(roles),
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 2. Inicialização
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
// src/zeti/index.ts
|
|
91
|
+
import { createZetiApp } from 'zeti-framework';
|
|
92
|
+
import { PrismaClient } from '@prisma/client';
|
|
93
|
+
import config from '../../zeti.config';
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* IMPORTANTE: Passe o PrismaClient como generic para inferência de tipos
|
|
97
|
+
*
|
|
98
|
+
* Isso permite que TypeScript saiba todos os modelos do seu schema.prisma
|
|
99
|
+
* e forneça autocomplete completo em todas as rotas!
|
|
100
|
+
*/
|
|
101
|
+
const app = createZetiApp<PrismaClient>({
|
|
102
|
+
config,
|
|
103
|
+
prismaClient: PrismaClient,
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
export const { get, post, put, del, patch } = app;
|
|
107
|
+
export const { honoApp } = app;
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 3. Criar Rotas
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
// src/controllers/users/get.ts
|
|
114
|
+
import { get } from '../../zeti';
|
|
115
|
+
|
|
116
|
+
get('/users', {
|
|
117
|
+
middleware: {
|
|
118
|
+
use: ['auth'],
|
|
119
|
+
schema: (z) => ({
|
|
120
|
+
query: {
|
|
121
|
+
page: z.number().optional(),
|
|
122
|
+
},
|
|
123
|
+
}),
|
|
124
|
+
},
|
|
125
|
+
route: async ({ db, query, user }) => {
|
|
126
|
+
/**
|
|
127
|
+
* db é automaticamente tipado como PrismaClient do seu projeto!
|
|
128
|
+
*
|
|
129
|
+
* TypeScript sabe todos os modelos do seu schema.prisma:
|
|
130
|
+
* - db.user ✅
|
|
131
|
+
* - db.post ✅
|
|
132
|
+
* - etc...
|
|
133
|
+
*
|
|
134
|
+
* Autocomplete funciona perfeitamente!
|
|
135
|
+
*/
|
|
136
|
+
const users = await db.user.findMany({
|
|
137
|
+
skip: query.page ? (query.page - 1) * 10 : 0,
|
|
138
|
+
take: 10,
|
|
139
|
+
});
|
|
140
|
+
return { data: users };
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## 🔍 Como Funciona a Inferência de Tipos?
|
|
146
|
+
|
|
147
|
+
A biblioteca usa **TypeScript Generics** para propagar o tipo do `PrismaClient` do seu projeto para todas as rotas.
|
|
148
|
+
|
|
149
|
+
### Fluxo de Inferência
|
|
150
|
+
|
|
151
|
+
1. **Você passa o tipo:**
|
|
152
|
+
```typescript
|
|
153
|
+
const app = createZetiApp<PrismaClient>({ ... });
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
2. **Biblioteca propaga o tipo:**
|
|
157
|
+
```typescript
|
|
158
|
+
// Internamente
|
|
159
|
+
ZetiApp<TPrisma> → ZetiMethodOptions<..., TPrisma> → ZetiRouteProps<..., TPrisma>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
3. **Nas rotas, `db` é tipado automaticamente:**
|
|
163
|
+
```typescript
|
|
164
|
+
route: async ({ db }) => {
|
|
165
|
+
// db é PrismaClient do seu projeto!
|
|
166
|
+
await db.user.findMany(); // ✅ Autocomplete funciona!
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Veja `examples/type-inference-explained.md` para explicação detalhada.
|
|
171
|
+
|
|
172
|
+
## 🔧 Middlewares Customizados
|
|
173
|
+
|
|
174
|
+
A biblioteca não implementa lógica de negócio. Você define seus próprios middlewares:
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
// src/middleware/auth.ts
|
|
178
|
+
import { Middleware } from 'hono';
|
|
179
|
+
|
|
180
|
+
export function createAuthMiddleware(config: {
|
|
181
|
+
jwtSecret: string;
|
|
182
|
+
}): Middleware {
|
|
183
|
+
return async (c, next) => {
|
|
184
|
+
// Sua lógica de autenticação
|
|
185
|
+
const user = await verifyToken(c.req.header('authorization'));
|
|
186
|
+
c.set('user', user);
|
|
187
|
+
await next();
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## 🔧 Scripts de Geração
|
|
193
|
+
|
|
194
|
+
A biblioteca inclui scripts para gerar automaticamente:
|
|
195
|
+
|
|
196
|
+
### 1. Registry de Controllers
|
|
197
|
+
|
|
198
|
+
Gera imports automáticos dos controllers:
|
|
199
|
+
|
|
200
|
+
```typescript
|
|
201
|
+
import { generateRegistry } from 'zeti-framework';
|
|
202
|
+
|
|
203
|
+
await generateRegistry({
|
|
204
|
+
controllersPath: './src/controllers',
|
|
205
|
+
indexPath: './src/zeti/index.ts',
|
|
206
|
+
});
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 2. Tipos do Swagger
|
|
210
|
+
|
|
211
|
+
Gera schemas Zod a partir dos tipos de retorno das rotas:
|
|
212
|
+
|
|
213
|
+
```typescript
|
|
214
|
+
import { generateSwaggerTypes } from '@zeti/framework';
|
|
215
|
+
|
|
216
|
+
await generateSwaggerTypes({
|
|
217
|
+
controllersPath: './src/controllers',
|
|
218
|
+
outputPath: './src/zeti/swagger-schemas.generated.ts',
|
|
219
|
+
});
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Uso no package.json
|
|
223
|
+
|
|
224
|
+
```json
|
|
225
|
+
{
|
|
226
|
+
"scripts": {
|
|
227
|
+
"prebuild": "node --loader ts-node/esm scripts/generate-swagger.ts",
|
|
228
|
+
"build": "tsc"
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Veja `examples/scripts-usage.ts` para mais detalhes.
|
|
234
|
+
|
|
235
|
+
## 📚 Documentação Completa
|
|
236
|
+
|
|
237
|
+
- `examples/scripts-usage.ts` - Uso dos scripts de geração
|
|
238
|
+
- `examples/graceful-shutdown.ts` - Graceful shutdown
|
|
239
|
+
- `examples/database-config-example.ts` - Configuração de databases
|
|
240
|
+
- `examples/metrics-usage.ts` - Uso de métricas
|
|
241
|
+
|
|
242
|
+
## 📝 Licença
|
|
243
|
+
|
|
244
|
+
MIT
|
package/dist/core/framework.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
|
-
import type { PrismaClientBase } from '../types/prisma';
|
|
3
2
|
import type { ZetiConfig } from '../types/config';
|
|
4
3
|
import type { ZetiMethodOptions, SchemaDefinition } from '../types/framework';
|
|
5
4
|
import { TenantManager } from '../tenants/manager';
|
|
6
5
|
import { SwaggerRegistry } from '../swagger/registry';
|
|
7
|
-
export interface ZetiApp<TPrisma
|
|
6
|
+
export interface ZetiApp<TPrisma = any, TUser = any> {
|
|
8
7
|
get: <TPath extends string, TSchema extends SchemaDefinition = {}>(url: TPath, options: ZetiMethodOptions<TPath, TSchema, TPrisma, TUser>) => void;
|
|
9
8
|
post: <TPath extends string, TSchema extends SchemaDefinition = {}>(url: TPath, options: ZetiMethodOptions<TPath, TSchema, TPrisma, TUser>) => void;
|
|
10
9
|
put: <TPath extends string, TSchema extends SchemaDefinition = {}>(url: TPath, options: ZetiMethodOptions<TPath, TSchema, TPrisma, TUser>) => void;
|
|
@@ -41,8 +40,18 @@ export interface ZetiApp<TPrisma extends PrismaClientBase = PrismaClientBase, TU
|
|
|
41
40
|
* });
|
|
42
41
|
* ```
|
|
43
42
|
*/
|
|
44
|
-
export declare function createZetiApp<TPrisma
|
|
43
|
+
export declare function createZetiApp<TPrisma = any, TUser = any>(options: {
|
|
45
44
|
config: ZetiConfig;
|
|
46
45
|
prismaClient: new (...args: any[]) => TPrisma;
|
|
47
46
|
}): ZetiApp<TPrisma, TUser>;
|
|
47
|
+
export declare function initializeZetiApp<TPrisma = any, TUser = any>(options: {
|
|
48
|
+
config: ZetiConfig;
|
|
49
|
+
prismaClient: new (...args: any[]) => TPrisma;
|
|
50
|
+
}): ZetiApp<TPrisma, TUser>;
|
|
51
|
+
export declare function getZetiApp(): ZetiApp<any, any> | null;
|
|
52
|
+
export declare function autoInitializeZetiApp<TPrisma = any, TUser = any>(options?: {
|
|
53
|
+
configPath?: string;
|
|
54
|
+
prismaClient?: new (...args: any[]) => TPrisma;
|
|
55
|
+
}): Promise<ZetiApp<TPrisma, TUser> | null>;
|
|
56
|
+
export declare const honoRoutesZeti: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
48
57
|
//# sourceMappingURL=framework.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/core/framework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/core/framework.ts"],"names":[],"mappings":"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"}
|
package/dist/core/framework.js
CHANGED
|
@@ -67,30 +67,29 @@ export function createZetiApp(options) {
|
|
|
67
67
|
honoApp.get(uiPath, swaggerUI({ url: docPath }));
|
|
68
68
|
honoApp.get(docPath, async (c) => {
|
|
69
69
|
const { generateSwagger } = await import('../swagger/generator');
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const generated = await import(config.swagger.outputPath.replace(/\.ts$/, '.js'));
|
|
76
|
-
return {
|
|
77
|
-
routeResponseSchemas: generated.routeResponseSchemas || {},
|
|
78
|
-
namedSchemas: generated.namedSchemas || {},
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
return {
|
|
82
|
-
routeResponseSchemas: {},
|
|
83
|
-
namedSchemas: {},
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
catch {
|
|
70
|
+
const loadGeneratedSchemas = async () => {
|
|
71
|
+
try {
|
|
72
|
+
if (config.swagger.outputPath) {
|
|
73
|
+
const outputPath = config.swagger.outputPath.replace(/\.ts$/, '.js');
|
|
74
|
+
const generated = await import(outputPath);
|
|
87
75
|
return {
|
|
88
|
-
routeResponseSchemas: {},
|
|
89
|
-
namedSchemas: {},
|
|
76
|
+
routeResponseSchemas: generated.routeResponseSchemas || {},
|
|
77
|
+
namedSchemas: generated.namedSchemas || {},
|
|
90
78
|
};
|
|
91
79
|
}
|
|
92
|
-
|
|
93
|
-
|
|
80
|
+
return {
|
|
81
|
+
routeResponseSchemas: {},
|
|
82
|
+
namedSchemas: {},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return {
|
|
87
|
+
routeResponseSchemas: {},
|
|
88
|
+
namedSchemas: {},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const spec = await generateSwagger(swaggerRegistry, config.swagger, { loadGeneratedSchemas });
|
|
94
93
|
return c.json(spec);
|
|
95
94
|
});
|
|
96
95
|
}
|
|
@@ -288,4 +287,59 @@ export function createZetiApp(options) {
|
|
|
288
287
|
},
|
|
289
288
|
};
|
|
290
289
|
}
|
|
290
|
+
let globalAppInstance = null;
|
|
291
|
+
let globalHonoApp = null;
|
|
292
|
+
let globalConfig = null;
|
|
293
|
+
export function initializeZetiApp(options) {
|
|
294
|
+
if (globalAppInstance) {
|
|
295
|
+
return globalAppInstance;
|
|
296
|
+
}
|
|
297
|
+
if (options.config.auth?.jwt) {
|
|
298
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
299
|
+
const { setJwtConfig } = require('../utils/jwt');
|
|
300
|
+
setJwtConfig({
|
|
301
|
+
secret: options.config.auth.jwt.secret || process.env.JWT_SECRET || '',
|
|
302
|
+
expiresIn: options.config.auth.jwt.expiresIn || '14d',
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
globalConfig = options.config;
|
|
306
|
+
globalAppInstance = createZetiApp(options);
|
|
307
|
+
globalHonoApp = globalAppInstance.honoApp;
|
|
308
|
+
return globalAppInstance;
|
|
309
|
+
}
|
|
310
|
+
export function getZetiApp() {
|
|
311
|
+
return globalAppInstance;
|
|
312
|
+
}
|
|
313
|
+
export async function autoInitializeZetiApp(options) {
|
|
314
|
+
if (globalAppInstance) {
|
|
315
|
+
return globalAppInstance;
|
|
316
|
+
}
|
|
317
|
+
try {
|
|
318
|
+
const configPath = options?.configPath || '../config/zeti.config';
|
|
319
|
+
const configModule = await import(configPath);
|
|
320
|
+
const zetiConfig = configModule.zetiConfig || configModule.default?.zetiConfig || configModule.default;
|
|
321
|
+
if (!zetiConfig) {
|
|
322
|
+
console.warn('⚠️ zetiConfig not found. Please export zetiConfig from your config file.');
|
|
323
|
+
return null;
|
|
324
|
+
}
|
|
325
|
+
const prismaModule = options?.prismaClient ? null : await import('@prisma/client');
|
|
326
|
+
const PrismaClient = options?.prismaClient || prismaModule?.PrismaClient || prismaModule?.default?.PrismaClient || prismaModule?.default;
|
|
327
|
+
return initializeZetiApp({
|
|
328
|
+
config: zetiConfig,
|
|
329
|
+
prismaClient: PrismaClient,
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
console.error('❌ Failed to auto-initialize ZetiApp:', error.message);
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
export const honoRoutesZeti = new Proxy({}, {
|
|
338
|
+
get(_target, prop) {
|
|
339
|
+
if (!globalHonoApp) {
|
|
340
|
+
throw new Error('Zeti app não foi inicializado. Chame initializeZetiApp() primeiro.');
|
|
341
|
+
}
|
|
342
|
+
return globalHonoApp[prop];
|
|
343
|
+
},
|
|
344
|
+
});
|
|
291
345
|
//# sourceMappingURL=framework.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/core/framework.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/core/framework.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,10 @@ export * from './tenants/metrics';
|
|
|
7
7
|
export * from './swagger/generator';
|
|
8
8
|
export * from './swagger/registry';
|
|
9
9
|
export * from './utils/error-handler';
|
|
10
|
+
export * from './utils/password';
|
|
11
|
+
export * from './utils/jwt';
|
|
12
|
+
export * from './utils/http-exceptions';
|
|
10
13
|
export * from './scripts/generate-registry';
|
|
11
14
|
export * from './scripts/generate-swagger-types';
|
|
15
|
+
export { initializeZetiApp, getZetiApp, honoRoutesZeti, autoInitializeZetiApp } from './core/framework';
|
|
12
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,10 @@ export * from './tenants/metrics';
|
|
|
7
7
|
export * from './swagger/generator';
|
|
8
8
|
export * from './swagger/registry';
|
|
9
9
|
export * from './utils/error-handler';
|
|
10
|
+
export * from './utils/password';
|
|
11
|
+
export * from './utils/jwt';
|
|
12
|
+
export * from './utils/http-exceptions';
|
|
10
13
|
export * from './scripts/generate-registry';
|
|
11
14
|
export * from './scripts/generate-swagger-types';
|
|
15
|
+
export { initializeZetiApp, getZetiApp, honoRoutesZeti, autoInitializeZetiApp } from './core/framework';
|
|
12
16
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -57,6 +57,15 @@ export interface ZetiMiddlewareConfig {
|
|
|
57
57
|
named?: Record<string, Middleware | ((...args: any[]) => Middleware)>;
|
|
58
58
|
}
|
|
59
59
|
import type { ZetiErrorHandlerConfig } from '../utils/error-handler';
|
|
60
|
+
export interface ZetiAuthConfig {
|
|
61
|
+
jwt?: {
|
|
62
|
+
secret?: string;
|
|
63
|
+
expiresIn?: string;
|
|
64
|
+
};
|
|
65
|
+
password?: {
|
|
66
|
+
bcryptSaltRounds?: number;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
60
69
|
export interface ZetiConfig {
|
|
61
70
|
databases: ZetiDatabaseConfig;
|
|
62
71
|
specialDatabases?: Record<string, string>;
|
|
@@ -65,7 +74,7 @@ export interface ZetiConfig {
|
|
|
65
74
|
tenant?: ZetiTenantConfig;
|
|
66
75
|
cors?: ZetiCorsConfig;
|
|
67
76
|
logger?: boolean;
|
|
68
|
-
auth?:
|
|
77
|
+
auth?: ZetiAuthConfig;
|
|
69
78
|
headers?: ZetiHeadersConfig;
|
|
70
79
|
middlewares?: ZetiMiddlewareConfig;
|
|
71
80
|
errorHandler?: ZetiErrorHandlerConfig | boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
package/dist/types/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AA+FA,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ZodTypeAny, ZodRawShape, ZodObject } from 'zod';
|
|
2
|
+
import { z } from 'zod';
|
|
2
3
|
import { Context, Next } from 'hono';
|
|
3
|
-
import type { PrismaClientBase } from './prisma';
|
|
4
4
|
export type SchemaDefinition = {
|
|
5
5
|
body?: ZodRawShape | ZodTypeAny;
|
|
6
6
|
query?: ZodRawShape | ZodTypeAny;
|
|
@@ -14,6 +14,7 @@ export type ExtractParams<T extends string> = T extends `${infer _Start}:${infer
|
|
|
14
14
|
} & ExtractParams<Rest> : T extends `${infer _Start}:${infer Param}` ? {
|
|
15
15
|
[K in Param]: string;
|
|
16
16
|
} : {};
|
|
17
|
+
export type ZetiZod = typeof z;
|
|
17
18
|
export type ZetiContextExtensions = {
|
|
18
19
|
ipAddress?: string;
|
|
19
20
|
userAgent?: string;
|
|
@@ -21,7 +22,7 @@ export type ZetiContextExtensions = {
|
|
|
21
22
|
tenantId: string;
|
|
22
23
|
};
|
|
23
24
|
export type ZetiContext<TContext extends Context = Context> = TContext & ZetiContextExtensions;
|
|
24
|
-
export interface ZetiRouteProps<TParams extends Record<string, string>, TBody, TQuery, TPrisma
|
|
25
|
+
export interface ZetiRouteProps<TParams extends Record<string, string>, TBody, TQuery, TPrisma = any, TUser = any> {
|
|
25
26
|
context: ZetiContext;
|
|
26
27
|
next: Next;
|
|
27
28
|
params: TParams;
|
|
@@ -39,10 +40,10 @@ export interface ZetiResponseHelpers {
|
|
|
39
40
|
unauthorizedError: (message: string) => never;
|
|
40
41
|
badRequestError: (message: string) => never;
|
|
41
42
|
}
|
|
42
|
-
export interface ZetiMethodOptions<TPath extends string, TSchema extends SchemaDefinition, TPrisma
|
|
43
|
+
export interface ZetiMethodOptions<TPath extends string, TSchema extends SchemaDefinition, TPrisma = any, TUser = any> {
|
|
43
44
|
middleware?: {
|
|
44
45
|
use?: string[];
|
|
45
|
-
schema?: (
|
|
46
|
+
schema?: (z: ZetiZod) => TSchema;
|
|
46
47
|
database?: string;
|
|
47
48
|
tenant?: boolean;
|
|
48
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/types/framework.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/types/framework.ts"],"names":[],"mappings":"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"}
|
package/dist/types/prisma.d.ts
CHANGED
|
@@ -11,8 +11,8 @@ export type PrismaClientBase = {
|
|
|
11
11
|
$connect: () => Promise<void>;
|
|
12
12
|
$disconnect: () => Promise<void>;
|
|
13
13
|
$transaction: <T>(fn: (client: any) => Promise<T>) => Promise<T>;
|
|
14
|
-
$queryRaw:
|
|
15
|
-
$executeRaw:
|
|
14
|
+
$queryRaw: any;
|
|
15
|
+
$executeRaw: any;
|
|
16
16
|
[key: string]: any;
|
|
17
17
|
};
|
|
18
18
|
export declare namespace Prisma {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/types/prisma.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/types/prisma.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,EAAE,GAAG,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAGF,yBAAiB,MAAM,CAAC;IACtB,UAAiB,6BAA8B,SAAQ,KAAK;QAC1D,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IAED,UAAiB,2BAA4B,SAAQ,KAAK;QACxD,OAAO,EAAE,MAAM,CAAC;KACjB;IAED,UAAiB,+BAAgC,SAAQ,KAAK;QAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IAED,UAAiB,0BAA2B,SAAQ,KAAK;QACvD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IAED,KAAY,iBAAiB,GACzB,6BAA6B,GAC7B,2BAA2B,GAC3B,+BAA+B,GAC/B,0BAA0B,CAAC;CAChC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function badRequestError(message: string, cause?: any): never;
|
|
2
|
+
export declare function unauthorizedError(message: string, cause?: any): never;
|
|
3
|
+
export declare function forbiddenError(message: string, cause?: any): never;
|
|
4
|
+
export declare function notFoundError(message: string, cause?: any): never;
|
|
5
|
+
export declare function conflictError(message: string, cause?: any): never;
|
|
6
|
+
export declare function goneError(message: string, cause?: any): never;
|
|
7
|
+
export declare function unprocessableEntityError(message: string, cause?: any): never;
|
|
8
|
+
export declare function internalServerError(message: string, cause?: any): never;
|
|
9
|
+
//# sourceMappingURL=http-exceptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-exceptions.d.ts","sourceRoot":"","sources":["../../src/utils/http-exceptions.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,CAEnE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,CAErE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,CAElE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,CAEjE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,CAEjE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,CAE7D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,CAE5E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,KAAK,CAEvE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { HTTPException } from 'hono/http-exception';
|
|
2
|
+
export function badRequestError(message, cause) {
|
|
3
|
+
throw new HTTPException(400, { message, cause });
|
|
4
|
+
}
|
|
5
|
+
export function unauthorizedError(message, cause) {
|
|
6
|
+
throw new HTTPException(401, { message, cause });
|
|
7
|
+
}
|
|
8
|
+
export function forbiddenError(message, cause) {
|
|
9
|
+
throw new HTTPException(403, { message, cause });
|
|
10
|
+
}
|
|
11
|
+
export function notFoundError(message, cause) {
|
|
12
|
+
throw new HTTPException(404, { message, cause });
|
|
13
|
+
}
|
|
14
|
+
export function conflictError(message, cause) {
|
|
15
|
+
throw new HTTPException(409, { message, cause });
|
|
16
|
+
}
|
|
17
|
+
export function goneError(message, cause) {
|
|
18
|
+
throw new HTTPException(410, { message, cause });
|
|
19
|
+
}
|
|
20
|
+
export function unprocessableEntityError(message, cause) {
|
|
21
|
+
throw new HTTPException(422, { message, cause });
|
|
22
|
+
}
|
|
23
|
+
export function internalServerError(message, cause) {
|
|
24
|
+
throw new HTTPException(500, { message, cause });
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=http-exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-exceptions.js","sourceRoot":"","sources":["../../src/utils/http-exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,KAAW;IAC1D,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,KAAW;IAC5D,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,KAAW;IACzD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAAW;IACxD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAAW;IACxD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,KAAW;IACpD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,KAAW;IACnE,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,KAAW;IAC9D,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface ZetiJwtConfig {
|
|
2
|
+
secret: string;
|
|
3
|
+
expiresIn?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface TokenPayload {
|
|
6
|
+
id: string;
|
|
7
|
+
iat?: number;
|
|
8
|
+
exp?: number;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
export declare function setJwtConfig(config: ZetiJwtConfig): void;
|
|
12
|
+
export declare function getJwtConfig(): ZetiJwtConfig | null;
|
|
13
|
+
export declare function signToken(payload: Omit<TokenPayload, 'iat' | 'exp'>, config?: ZetiJwtConfig): string;
|
|
14
|
+
export declare function verifyToken(token: string, config?: ZetiJwtConfig): TokenPayload;
|
|
15
|
+
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAID,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAExD;AAED,wBAAgB,YAAY,IAAI,aAAa,GAAG,IAAI,CAEnD;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,KAAK,CAAC,EAC1C,MAAM,CAAC,EAAE,aAAa,GACrB,MAAM,CAYR;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,aAAa,GACrB,YAAY,CAed"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
let globalJwtConfig = null;
|
|
2
|
+
export function setJwtConfig(config) {
|
|
3
|
+
globalJwtConfig = config;
|
|
4
|
+
}
|
|
5
|
+
export function getJwtConfig() {
|
|
6
|
+
return globalJwtConfig;
|
|
7
|
+
}
|
|
8
|
+
export function signToken(payload, config) {
|
|
9
|
+
const jwtConfig = config || globalJwtConfig;
|
|
10
|
+
if (!jwtConfig || !jwtConfig.secret || typeof jwtConfig.secret !== 'string') {
|
|
11
|
+
throw new Error('JWT_SECRET is required. Configure auth.jwt.secret in zetiConfig or pass config parameter.');
|
|
12
|
+
}
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
14
|
+
const jwt = require('jsonwebtoken');
|
|
15
|
+
return jwt.sign(payload, jwtConfig.secret, {
|
|
16
|
+
expiresIn: jwtConfig.expiresIn || '14d',
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export function verifyToken(token, config) {
|
|
20
|
+
const jwtConfig = config || globalJwtConfig;
|
|
21
|
+
if (!jwtConfig || !jwtConfig.secret || typeof jwtConfig.secret !== 'string') {
|
|
22
|
+
throw new Error('JWT_SECRET is required. Configure auth.jwt.secret in zetiConfig or pass config parameter.');
|
|
23
|
+
}
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
25
|
+
const jwt = require('jsonwebtoken');
|
|
26
|
+
try {
|
|
27
|
+
return jwt.verify(token, jwtConfig.secret);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw new Error('Token inválido ou expirado');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=jwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"AAYA,IAAI,eAAe,GAAyB,IAAI,CAAC;AAEjD,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,eAAe,GAAG,MAAM,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAA0C,EAC1C,MAAsB;IAEtB,MAAM,SAAS,GAAG,MAAM,IAAI,eAAe,CAAC;IAE5C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC/G,CAAC;IAED,iEAAiE;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE;QACzC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,KAAK;KACxC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,MAAsB;IAEtB,MAAM,SAAS,GAAG,MAAM,IAAI,eAAe,CAAC;IAE5C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC/G,CAAC;IAED,iEAAiE;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpC,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAiB,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface ZetiPasswordConfig {
|
|
2
|
+
bcryptSaltRounds?: number;
|
|
3
|
+
}
|
|
4
|
+
export declare function hashPassword(value: string, saltRounds?: number): Promise<string>;
|
|
5
|
+
export declare function comparePassword(value: string, hashedValue: string): Promise<boolean>;
|
|
6
|
+
//# sourceMappingURL=password.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/utils/password.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAW,GACtB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAIlB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export async function hashPassword(value, saltRounds = 10) {
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
3
|
+
const bcryptjs = require('bcryptjs');
|
|
4
|
+
return await bcryptjs.hash(value, saltRounds);
|
|
5
|
+
}
|
|
6
|
+
export async function comparePassword(value, hashedValue) {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
8
|
+
const bcryptjs = require('bcryptjs');
|
|
9
|
+
return await bcryptjs.compare(value, hashedValue);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=password.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/utils/password.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa,EACb,aAAqB,EAAE;IAEvB,iEAAiE;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,WAAmB;IAEnB,iEAAiE;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "zeti-framework",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Framework Hono com suporte a multi-tenancy, Prisma e Swagger automático",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"import": "./dist/index.js",
|
|
11
|
-
"types": "./dist/index.d.ts"
|
|
12
|
-
},
|
|
13
|
-
"./swagger": {
|
|
14
|
-
"import": "./dist/swagger/index.js",
|
|
15
|
-
"types": "./dist/swagger/index.d.ts"
|
|
16
|
-
},
|
|
17
|
-
"./tenants": {
|
|
18
|
-
"import": "./dist/tenants/index.js",
|
|
19
|
-
"types": "./dist/tenants/index.d.ts"
|
|
20
|
-
},
|
|
21
|
-
"./scripts": {
|
|
22
|
-
"import": "./dist/scripts/index.js",
|
|
23
|
-
"types": "./dist/scripts/index.d.ts"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"files": [
|
|
27
|
-
"dist",
|
|
28
|
-
"README.md"
|
|
29
|
-
],
|
|
30
|
-
"scripts": {
|
|
31
|
-
"build": "tsc",
|
|
32
|
-
"dev": "tsc --watch",
|
|
33
|
-
"prepublishOnly": "npm run build",
|
|
34
|
-
"clean": "rm -rf dist"
|
|
35
|
-
},
|
|
36
|
-
"keywords": [
|
|
37
|
-
"hono",
|
|
38
|
-
"prisma",
|
|
39
|
-
"multi-tenant",
|
|
40
|
-
"swagger",
|
|
41
|
-
"typescript",
|
|
42
|
-
"framework"
|
|
43
|
-
],
|
|
44
|
-
"author": "",
|
|
45
|
-
"license": "MIT",
|
|
46
|
-
"dependencies": {
|
|
47
|
-
"@prisma/adapter-pg": "^7.2.0",
|
|
48
|
-
"@hono/zod-validator": "^0.4.0",
|
|
49
|
-
"hono": "^4.6.0",
|
|
50
|
-
"zod": "^3.23.0",
|
|
51
|
-
"pg": "^8.17.1",
|
|
52
|
-
"fast-glob": "^3.3.2"
|
|
53
|
-
},
|
|
54
|
-
"devDependencies": {
|
|
55
|
-
"@types/node": "^25.0.9",
|
|
56
|
-
"@types/pg": "^8.16.0",
|
|
57
|
-
"typescript": "^5.9.3"
|
|
58
|
-
},
|
|
59
|
-
"peerDependencies": {
|
|
60
|
-
"@prisma/client": "^7.0.0",
|
|
61
|
-
"hono": "^4.0.0"
|
|
62
|
-
},
|
|
63
|
-
"peerDependenciesMeta": {
|
|
64
|
-
"@prisma/client": {
|
|
65
|
-
"optional": false
|
|
66
|
-
},
|
|
67
|
-
"hono": {
|
|
68
|
-
"optional": false
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "zeti-framework",
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"description": "Framework Hono com suporte a multi-tenancy, Prisma e Swagger automático",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./swagger": {
|
|
14
|
+
"import": "./dist/swagger/index.js",
|
|
15
|
+
"types": "./dist/swagger/index.d.ts"
|
|
16
|
+
},
|
|
17
|
+
"./tenants": {
|
|
18
|
+
"import": "./dist/tenants/index.js",
|
|
19
|
+
"types": "./dist/tenants/index.d.ts"
|
|
20
|
+
},
|
|
21
|
+
"./scripts": {
|
|
22
|
+
"import": "./dist/scripts/index.js",
|
|
23
|
+
"types": "./dist/scripts/index.d.ts"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist",
|
|
28
|
+
"README.md"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "tsc",
|
|
32
|
+
"dev": "tsc --watch",
|
|
33
|
+
"prepublishOnly": "npm run build",
|
|
34
|
+
"clean": "rm -rf dist"
|
|
35
|
+
},
|
|
36
|
+
"keywords": [
|
|
37
|
+
"hono",
|
|
38
|
+
"prisma",
|
|
39
|
+
"multi-tenant",
|
|
40
|
+
"swagger",
|
|
41
|
+
"typescript",
|
|
42
|
+
"framework"
|
|
43
|
+
],
|
|
44
|
+
"author": "",
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@prisma/adapter-pg": "^7.2.0",
|
|
48
|
+
"@hono/zod-validator": "^0.4.0",
|
|
49
|
+
"hono": "^4.6.0",
|
|
50
|
+
"zod": "^3.23.0",
|
|
51
|
+
"pg": "^8.17.1",
|
|
52
|
+
"fast-glob": "^3.3.2"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@types/node": "^25.0.9",
|
|
56
|
+
"@types/pg": "^8.16.0",
|
|
57
|
+
"typescript": "^5.9.3"
|
|
58
|
+
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"@prisma/client": "^7.0.0",
|
|
61
|
+
"hono": "^4.0.0"
|
|
62
|
+
},
|
|
63
|
+
"peerDependenciesMeta": {
|
|
64
|
+
"@prisma/client": {
|
|
65
|
+
"optional": false
|
|
66
|
+
},
|
|
67
|
+
"hono": {
|
|
68
|
+
"optional": false
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|