|
@@ -1,11 +1,14 @@
|
|
|
import { OpenAPIHono } from '@hono/zod-openapi'
|
|
import { OpenAPIHono } from '@hono/zod-openapi'
|
|
|
|
|
+import { swaggerUI } from '@hono/swagger-ui'
|
|
|
import { errorHandler } from './utils/errorHandler'
|
|
import { errorHandler } from './utils/errorHandler'
|
|
|
import usersRouter from './api/users/index'
|
|
import usersRouter from './api/users/index'
|
|
|
import authRoute from './api/auth/index'
|
|
import authRoute from './api/auth/index'
|
|
|
import rolesRoute from './api/roles/index'
|
|
import rolesRoute from './api/roles/index'
|
|
|
import { AuthContext } from './types/context'
|
|
import { AuthContext } from './types/context'
|
|
|
import { AppDataSource } from './data-source'
|
|
import { AppDataSource } from './data-source'
|
|
|
|
|
+import { Hono } from 'hono'
|
|
|
|
|
|
|
|
|
|
+const app = new Hono();
|
|
|
const api = new OpenAPIHono<AuthContext>()
|
|
const api = new OpenAPIHono<AuthContext>()
|
|
|
|
|
|
|
|
api.onError(errorHandler)
|
|
api.onError(errorHandler)
|
|
@@ -46,6 +49,27 @@ if(!import.meta.env.PROD){
|
|
|
}]
|
|
}]
|
|
|
// servers: [{ url: '/api/v1' }]
|
|
// servers: [{ url: '/api/v1' }]
|
|
|
})
|
|
})
|
|
|
|
|
+
|
|
|
|
|
+ app.get('/ui', swaggerUI({
|
|
|
|
|
+ url: '/doc',
|
|
|
|
|
+ persistAuthorization: true,
|
|
|
|
|
+ manuallySwaggerUIHtml: (asset) => `
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div id="swagger-ui"></div>
|
|
|
|
|
+ <link rel="stylesheet" href="https://ai-oss.d8d.fun/swagger-ui-dist/swagger-ui.css" />
|
|
|
|
|
+ <script src="https://ai-oss.d8d.fun/swagger-ui-dist/swagger-ui-bundle.js" crossorigin="anonymous"></script>
|
|
|
|
|
+ <script>
|
|
|
|
|
+ window.onload = () => {
|
|
|
|
|
+ window.ui = SwaggerUIBundle({
|
|
|
|
|
+ dom_id: '#swagger-ui',
|
|
|
|
|
+ url: '/doc',
|
|
|
|
|
+ persistAuthorization: true
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ </script>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ `
|
|
|
|
|
+ }))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -58,4 +82,5 @@ export type AuthRoutes = typeof authRoutes
|
|
|
export type UserRoutes = typeof userRoutes
|
|
export type UserRoutes = typeof userRoutes
|
|
|
export type RoleRoutes = typeof roleRoutes
|
|
export type RoleRoutes = typeof roleRoutes
|
|
|
|
|
|
|
|
-export default api
|
|
|
|
|
|
|
+app.route('/', api)
|
|
|
|
|
+export default app
|