mirror of
https://github.com/nicotsx/zerobyte.git
synced 2026-07-30 17:46:14 -04:00
refactor: skip auth for api docs in development
This commit is contained in:
@@ -8,7 +8,7 @@ import { rateLimiter } from "hono-rate-limiter";
|
||||
import { openAPIRouteHandler } from "hono-openapi";
|
||||
import { authController } from "./modules/auth/auth.controller";
|
||||
import { ssoController } from "./modules/sso/sso.controller";
|
||||
import { requireAuth } from "./modules/auth/auth.middleware";
|
||||
import { conditionalRequireAuth } from "./modules/auth/auth.middleware";
|
||||
import { repositoriesController } from "./modules/repositories/repositories.controller";
|
||||
import { systemController } from "./modules/system/system.controller";
|
||||
import { volumeController } from "./modules/volumes/volume.controller";
|
||||
@@ -124,8 +124,8 @@ export const createApp = () => {
|
||||
|
||||
return auth.handler(c.req.raw);
|
||||
});
|
||||
app.get("/api/v1/openapi.json", generalDescriptor(app));
|
||||
app.get("/api/v1/docs", requireAuth, scalarDescriptor);
|
||||
app.get("/api/v1/openapi.json", conditionalRequireAuth(config.__prod__), generalDescriptor(app));
|
||||
app.get("/api/v1/docs", conditionalRequireAuth(config.__prod__), scalarDescriptor);
|
||||
|
||||
app.onError((err, c) => {
|
||||
const { status, message, details } = handleServiceError(err);
|
||||
|
||||
@@ -25,6 +25,15 @@ declare module "hono" {
|
||||
}
|
||||
}
|
||||
|
||||
export const conditionalRequireAuth = (shouldRequireAuth: boolean) =>
|
||||
createMiddleware(async (c, next) => {
|
||||
if (shouldRequireAuth) {
|
||||
await requireAuth(c, next);
|
||||
}
|
||||
|
||||
await next();
|
||||
});
|
||||
|
||||
/**
|
||||
* Middleware to require authentication
|
||||
* Verifies the session cookie and attaches user to context
|
||||
|
||||
Reference in New Issue
Block a user