📝 docs: add OpenAPI for API documentation
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/no-require-imports */
|
||||
|
||||
import openapi from "@elysiajs/openapi";
|
||||
import { middleware } from "./middleware";
|
||||
import { validateEnv } from "./utils/startups/validateEnv";
|
||||
|
||||
@ -17,6 +18,7 @@ async function bootstrap() {
|
||||
new Elysia()
|
||||
.use(middleware)
|
||||
.use(routes)
|
||||
.use(openapi())
|
||||
.listen(process.env.APP_PORT || 3000);
|
||||
|
||||
console.log(
|
||||
|
||||
@ -3,14 +3,16 @@ import { returnErrorResponse } from "../../helpers/callback/httpResponse";
|
||||
|
||||
export const appAccessTokenMiddleware = () =>
|
||||
new Elysia().onRequest(({ request, set }) => {
|
||||
const headerToken = request.headers.get("authorization");
|
||||
if (!headerToken) return returnErrorResponse(set, 401, "Unauthorized");
|
||||
if (process.env.APP_ENV !== "development") {
|
||||
const headerToken = request.headers.get("authorization");
|
||||
if (!headerToken) return returnErrorResponse(set, 401, "Unauthorized");
|
||||
|
||||
const storedToken = process.env.API_KEY;
|
||||
const [scheme, token] = headerToken.split(" ");
|
||||
const storedToken = process.env.API_KEY;
|
||||
const [scheme, token] = headerToken.split(" ");
|
||||
|
||||
if (scheme !== "Bearer" || !token)
|
||||
return returnErrorResponse(set, 401, "Invalid auth format");
|
||||
if (token !== storedToken)
|
||||
return returnErrorResponse(set, 403, "Forbidden");
|
||||
if (scheme !== "Bearer" || !token)
|
||||
return returnErrorResponse(set, 401, "Invalid auth format");
|
||||
if (token !== storedToken)
|
||||
return returnErrorResponse(set, 403, "Forbidden");
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
import { AppError } from "../../../helpers/error/instances/app";
|
||||
import { ErrorForwarder } from "../../../helpers/error/instances/forwarder";
|
||||
import { findSystemPreferenceService } from "../../systemPreference/services/internal/findSystemPreference.service";
|
||||
import { findAllActiveHeroBannerRepository } from "../repositories/GET/findAllActiveHeroBanner.repository";
|
||||
|
||||
export const getActiveHeroBannerService = async () => {
|
||||
try {
|
||||
const isHeroBannerEnabled = await findSystemPreferenceService(
|
||||
"HERO_BANNER_ENABLED",
|
||||
"boolean",
|
||||
);
|
||||
if (!isHeroBannerEnabled)
|
||||
throw new AppError(403, "Hero Banner is disabled");
|
||||
|
||||
return await findAllActiveHeroBannerRepository();
|
||||
} catch (error) {
|
||||
ErrorForwarder(error);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user