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 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
@@ -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 extends PrismaClientBase = PrismaClientBase, TUser = any> {
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 extends PrismaClientBase = PrismaClientBase, TUser = any>(options: {
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;AAG5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EACV,iBAAiB,EAEjB,gBAAgB,EAKjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAItD,MAAM,WAAW,OAAO,CACtB,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,KAAK,GAAG,GAAG;IAEX,GAAG,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,gBAAgB,GAAG,EAAE,EAC/D,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KACvD,IAAI,CAAC;IAEV,IAAI,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,gBAAgB,GAAG,EAAE,EAChE,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KACvD,IAAI,CAAC;IAEV,GAAG,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,gBAAgB,GAAG,EAAE,EAC/D,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KACvD,IAAI,CAAC;IAEV,GAAG,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,gBAAgB,GAAG,EAAE,EAC/D,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KACvD,IAAI,CAAC;IAEV,KAAK,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,gBAAgB,GAAG,EAAE,EACjE,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,KACvD,IAAI,CAAC;IAEV,OAAO,EAAE,IAAI,CAAC;IACd,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EACnD,KAAK,GAAG,GAAG,EACX,OAAO,EAAE;IACT,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;CAC/C,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CA4T1B"}
1
+ {"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/core/framework.ts"],"names":[],"mappings":"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"}
@@ -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 spec = await generateSwagger(swaggerRegistry, config.swagger, {
71
- loadGeneratedSchemas: async () => {
72
- try {
73
- // Tenta carregar schemas gerados se o outputPath estiver configurado
74
- if (config.swagger.outputPath) {
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
@@ -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"}
@@ -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?: Record<string, any>;
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAqFA,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC"}
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 { z, ZodTypeAny, ZodRawShape, ZodObject } from 'zod';
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 extends PrismaClientBase = PrismaClientBase, TUser = any> {
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 extends PrismaClientBase = PrismaClientBase, TUser = any> {
43
+ export interface ZetiMethodOptions<TPath extends string, TSchema extends SchemaDefinition, TPrisma = any, TUser = any> {
43
44
  middleware?: {
44
45
  use?: string[];
45
- schema?: (zod: typeof z) => TSchema;
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":"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"}
1
+ {"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/types/framework.ts"],"names":[],"mappings":"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"}
@@ -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: (query: string, ...values: any[]) => Promise<any>;
15
- $executeRaw: (query: string, ...values: any[]) => Promise<number>;
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;AAGH,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,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,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"}
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.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
+ }