From 71d1d539fc1b41c44d3bd62157f7491e26dc1e6c Mon Sep 17 00:00:00 2001 From: sianida26 Date: Mon, 6 May 2024 22:16:22 +0700 Subject: [PATCH] Move hono env to separate type --- apps/backend/src/index.ts | 7 ++----- apps/backend/src/routes/auth/route.ts | 4 ++-- apps/backend/src/routes/dashboard/routes.ts | 4 ++-- apps/backend/src/routes/users/route.ts | 4 ++-- apps/backend/src/types/HonoEnv.d.ts | 7 +++++++ 5 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 apps/backend/src/types/HonoEnv.d.ts diff --git a/apps/backend/src/index.ts b/apps/backend/src/index.ts index 23e9d5f..9ad18d7 100644 --- a/apps/backend/src/index.ts +++ b/apps/backend/src/index.ts @@ -12,14 +12,11 @@ import dashboardRoutes from "./routes/dashboard/routes"; import rolesRoute from "./routes/roles/route"; import { logger } from "hono/logger"; import DashboardError from "./errors/DashboardError"; +import HonoEnv from "./types/HonoEnv"; configDotenv(); -export type HonoVariables = { - uid?: string; -}; - -const app = new Hono<{ Variables: HonoVariables }>(); +const app = new Hono(); const routes = app .use(logger()) diff --git a/apps/backend/src/routes/auth/route.ts b/apps/backend/src/routes/auth/route.ts index 10d0ca9..fff1d06 100644 --- a/apps/backend/src/routes/auth/route.ts +++ b/apps/backend/src/routes/auth/route.ts @@ -4,7 +4,6 @@ import { Hono } from "hono"; import { deleteCookie } from "hono/cookie"; import { HTTPException } from "hono/http-exception"; import { z } from "zod"; -import { HonoVariables } from "../.."; import db from "../../drizzle"; import { users } from "../../drizzle/schema/users"; import { checkPassword } from "../../utils/passwordUtils"; @@ -15,8 +14,9 @@ import { } from "../../utils/authUtils"; import { rolesSchema } from "../../drizzle/schema/roles"; import { rolesToUsers } from "../../drizzle/schema/rolesToUsers"; +import HonoEnv from "../../types/HonoEnv"; -const authRoutes = new Hono<{ Variables: HonoVariables }>() +const authRoutes = new Hono() .post( "/login", zValidator( diff --git a/apps/backend/src/routes/dashboard/routes.ts b/apps/backend/src/routes/dashboard/routes.ts index 4f22a93..744a8f6 100644 --- a/apps/backend/src/routes/dashboard/routes.ts +++ b/apps/backend/src/routes/dashboard/routes.ts @@ -10,9 +10,9 @@ import { SidebarMenu } from "../../types"; import { forbidden } from "../../utils/httpErrors"; import { and, eq, or } from "drizzle-orm"; import { Hono } from "hono"; -import { HonoVariables } from "../.."; +import HonoEnv from "../../types/HonoEnv"; -const router = new Hono<{ Variables: HonoVariables }>(); +const router = new Hono(); const dashboardRoutes = router.get("/getSidebarItems", async (c) => { const uid = c.var.uid; diff --git a/apps/backend/src/routes/users/route.ts b/apps/backend/src/routes/users/route.ts index bd4d718..d30b5a2 100644 --- a/apps/backend/src/routes/users/route.ts +++ b/apps/backend/src/routes/users/route.ts @@ -6,10 +6,10 @@ import { z } from "zod"; import { HTTPException } from "hono/http-exception"; import db from "../../drizzle"; import { users } from "../../drizzle/schema/users"; -import { HonoVariables } from "../.."; import { hashPassword } from "../../utils/passwordUtils"; import { rolesToUsers } from "../../drizzle/schema/rolesToUsers"; import { rolesSchema } from "../../drizzle/schema/roles"; +import HonoEnv from "../../types/HonoEnv"; const userFormSchema = z.object({ name: z.string().min(1).max(255), @@ -40,7 +40,7 @@ const userUpdateSchema = userFormSchema.extend({ password: z.string().min(6).optional().or(z.literal("")), }); -const usersRoute = new Hono<{ Variables: HonoVariables }>() +const usersRoute = new Hono() .use(async (c, next) => { const uid = c.get("uid"); diff --git a/apps/backend/src/types/HonoEnv.d.ts b/apps/backend/src/types/HonoEnv.d.ts new file mode 100644 index 0000000..e7f3d72 --- /dev/null +++ b/apps/backend/src/types/HonoEnv.d.ts @@ -0,0 +1,7 @@ +type HonoEnv = { + Variables: { + uid?: string; + }; +}; + +export default HonoEnv;