diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index 023218997..f5b576354 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -1,6 +1,6 @@ { "name": "dokploy", - "version": "v0.9.0", + "version": "v0.9.1", "private": true, "license": "Apache-2.0", "type": "module", diff --git a/apps/dokploy/server/auth/token.ts b/apps/dokploy/server/auth/token.ts index 54162fdcb..5581777ae 100644 --- a/apps/dokploy/server/auth/token.ts +++ b/apps/dokploy/server/auth/token.ts @@ -1,6 +1,8 @@ import type { IncomingMessage } from "node:http"; import { TimeSpan } from "lucia"; import { Lucia } from "lucia/dist/core.js"; +import { findAdminByAuthId } from "../api/services/admin"; +import { findUserByAuthId } from "../api/services/user"; import { type ReturnValidateToken, adapter } from "./auth"; export const luciaToken = new Lucia(adapter, { @@ -31,6 +33,16 @@ export const validateBearerToken = async ( }; } const result = await luciaToken.validateSession(sessionId); + + if (result.user) { + if (result.user?.rol === "admin") { + const admin = await findAdminByAuthId(result.user.id); + result.user.adminId = admin.adminId; + } else if (result.user?.rol === "user") { + const userResult = await findUserByAuthId(result.user.id); + result.user.adminId = userResult.adminId; + } + } return { session: result.session, ...((result.user && {