create auth middleware
This commit is contained in:
16
src/middleware/auth/authenticated.middleware.ts
Normal file
16
src/middleware/auth/authenticated.middleware.ts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import { Context } from "elysia";
|
||||||
|
import { getCookie } from "../../helpers/http/userHeader/cookies/getCookies";
|
||||||
|
import { returnErrorResponse } from "../../helpers/callback/httpResponse";
|
||||||
|
import { mainErrorHandler } from "../../helpers/error/handler";
|
||||||
|
|
||||||
|
export const authMiddleware = (ctx: Context) => {
|
||||||
|
try {
|
||||||
|
const cookie = getCookie(ctx);
|
||||||
|
if (!cookie.auth_token)
|
||||||
|
return returnErrorResponse(ctx.set, 401, "User Unauthorized");
|
||||||
|
|
||||||
|
// pass
|
||||||
|
} catch (error) {
|
||||||
|
return mainErrorHandler(ctx.set, error);
|
||||||
|
}
|
||||||
|
};
|
||||||
15
src/middleware/auth/unauthenticated.middleware.ts
Normal file
15
src/middleware/auth/unauthenticated.middleware.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { Context } from "elysia";
|
||||||
|
import { getCookie } from "../../helpers/http/userHeader/cookies/getCookies";
|
||||||
|
import { returnErrorResponse } from "../../helpers/callback/httpResponse";
|
||||||
|
|
||||||
|
export const unautenticatedMiddleware = (ctx: Context) => {
|
||||||
|
try {
|
||||||
|
const cookies = getCookie(ctx);
|
||||||
|
if (cookies.auth_token)
|
||||||
|
return returnErrorResponse(ctx.set, 403, "User already aunthenticated");
|
||||||
|
|
||||||
|
// pass
|
||||||
|
} catch (error) {
|
||||||
|
// pass
|
||||||
|
}
|
||||||
|
};
|
||||||
0
src/middleware/userRoles/onlyAdmin.middleware.ts
Normal file
0
src/middleware/userRoles/onlyAdmin.middleware.ts
Normal file
@ -1,6 +1,9 @@
|
|||||||
import Elysia from "elysia";
|
import Elysia from "elysia";
|
||||||
import { createUserRole } from "./controller/createUserRole.controller";
|
import { createUserRole } from "./controller/createUserRole.controller";
|
||||||
|
import { unautenticatedMiddleware } from "../../middleware/auth/unauthenticated.middleware";
|
||||||
|
|
||||||
export const userRoleModule = new Elysia({ prefix: "/roles" })
|
export const userRoleModule = new Elysia({ prefix: "/roles" })
|
||||||
.get("/", () => "Hello User Role Module")
|
.get("/", () => "Hello User Role Module", {
|
||||||
|
beforeHandle: unautenticatedMiddleware,
|
||||||
|
})
|
||||||
.post("/", createUserRole);
|
.post("/", createUserRole);
|
||||||
|
|||||||
Reference in New Issue
Block a user