@eva_solutions/auth-sdk 0.0.0-stage → 3.0.0-dev-20261109133200
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/CHANGELOG.md +290 -0
- package/LICENSE +21 -0
- package/README.md +481 -2
- package/dist/admin/index.cjs +4 -0
- package/dist/admin/index.d.cts +2 -0
- package/dist/admin/index.d.ts +2 -0
- package/dist/admin/index.js +1 -0
- package/dist/admin-DjvuvuI8.js +408 -0
- package/dist/admin-DjvuvuI8.js.map +1 -0
- package/dist/admin-Q6lbWqLM.cjs +419 -0
- package/dist/admin-Q6lbWqLM.cjs.map +1 -0
- package/dist/api-path-2Ulruz7R.cjs +34 -0
- package/dist/api-path-2Ulruz7R.cjs.map +1 -0
- package/dist/api-path-B-vSkL2H.js +29 -0
- package/dist/api-path-B-vSkL2H.js.map +1 -0
- package/dist/auth-19r-Q6X2.js +84 -0
- package/dist/auth-19r-Q6X2.js.map +1 -0
- package/dist/auth-DX1N5JA4.cjs +131 -0
- package/dist/auth-DX1N5JA4.cjs.map +1 -0
- package/dist/auth-handlers-B3iJaPln.js +343 -0
- package/dist/auth-handlers-B3iJaPln.js.map +1 -0
- package/dist/auth-handlers-BTbXKJms.d.ts +15 -0
- package/dist/auth-handlers-BTbXKJms.d.ts.map +1 -0
- package/dist/auth-handlers-CDzGFDTu.cjs +404 -0
- package/dist/auth-handlers-CDzGFDTu.cjs.map +1 -0
- package/dist/auth-handlers-DRUUTEtW.d.cts +15 -0
- package/dist/auth-handlers-DRUUTEtW.d.cts.map +1 -0
- package/dist/catalog-CHPqldcj.cjs +172 -0
- package/dist/catalog-CHPqldcj.cjs.map +1 -0
- package/dist/catalog-CIqpzgsM.d.cts +75 -0
- package/dist/catalog-CIqpzgsM.d.cts.map +1 -0
- package/dist/catalog-CIqpzgsM.d.ts +75 -0
- package/dist/catalog-CIqpzgsM.d.ts.map +1 -0
- package/dist/catalog-DqPhtCKZ.js +95 -0
- package/dist/catalog-DqPhtCKZ.js.map +1 -0
- package/dist/config-3avoUa9e.d.cts +95 -0
- package/dist/config-3avoUa9e.d.cts.map +1 -0
- package/dist/config-COX7rGAP.d.ts +95 -0
- package/dist/config-COX7rGAP.d.ts.map +1 -0
- package/dist/constants-BE1_9Tod.cjs +52 -0
- package/dist/constants-BE1_9Tod.cjs.map +1 -0
- package/dist/constants-BY7QZokc.js +29 -0
- package/dist/constants-BY7QZokc.js.map +1 -0
- package/dist/constants-CcbhOaAP.cjs +153 -0
- package/dist/constants-CcbhOaAP.cjs.map +1 -0
- package/dist/constants-rNuD5qJn.js +94 -0
- package/dist/constants-rNuD5qJn.js.map +1 -0
- package/dist/contracts/index.cjs +1006 -0
- package/dist/contracts/index.cjs.map +1 -0
- package/dist/contracts/index.d.cts +488 -0
- package/dist/contracts/index.d.cts.map +1 -0
- package/dist/contracts/index.d.ts +488 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +817 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/cookies-DCIcr7uy.cjs +94 -0
- package/dist/cookies-DCIcr7uy.cjs.map +1 -0
- package/dist/cookies-DKEC7AWv.js +71 -0
- package/dist/cookies-DKEC7AWv.js.map +1 -0
- package/dist/delegated-token-CVNbMNfy.js +426 -0
- package/dist/delegated-token-CVNbMNfy.js.map +1 -0
- package/dist/delegated-token-DHSK4rHI.cjs +461 -0
- package/dist/delegated-token-DHSK4rHI.cjs.map +1 -0
- package/dist/error-helpers-0woh13Wd.d.cts +105 -0
- package/dist/error-helpers-0woh13Wd.d.cts.map +1 -0
- package/dist/error-helpers-Ct3AUK1I.d.ts +105 -0
- package/dist/error-helpers-Ct3AUK1I.d.ts.map +1 -0
- package/dist/error-helpers-XCh4ZJ-g.cjs +282 -0
- package/dist/error-helpers-XCh4ZJ-g.cjs.map +1 -0
- package/dist/error-helpers-lnwgNOw9.js +145 -0
- package/dist/error-helpers-lnwgNOw9.js.map +1 -0
- package/dist/error-messages-CGpW1fsg.d.cts +48 -0
- package/dist/error-messages-CGpW1fsg.d.cts.map +1 -0
- package/dist/error-messages-CGpW1fsg.d.ts +48 -0
- package/dist/error-messages-CGpW1fsg.d.ts.map +1 -0
- package/dist/event-codes-BBJHon-I.cjs +48 -0
- package/dist/event-codes-BBJHon-I.cjs.map +1 -0
- package/dist/event-codes-BgcJWsov.d.cts +42 -0
- package/dist/event-codes-BgcJWsov.d.cts.map +1 -0
- package/dist/event-codes-BgcJWsov.d.ts +42 -0
- package/dist/event-codes-BgcJWsov.d.ts.map +1 -0
- package/dist/event-codes-DR5_VlaR.js +43 -0
- package/dist/event-codes-DR5_VlaR.js.map +1 -0
- package/dist/generic/index.cjs +91 -0
- package/dist/generic/index.cjs.map +1 -0
- package/dist/generic/index.d.cts +27 -0
- package/dist/generic/index.d.cts.map +1 -0
- package/dist/generic/index.d.ts +27 -0
- package/dist/generic/index.d.ts.map +1 -0
- package/dist/generic/index.js +80 -0
- package/dist/generic/index.js.map +1 -0
- package/dist/hono/index.cjs +309 -0
- package/dist/hono/index.cjs.map +1 -0
- package/dist/hono/index.d.cts +272 -0
- package/dist/hono/index.d.cts.map +1 -0
- package/dist/hono/index.d.ts +272 -0
- package/dist/hono/index.d.ts.map +1 -0
- package/dist/hono/index.js +290 -0
- package/dist/hono/index.js.map +1 -0
- package/dist/hono-openapi/index.cjs +326 -0
- package/dist/hono-openapi/index.cjs.map +1 -0
- package/dist/hono-openapi/index.d.cts +14 -0
- package/dist/hono-openapi/index.d.cts.map +1 -0
- package/dist/hono-openapi/index.d.ts +14 -0
- package/dist/hono-openapi/index.d.ts.map +1 -0
- package/dist/hono-openapi/index.js +307 -0
- package/dist/hono-openapi/index.js.map +1 -0
- package/dist/http-client-BVF3iktR.cjs +211 -0
- package/dist/http-client-BVF3iktR.cjs.map +1 -0
- package/dist/http-client-Da0-OMfc.js +206 -0
- package/dist/http-client-Da0-OMfc.js.map +1 -0
- package/dist/index-CIH_2t7Y.d.ts +240 -0
- package/dist/index-CIH_2t7Y.d.ts.map +1 -0
- package/dist/index-CZru7c5T.d.cts +1711 -0
- package/dist/index-CZru7c5T.d.cts.map +1 -0
- package/dist/index-CZru7c5T.d.ts +1711 -0
- package/dist/index-CZru7c5T.d.ts.map +1 -0
- package/dist/index-DMVe5IJA.d.cts +240 -0
- package/dist/index-DMVe5IJA.d.cts.map +1 -0
- package/dist/index-DRWKobSp.d.ts +312 -0
- package/dist/index-DRWKobSp.d.ts.map +1 -0
- package/dist/index-DU9wJ-P2.d.cts +312 -0
- package/dist/index-DU9wJ-P2.d.cts.map +1 -0
- package/dist/index-DbiXllNy.d.cts +66 -0
- package/dist/index-DbiXllNy.d.cts.map +1 -0
- package/dist/index-z9r98qlk.d.ts +66 -0
- package/dist/index-z9r98qlk.d.ts.map +1 -0
- package/dist/index.cjs +89 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +114 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +114 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/jwt-BBNqk0TV.cjs +155 -0
- package/dist/jwt-BBNqk0TV.cjs.map +1 -0
- package/dist/jwt-DhqgH94B.js +150 -0
- package/dist/jwt-DhqgH94B.js.map +1 -0
- package/dist/key-resolver-CESqj4-P.cjs +45 -0
- package/dist/key-resolver-CESqj4-P.cjs.map +1 -0
- package/dist/key-resolver-D56I2Zpz.js +34 -0
- package/dist/key-resolver-D56I2Zpz.js.map +1 -0
- package/dist/parse-error-response-6qOQS5y9.cjs +316 -0
- package/dist/parse-error-response-6qOQS5y9.cjs.map +1 -0
- package/dist/parse-error-response-BM9-kjs0.js +239 -0
- package/dist/parse-error-response-BM9-kjs0.js.map +1 -0
- package/dist/path-segment-C25i6aaH.cjs +29 -0
- package/dist/path-segment-C25i6aaH.cjs.map +1 -0
- package/dist/path-segment-CyqnaFrP.js +24 -0
- package/dist/path-segment-CyqnaFrP.js.map +1 -0
- package/dist/react/index.cjs +336 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +151 -0
- package/dist/react/index.d.cts.map +1 -0
- package/dist/react/index.d.ts +151 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +300 -0
- package/dist/react/index.js.map +1 -0
- package/dist/refresh-dedup-CKaHHe7m.js +14 -0
- package/dist/refresh-dedup-CKaHHe7m.js.map +1 -0
- package/dist/refresh-dedup-CLdACQXR.cjs +19 -0
- package/dist/refresh-dedup-CLdACQXR.cjs.map +1 -0
- package/dist/rolldown-runtime-CmQyd0Gu.cjs +27 -0
- package/dist/routes-DpAzgY1V.cjs +424 -0
- package/dist/routes-DpAzgY1V.cjs.map +1 -0
- package/dist/routes-F1g5aVqP.js +347 -0
- package/dist/routes-F1g5aVqP.js.map +1 -0
- package/dist/s2s/index.cjs +24 -0
- package/dist/s2s/index.d.cts +5 -0
- package/dist/s2s/index.d.ts +5 -0
- package/dist/s2s/index.js +5 -0
- package/dist/s2s-6wbotr78.cjs +926 -0
- package/dist/s2s-6wbotr78.cjs.map +1 -0
- package/dist/s2s-B_0SIQzn.js +897 -0
- package/dist/s2s-B_0SIQzn.js.map +1 -0
- package/dist/sign-C7y6xdvT.cjs +324 -0
- package/dist/sign-C7y6xdvT.cjs.map +1 -0
- package/dist/sign-HFtcYwa-.js +259 -0
- package/dist/sign-HFtcYwa-.js.map +1 -0
- package/dist/tokens-C1nzkn21.cjs +232 -0
- package/dist/tokens-C1nzkn21.cjs.map +1 -0
- package/dist/tokens-C3Z40qd7.js +107 -0
- package/dist/tokens-C3Z40qd7.js.map +1 -0
- package/dist/types-Ai3iIFlB.d.cts +538 -0
- package/dist/types-Ai3iIFlB.d.cts.map +1 -0
- package/dist/types-Bxg4hCMc.d.cts +52 -0
- package/dist/types-Bxg4hCMc.d.cts.map +1 -0
- package/dist/types-CEABh1Zf.d.ts +96 -0
- package/dist/types-CEABh1Zf.d.ts.map +1 -0
- package/dist/types-Ci0Jq0xB.d.cts +96 -0
- package/dist/types-Ci0Jq0xB.d.cts.map +1 -0
- package/dist/types-DXg8BvEh.d.ts +52 -0
- package/dist/types-DXg8BvEh.d.ts.map +1 -0
- package/dist/types-_zY7QbM5.d.ts +538 -0
- package/dist/types-_zY7QbM5.d.ts.map +1 -0
- package/dist/webhooks/index.cjs +8 -0
- package/dist/webhooks/index.d.cts +5 -0
- package/dist/webhooks/index.d.ts +5 -0
- package/dist/webhooks/index.js +4 -0
- package/dist/webhooks-B5sAWC9W.js +74 -0
- package/dist/webhooks-B5sAWC9W.js.map +1 -0
- package/dist/webhooks-Cx11psg1.cjs +79 -0
- package/dist/webhooks-Cx11psg1.cjs.map +1 -0
- package/package.json +192 -3
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_auth_handlers = require("../auth-handlers-CDzGFDTu.cjs");
|
|
3
|
+
let zod = require("zod");
|
|
4
|
+
let _hono_zod_openapi = require("@hono/zod-openapi");
|
|
5
|
+
// src/hono-openapi/index.ts
|
|
6
|
+
/**
|
|
7
|
+
* Variante OpenAPIHono del SDK — entry point `@eva_solutions/auth-sdk/hono-openapi`.
|
|
8
|
+
*
|
|
9
|
+
* Decisión B3 (ADR-012): usa `createRoute` + `app.openapi(route, handler)`.
|
|
10
|
+
* `defineOpenAPIRoute` es para el método `openapiRoutes` (array API) — se eligió
|
|
11
|
+
* `createRoute` como API primaria por compatibilidad con el factory pattern.
|
|
12
|
+
* Los handlers del factory son compatibles con `RouteHandler<R>` cuando se castea
|
|
13
|
+
* via `as RouteHandler<typeof route>` (no `as never` — type assertion específica).
|
|
14
|
+
* Decisión B1 (ADR-012): schemas importados desde src/schemas.ts (canónico — T-00 validó).
|
|
15
|
+
* Decisión CE1 (ADR-012): requiere parent OpenAPIHono (no Hono plano) — ver warning.
|
|
16
|
+
*
|
|
17
|
+
* RISK-04 (T-034): ErrorResponseSchema siempre documenta el shape 'api'
|
|
18
|
+
* `{ error: { code: string, message: string } }` independientemente del errorWire
|
|
19
|
+
* configurado en runtime. En wire='sdk' el runtime devuelve el mismo shape — es correcto.
|
|
20
|
+
* El errorWire controla el código de error (EvaApiError vs EvaSdkError), pero el shape
|
|
21
|
+
* del wire HTTP es siempre `{ error: { code, message } }` en ambos casos.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { OpenAPIHono } from '@hono/zod-openapi'
|
|
26
|
+
* import { evaAuthOpenAPIRoutes } from '@eva_solutions/auth-sdk/hono-openapi'
|
|
27
|
+
*
|
|
28
|
+
* const app = new OpenAPIHono() // ← CRÍTICO: OpenAPIHono, no Hono
|
|
29
|
+
* app.route('/auth', evaAuthOpenAPIRoutes())
|
|
30
|
+
* app.doc('/doc', { openapi: '3.1.0', info: { title: 'API', version: '1.0' } })
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
const tags = ["Auth"];
|
|
34
|
+
const getCodeRoute = (0, _hono_zod_openapi.createRoute)({
|
|
35
|
+
method: "post",
|
|
36
|
+
path: "/get-code",
|
|
37
|
+
tags,
|
|
38
|
+
summary: "Solicitar código de verificación",
|
|
39
|
+
request: { body: {
|
|
40
|
+
content: { "application/json": { schema: require_auth_handlers.GetCodeSchema } },
|
|
41
|
+
required: true
|
|
42
|
+
} },
|
|
43
|
+
responses: {
|
|
44
|
+
200: {
|
|
45
|
+
description: "Código enviado al teléfono; incluye el challengeId del desafío",
|
|
46
|
+
content: { "application/json": { schema: require_auth_handlers.GetCodeResponseSchema } }
|
|
47
|
+
},
|
|
48
|
+
400: {
|
|
49
|
+
description: "Teléfono inválido o JSON malformado",
|
|
50
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
const loginRoute = (0, _hono_zod_openapi.createRoute)({
|
|
55
|
+
method: "post",
|
|
56
|
+
path: "/login",
|
|
57
|
+
tags,
|
|
58
|
+
summary: "Autenticarse con teléfono y código",
|
|
59
|
+
request: { body: {
|
|
60
|
+
content: { "application/json": { schema: require_auth_handlers.LoginSchema } },
|
|
61
|
+
required: true
|
|
62
|
+
} },
|
|
63
|
+
responses: {
|
|
64
|
+
200: {
|
|
65
|
+
description: "Login exitoso — tokens seteados en cookies",
|
|
66
|
+
content: { "application/json": { schema: require_auth_handlers.LoginResponseSchema } }
|
|
67
|
+
},
|
|
68
|
+
400: {
|
|
69
|
+
description: "Credenciales inválidas o JSON malformado",
|
|
70
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
71
|
+
},
|
|
72
|
+
401: {
|
|
73
|
+
description: "No autorizado",
|
|
74
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
const refreshRoute = (0, _hono_zod_openapi.createRoute)({
|
|
79
|
+
method: "post",
|
|
80
|
+
path: "/refresh",
|
|
81
|
+
tags,
|
|
82
|
+
summary: "Renovar access token vía refresh token en cookie",
|
|
83
|
+
responses: {
|
|
84
|
+
200: {
|
|
85
|
+
description: "Tokens renovados",
|
|
86
|
+
content: { "application/json": { schema: require_auth_handlers.RefreshResponseSchema } }
|
|
87
|
+
},
|
|
88
|
+
401: {
|
|
89
|
+
description: "Refresh token ausente o inválido",
|
|
90
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
const logoutRoute = (0, _hono_zod_openapi.createRoute)({
|
|
95
|
+
method: "post",
|
|
96
|
+
path: "/logout",
|
|
97
|
+
tags,
|
|
98
|
+
summary: "Cerrar sesión y limpiar cookies",
|
|
99
|
+
responses: {
|
|
100
|
+
200: {
|
|
101
|
+
description: "Logout exitoso",
|
|
102
|
+
content: { "application/json": { schema: zod.z.object({ data: zod.z.unknown() }) } }
|
|
103
|
+
},
|
|
104
|
+
401: {
|
|
105
|
+
description: "Refresh token ausente",
|
|
106
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
const getMeRoute = (0, _hono_zod_openapi.createRoute)({
|
|
111
|
+
method: "get",
|
|
112
|
+
path: "/me",
|
|
113
|
+
tags,
|
|
114
|
+
summary: "Obtener datos del usuario autenticado",
|
|
115
|
+
responses: {
|
|
116
|
+
200: {
|
|
117
|
+
description: "Usuario",
|
|
118
|
+
content: { "application/json": { schema: zod.z.object({ data: zod.z.unknown() }) } }
|
|
119
|
+
},
|
|
120
|
+
401: {
|
|
121
|
+
description: "Access token ausente",
|
|
122
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
const updateMeRoute = (0, _hono_zod_openapi.createRoute)({
|
|
127
|
+
method: "patch",
|
|
128
|
+
path: "/me",
|
|
129
|
+
tags,
|
|
130
|
+
summary: "Actualizar datos del usuario autenticado",
|
|
131
|
+
request: { body: {
|
|
132
|
+
content: { "application/json": { schema: require_auth_handlers.UpdateUserSchema } },
|
|
133
|
+
required: true
|
|
134
|
+
} },
|
|
135
|
+
responses: {
|
|
136
|
+
200: {
|
|
137
|
+
description: "Usuario actualizado",
|
|
138
|
+
content: { "application/json": { schema: zod.z.object({ data: zod.z.unknown() }) } }
|
|
139
|
+
},
|
|
140
|
+
400: {
|
|
141
|
+
description: "Body inválido",
|
|
142
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
143
|
+
},
|
|
144
|
+
401: {
|
|
145
|
+
description: "Access token ausente",
|
|
146
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
const deleteMeRoute = (0, _hono_zod_openapi.createRoute)({
|
|
151
|
+
method: "delete",
|
|
152
|
+
path: "/me",
|
|
153
|
+
tags,
|
|
154
|
+
summary: "Eliminar cuenta del usuario autenticado",
|
|
155
|
+
responses: {
|
|
156
|
+
200: {
|
|
157
|
+
description: "Cuenta eliminada",
|
|
158
|
+
content: { "application/json": { schema: zod.z.object({ data: zod.z.unknown() }) } }
|
|
159
|
+
},
|
|
160
|
+
401: {
|
|
161
|
+
description: "Access token ausente",
|
|
162
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
const getEmpresasRoute = (0, _hono_zod_openapi.createRoute)({
|
|
167
|
+
method: "get",
|
|
168
|
+
path: "/empresas",
|
|
169
|
+
tags,
|
|
170
|
+
summary: "Listar empresas del usuario autenticado",
|
|
171
|
+
responses: {
|
|
172
|
+
200: {
|
|
173
|
+
description: "Lista de empresas",
|
|
174
|
+
content: { "application/json": { schema: zod.z.object({ data: zod.z.unknown() }) } }
|
|
175
|
+
},
|
|
176
|
+
401: {
|
|
177
|
+
description: "Access token ausente",
|
|
178
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
const setActiveEmpresaRoute = (0, _hono_zod_openapi.createRoute)({
|
|
183
|
+
method: "post",
|
|
184
|
+
path: "/empresa-activa",
|
|
185
|
+
tags,
|
|
186
|
+
summary: "Cambiar la empresa activa de la sesión",
|
|
187
|
+
request: { body: {
|
|
188
|
+
content: { "application/json": { schema: require_auth_handlers.ActiveEmpresaSchema } },
|
|
189
|
+
required: true
|
|
190
|
+
} },
|
|
191
|
+
responses: {
|
|
192
|
+
200: {
|
|
193
|
+
description: "Empresa activa cambiada — access token nuevo seteado en su cookie (el refresh no rota)",
|
|
194
|
+
content: { "application/json": { schema: zod.z.object({ data: zod.z.unknown() }) } }
|
|
195
|
+
},
|
|
196
|
+
400: {
|
|
197
|
+
description: "Body inválido",
|
|
198
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
199
|
+
},
|
|
200
|
+
401: {
|
|
201
|
+
description: "Access token ausente o inválido",
|
|
202
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
203
|
+
},
|
|
204
|
+
403: {
|
|
205
|
+
description: "La persona no pertenece a la empresa, o el Origin no está permitido",
|
|
206
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
207
|
+
},
|
|
208
|
+
429: {
|
|
209
|
+
description: "Auth limitó los pedidos",
|
|
210
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
211
|
+
},
|
|
212
|
+
502: {
|
|
213
|
+
description: "Auth respondió 200 sin reemitir el access token",
|
|
214
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
215
|
+
},
|
|
216
|
+
503: {
|
|
217
|
+
description: "Auth no disponible",
|
|
218
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
const getSessionsRoute = (0, _hono_zod_openapi.createRoute)({
|
|
223
|
+
method: "get",
|
|
224
|
+
path: "/sessions",
|
|
225
|
+
tags,
|
|
226
|
+
summary: "Listar sesiones activas del usuario",
|
|
227
|
+
responses: {
|
|
228
|
+
200: {
|
|
229
|
+
description: "Lista de sesiones",
|
|
230
|
+
content: { "application/json": { schema: zod.z.object({ data: zod.z.unknown() }) } }
|
|
231
|
+
},
|
|
232
|
+
401: {
|
|
233
|
+
description: "Access token ausente",
|
|
234
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
const deleteSessionRoute = (0, _hono_zod_openapi.createRoute)({
|
|
239
|
+
method: "delete",
|
|
240
|
+
path: "/sessions/{id}",
|
|
241
|
+
tags,
|
|
242
|
+
summary: "Cerrar una sesión específica por ID",
|
|
243
|
+
responses: {
|
|
244
|
+
200: {
|
|
245
|
+
description: "Sesión cerrada",
|
|
246
|
+
content: { "application/json": { schema: zod.z.object({ data: zod.z.unknown() }) } }
|
|
247
|
+
},
|
|
248
|
+
400: {
|
|
249
|
+
description: "ID de sesión inválido",
|
|
250
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
251
|
+
},
|
|
252
|
+
401: {
|
|
253
|
+
description: "Access token ausente",
|
|
254
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
const deleteAllSessionsRoute = (0, _hono_zod_openapi.createRoute)({
|
|
259
|
+
method: "delete",
|
|
260
|
+
path: "/sessions",
|
|
261
|
+
tags,
|
|
262
|
+
summary: "Cerrar todas las sesiones activas",
|
|
263
|
+
responses: {
|
|
264
|
+
200: {
|
|
265
|
+
description: "Todas las sesiones cerradas",
|
|
266
|
+
content: { "application/json": { schema: zod.z.object({ data: zod.z.unknown() }) } }
|
|
267
|
+
},
|
|
268
|
+
401: {
|
|
269
|
+
description: "Refresh token ausente",
|
|
270
|
+
content: { "application/json": { schema: require_auth_handlers.ErrorResponseSchema } }
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
/**
|
|
275
|
+
* Retorna una instancia `OpenAPIHono` con los 12 endpoints de auth declarados
|
|
276
|
+
* con schemas Zod 4 para generación automática de documentación OpenAPI 3.1.
|
|
277
|
+
*
|
|
278
|
+
* ⚠ IMPORTANTE: montar en un parent `OpenAPIHono` (no `Hono` plano).
|
|
279
|
+
* Si el parent es `new Hono()`, los paths NO aparecerán en el documento `/doc`.
|
|
280
|
+
* Ver honojs/middleware#952 y docs/configuration.md sección "Variante OpenAPI".
|
|
281
|
+
*/
|
|
282
|
+
function evaAuthOpenAPIRoutes(opts = {}) {
|
|
283
|
+
const h = require_auth_handlers.buildAuthHandlers(opts);
|
|
284
|
+
const { getCode: getCodeGuard, login: loginGuard } = h.openApiGuards;
|
|
285
|
+
const sdkGuards = /* @__PURE__ */ new WeakMap();
|
|
286
|
+
const app = new _hono_zod_openapi.OpenAPIHono({ defaultHook: (result, c) => sdkGuards.get(c)?.onInvalid(result, c) });
|
|
287
|
+
app.use("*", h.originGuard);
|
|
288
|
+
for (const [path, guard] of [["/get-code", getCodeGuard], ["/login", loginGuard]]) app.on("POST", path, (c, next) => {
|
|
289
|
+
sdkGuards.set(c, guard);
|
|
290
|
+
return guard.middleware(c, next);
|
|
291
|
+
});
|
|
292
|
+
app.openapi(getCodeRoute, h.getCode);
|
|
293
|
+
app.openapi(loginRoute, h.login);
|
|
294
|
+
app.openapi(refreshRoute, h.refresh);
|
|
295
|
+
app.openapi(logoutRoute, h.logout);
|
|
296
|
+
app.openapi(getMeRoute, h.getMe);
|
|
297
|
+
app.openapi(updateMeRoute, h.updateMe);
|
|
298
|
+
app.openapi(deleteMeRoute, h.deleteMe);
|
|
299
|
+
app.openapi(getEmpresasRoute, h.getEmpresas);
|
|
300
|
+
app.openapi(setActiveEmpresaRoute, h.setActiveEmpresa);
|
|
301
|
+
app.openapi(getSessionsRoute, h.getSessions);
|
|
302
|
+
app.openapi(deleteSessionRoute, h.deleteSession);
|
|
303
|
+
app.openapi(deleteAllSessionsRoute, h.deleteAllSessions);
|
|
304
|
+
return app;
|
|
305
|
+
}
|
|
306
|
+
Object.defineProperty(exports, "OpenAPIHono", {
|
|
307
|
+
enumerable: true,
|
|
308
|
+
get: function() {
|
|
309
|
+
return _hono_zod_openapi.OpenAPIHono;
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
Object.defineProperty(exports, "createRoute", {
|
|
313
|
+
enumerable: true,
|
|
314
|
+
get: function() {
|
|
315
|
+
return _hono_zod_openapi.createRoute;
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
Object.defineProperty(exports, "defineOpenAPIRoute", {
|
|
319
|
+
enumerable: true,
|
|
320
|
+
get: function() {
|
|
321
|
+
return _hono_zod_openapi.defineOpenAPIRoute;
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
exports.evaAuthOpenAPIRoutes = evaAuthOpenAPIRoutes;
|
|
325
|
+
|
|
326
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["createRoute","GetCodeSchema","GetCodeResponseSchema","ErrorResponseSchema","LoginSchema","LoginResponseSchema","RefreshResponseSchema","z","UpdateUserSchema","ActiveEmpresaSchema","buildAuthHandlers","OpenAPIHono"],"sources":["../../src/hono-openapi/index.ts"],"sourcesContent":["/**\n * Variante OpenAPIHono del SDK — entry point `@eva_solutions/auth-sdk/hono-openapi`.\n *\n * Decisión B3 (ADR-012): usa `createRoute` + `app.openapi(route, handler)`.\n * `defineOpenAPIRoute` es para el método `openapiRoutes` (array API) — se eligió\n * `createRoute` como API primaria por compatibilidad con el factory pattern.\n * Los handlers del factory son compatibles con `RouteHandler<R>` cuando se castea\n * via `as RouteHandler<typeof route>` (no `as never` — type assertion específica).\n * Decisión B1 (ADR-012): schemas importados desde src/schemas.ts (canónico — T-00 validó).\n * Decisión CE1 (ADR-012): requiere parent OpenAPIHono (no Hono plano) — ver warning.\n *\n * RISK-04 (T-034): ErrorResponseSchema siempre documenta el shape 'api'\n * `{ error: { code: string, message: string } }` independientemente del errorWire\n * configurado en runtime. En wire='sdk' el runtime devuelve el mismo shape — es correcto.\n * El errorWire controla el código de error (EvaApiError vs EvaSdkError), pero el shape\n * del wire HTTP es siempre `{ error: { code, message } }` en ambos casos.\n *\n * @example\n * ```ts\n * import { OpenAPIHono } from '@hono/zod-openapi'\n * import { evaAuthOpenAPIRoutes } from '@eva_solutions/auth-sdk/hono-openapi'\n *\n * const app = new OpenAPIHono() // ← CRÍTICO: OpenAPIHono, no Hono\n * app.route('/auth', evaAuthOpenAPIRoutes())\n * app.doc('/doc', { openapi: '3.1.0', info: { title: 'API', version: '1.0' } })\n * ```\n */\nimport { OpenAPIHono, createRoute } from '@hono/zod-openapi'\nimport { z } from 'zod'\nimport type { RouteHandler } from '@hono/zod-openapi'\nimport type { Context } from 'hono'\nimport {\n buildAuthHandlers,\n type AuthHandlerOptions,\n type OpenAPIBodyGuard,\n} from '../auth-handlers'\nimport {\n ActiveEmpresaSchema,\n GetCodeSchema,\n GetCodeResponseSchema,\n LoginSchema,\n UpdateUserSchema,\n ErrorResponseSchema,\n LoginResponseSchema,\n RefreshResponseSchema,\n} from '../schemas'\n\nexport type EvaAuthOpenAPIRoutesOptions = AuthHandlerOptions\n\nconst tags = ['Auth']\n\n// === Route definitions (createRoute — forma canónica de @hono/zod-openapi) ===\n\nconst getCodeRoute = createRoute({\n method: 'post',\n path: '/get-code',\n tags,\n summary: 'Solicitar código de verificación',\n request: {\n body: {\n content: { 'application/json': { schema: GetCodeSchema } },\n required: true,\n },\n },\n responses: {\n 200: {\n description:\n 'Código enviado al teléfono; incluye el challengeId del desafío',\n content: { 'application/json': { schema: GetCodeResponseSchema } },\n },\n 400: {\n description: 'Teléfono inválido o JSON malformado',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst loginRoute = createRoute({\n method: 'post',\n path: '/login',\n tags,\n summary: 'Autenticarse con teléfono y código',\n request: {\n body: {\n content: { 'application/json': { schema: LoginSchema } },\n required: true,\n },\n },\n responses: {\n 200: {\n description: 'Login exitoso — tokens seteados en cookies',\n content: { 'application/json': { schema: LoginResponseSchema } },\n },\n 400: {\n description: 'Credenciales inválidas o JSON malformado',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n 401: {\n description: 'No autorizado',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst refreshRoute = createRoute({\n method: 'post',\n path: '/refresh',\n tags,\n summary: 'Renovar access token vía refresh token en cookie',\n responses: {\n 200: {\n description: 'Tokens renovados',\n content: { 'application/json': { schema: RefreshResponseSchema } },\n },\n 401: {\n description: 'Refresh token ausente o inválido',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst logoutRoute = createRoute({\n method: 'post',\n path: '/logout',\n tags,\n summary: 'Cerrar sesión y limpiar cookies',\n responses: {\n 200: {\n description: 'Logout exitoso',\n content: {\n 'application/json': { schema: z.object({ data: z.unknown() }) },\n },\n },\n 401: {\n description: 'Refresh token ausente',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst getMeRoute = createRoute({\n method: 'get',\n path: '/me',\n tags,\n summary: 'Obtener datos del usuario autenticado',\n responses: {\n 200: {\n description: 'Usuario',\n content: {\n 'application/json': { schema: z.object({ data: z.unknown() }) },\n },\n },\n 401: {\n description: 'Access token ausente',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst updateMeRoute = createRoute({\n method: 'patch',\n path: '/me',\n tags,\n summary: 'Actualizar datos del usuario autenticado',\n request: {\n body: {\n content: { 'application/json': { schema: UpdateUserSchema } },\n required: true,\n },\n },\n responses: {\n 200: {\n description: 'Usuario actualizado',\n content: {\n 'application/json': { schema: z.object({ data: z.unknown() }) },\n },\n },\n 400: {\n description: 'Body inválido',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n 401: {\n description: 'Access token ausente',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst deleteMeRoute = createRoute({\n method: 'delete',\n path: '/me',\n tags,\n summary: 'Eliminar cuenta del usuario autenticado',\n responses: {\n 200: {\n description: 'Cuenta eliminada',\n content: {\n 'application/json': { schema: z.object({ data: z.unknown() }) },\n },\n },\n 401: {\n description: 'Access token ausente',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst getEmpresasRoute = createRoute({\n method: 'get',\n path: '/empresas',\n tags,\n summary: 'Listar empresas del usuario autenticado',\n responses: {\n 200: {\n description: 'Lista de empresas',\n content: {\n 'application/json': { schema: z.object({ data: z.unknown() }) },\n },\n },\n 401: {\n description: 'Access token ausente',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst setActiveEmpresaRoute = createRoute({\n method: 'post',\n path: '/empresa-activa',\n tags,\n summary: 'Cambiar la empresa activa de la sesión',\n request: {\n body: {\n content: { 'application/json': { schema: ActiveEmpresaSchema } },\n required: true,\n },\n },\n responses: {\n 200: {\n description:\n 'Empresa activa cambiada — access token nuevo seteado en su cookie (el refresh no rota)',\n content: {\n 'application/json': { schema: z.object({ data: z.unknown() }) },\n },\n },\n 400: {\n description: 'Body inválido',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n 401: {\n description: 'Access token ausente o inválido',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n 403: {\n description:\n 'La persona no pertenece a la empresa, o el Origin no está permitido',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n 429: {\n description: 'Auth limitó los pedidos',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n 502: {\n description: 'Auth respondió 200 sin reemitir el access token',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n 503: {\n description: 'Auth no disponible',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst getSessionsRoute = createRoute({\n method: 'get',\n path: '/sessions',\n tags,\n summary: 'Listar sesiones activas del usuario',\n responses: {\n 200: {\n description: 'Lista de sesiones',\n content: {\n 'application/json': { schema: z.object({ data: z.unknown() }) },\n },\n },\n 401: {\n description: 'Access token ausente',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst deleteSessionRoute = createRoute({\n method: 'delete',\n path: '/sessions/{id}',\n tags,\n summary: 'Cerrar una sesión específica por ID',\n responses: {\n 200: {\n description: 'Sesión cerrada',\n content: {\n 'application/json': { schema: z.object({ data: z.unknown() }) },\n },\n },\n 400: {\n description: 'ID de sesión inválido',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n 401: {\n description: 'Access token ausente',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\nconst deleteAllSessionsRoute = createRoute({\n method: 'delete',\n path: '/sessions',\n tags,\n summary: 'Cerrar todas las sesiones activas',\n responses: {\n 200: {\n description: 'Todas las sesiones cerradas',\n content: {\n 'application/json': { schema: z.object({ data: z.unknown() }) },\n },\n },\n 401: {\n description: 'Refresh token ausente',\n content: { 'application/json': { schema: ErrorResponseSchema } },\n },\n },\n})\n\n// === Factory ===\n\n/**\n * Retorna una instancia `OpenAPIHono` con los 12 endpoints de auth declarados\n * con schemas Zod 4 para generación automática de documentación OpenAPI 3.1.\n *\n * ⚠ IMPORTANTE: montar en un parent `OpenAPIHono` (no `Hono` plano).\n * Si el parent es `new Hono()`, los paths NO aparecerán en el documento `/doc`.\n * Ver honojs/middleware#952 y docs/configuration.md sección \"Variante OpenAPI\".\n */\nexport function evaAuthOpenAPIRoutes(\n opts: EvaAuthOpenAPIRoutesOptions = {},\n): OpenAPIHono {\n const h = buildAuthHandlers(opts)\n const { getCode: getCodeGuard, login: loginGuard } = h.openApiGuards\n // Hook del validador solo para get-code/login del SDK: sus 400 salen en el wire de la\n // variante plana en vez del ZodError. El resto de las rutas conserva el default.\n // Las rutas del SDK se identifican por haber pasado por su guarda (registrada con el\n // path exacto relativo a esta sub-app), no por el sufijo del path completo: así una\n // ruta propia del consumidor (/admin/login, /sms/get-code) no hereda los mensajes\n // y el prefijo de montaje (/auth, basePath, raíz, strict:false) es irrelevante.\n const sdkGuards = new WeakMap<Context, OpenAPIBodyGuard>()\n const app = new OpenAPIHono({\n defaultHook: (result, c) => sdkGuards.get(c)?.onInvalid(result, c),\n })\n\n // CSRF por Origin: antes que cualquier otra guarda o validador.\n app.use('*', h.originGuard)\n\n // get-code/login: el validador del body responde el 400 antes que el handler;\n // la guarda aporta no-store y el JSON malformado en el wire de la variante plana.\n for (const [path, guard] of [\n ['/get-code', getCodeGuard],\n ['/login', loginGuard],\n ] as const) {\n app.on('POST', path, (c, next) => {\n sdkGuards.set(c, guard)\n return guard.middleware(c, next)\n })\n }\n\n // Los handlers del factory retornan Promise<Response> — compatible en runtime con\n // RouteHandler<R>, pero TS no puede reconciliar el union type RouteConfigToTypedResponse.\n // Se usa double assertion (as unknown as RouteHandler<R>) documentada en ADR-012:\n // es una type assertion específica (no as never — mantiene el tipo target concreto).\n // Justificación: el factory pattern compartido entre variante plana y OpenAPI requiere\n // handlers genéricos; la inference TS no atraviesa el indirection del factory.\n app.openapi(\n getCodeRoute,\n h.getCode as unknown as RouteHandler<typeof getCodeRoute>,\n )\n app.openapi(loginRoute, h.login as unknown as RouteHandler<typeof loginRoute>)\n app.openapi(\n refreshRoute,\n h.refresh as unknown as RouteHandler<typeof refreshRoute>,\n )\n app.openapi(\n logoutRoute,\n h.logout as unknown as RouteHandler<typeof logoutRoute>,\n )\n app.openapi(getMeRoute, h.getMe as unknown as RouteHandler<typeof getMeRoute>)\n app.openapi(\n updateMeRoute,\n h.updateMe as unknown as RouteHandler<typeof updateMeRoute>,\n )\n app.openapi(\n deleteMeRoute,\n h.deleteMe as unknown as RouteHandler<typeof deleteMeRoute>,\n )\n app.openapi(\n getEmpresasRoute,\n h.getEmpresas as unknown as RouteHandler<typeof getEmpresasRoute>,\n )\n app.openapi(\n setActiveEmpresaRoute,\n h.setActiveEmpresa as unknown as RouteHandler<typeof setActiveEmpresaRoute>,\n )\n app.openapi(\n getSessionsRoute,\n h.getSessions as unknown as RouteHandler<typeof getSessionsRoute>,\n )\n app.openapi(\n deleteSessionRoute,\n h.deleteSession as unknown as RouteHandler<typeof deleteSessionRoute>,\n )\n app.openapi(\n deleteAllSessionsRoute,\n h.deleteAllSessions as unknown as RouteHandler<\n typeof deleteAllSessionsRoute\n >,\n )\n\n return app\n}\n\n// Re-exports de conveniencia\nexport { OpenAPIHono, createRoute, defineOpenAPIRoute } from '@hono/zod-openapi'\n"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { t as AuthHandlerOptions } from "../auth-handlers-DRUUTEtW.cjs";
|
|
2
|
+
import { OpenAPIHono, OpenAPIHono as OpenAPIHono$1, createRoute, defineOpenAPIRoute } from "@hono/zod-openapi";
|
|
3
|
+
type EvaAuthOpenAPIRoutesOptions = AuthHandlerOptions;
|
|
4
|
+
/**
|
|
5
|
+
* Retorna una instancia `OpenAPIHono` con los 12 endpoints de auth declarados
|
|
6
|
+
* con schemas Zod 4 para generación automática de documentación OpenAPI 3.1.
|
|
7
|
+
*
|
|
8
|
+
* ⚠ IMPORTANTE: montar en un parent `OpenAPIHono` (no `Hono` plano).
|
|
9
|
+
* Si el parent es `new Hono()`, los paths NO aparecerán en el documento `/doc`.
|
|
10
|
+
* Ver honojs/middleware#952 y docs/configuration.md sección "Variante OpenAPI".
|
|
11
|
+
*/
|
|
12
|
+
declare function evaAuthOpenAPIRoutes(opts?: EvaAuthOpenAPIRoutesOptions): OpenAPIHono$1;
|
|
13
|
+
export { EvaAuthOpenAPIRoutesOptions, OpenAPIHono, createRoute, defineOpenAPIRoute, evaAuthOpenAPIRoutes };
|
|
14
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":["OpenAPIHono"],"sources":["../../src/hono-openapi/index.ts"],"mappings":";;KA+CY,8BAA8B;;;;;;;;;iBAyS1B,qBACd,OAAM,8BACLA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { t as AuthHandlerOptions } from "../auth-handlers-BTbXKJms.js";
|
|
2
|
+
import { OpenAPIHono, OpenAPIHono as OpenAPIHono$1, createRoute, defineOpenAPIRoute } from "@hono/zod-openapi";
|
|
3
|
+
type EvaAuthOpenAPIRoutesOptions = AuthHandlerOptions;
|
|
4
|
+
/**
|
|
5
|
+
* Retorna una instancia `OpenAPIHono` con los 12 endpoints de auth declarados
|
|
6
|
+
* con schemas Zod 4 para generación automática de documentación OpenAPI 3.1.
|
|
7
|
+
*
|
|
8
|
+
* ⚠ IMPORTANTE: montar en un parent `OpenAPIHono` (no `Hono` plano).
|
|
9
|
+
* Si el parent es `new Hono()`, los paths NO aparecerán en el documento `/doc`.
|
|
10
|
+
* Ver honojs/middleware#952 y docs/configuration.md sección "Variante OpenAPI".
|
|
11
|
+
*/
|
|
12
|
+
declare function evaAuthOpenAPIRoutes(opts?: EvaAuthOpenAPIRoutesOptions): OpenAPIHono$1;
|
|
13
|
+
export { EvaAuthOpenAPIRoutesOptions, OpenAPIHono, createRoute, defineOpenAPIRoute, evaAuthOpenAPIRoutes };
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["OpenAPIHono"],"sources":["../../src/hono-openapi/index.ts"],"mappings":";;KA+CY,8BAA8B;;;;;;;;;iBAyS1B,qBACd,OAAM,8BACLA"}
|