mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-07-01 20:15:29 +02:00
refactor: update invitation
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
import type { IncomingMessage, ServerResponse } from "node:http";
|
||||
import { findAdminByAuthId } from "@dokploy/server/services/admin";
|
||||
import { findUserByAuthId } from "@dokploy/server/services/user";
|
||||
import { DrizzlePostgreSQLAdapter } from "@lucia-auth/adapter-drizzle";
|
||||
import { TimeSpan } from "lucia";
|
||||
import { Lucia } from "lucia/dist/core.js";
|
||||
@@ -42,78 +39,3 @@ export type ReturnValidateToken = Promise<{
|
||||
user: (User & { authId: string; adminId: string }) | null;
|
||||
session: Session | null;
|
||||
}>;
|
||||
|
||||
export async function validateRequest(
|
||||
req: IncomingMessage,
|
||||
res: ServerResponse,
|
||||
): ReturnValidateToken {
|
||||
console.log(session);
|
||||
const sessionId = lucia.readSessionCookie(req.headers.cookie ?? "");
|
||||
|
||||
if (!sessionId) {
|
||||
return {
|
||||
user: null,
|
||||
session: null,
|
||||
};
|
||||
}
|
||||
const result = await lucia.validateSession(sessionId);
|
||||
if (result?.session?.fresh) {
|
||||
res.appendHeader(
|
||||
"Set-Cookie",
|
||||
lucia.createSessionCookie(result.session.id).serialize(),
|
||||
);
|
||||
}
|
||||
if (!result.session) {
|
||||
res.appendHeader(
|
||||
"Set-Cookie",
|
||||
lucia.createBlankSessionCookie().serialize(),
|
||||
);
|
||||
}
|
||||
if (result.user) {
|
||||
try {
|
||||
if (result.user?.rol === "owner") {
|
||||
const admin = await findAdminByAuthId(result.user.id);
|
||||
result.user.adminId = admin.adminId;
|
||||
} else if (result.user?.rol === "member") {
|
||||
const userResult = await findUserByAuthId(result.user.id);
|
||||
result.user.adminId = userResult.adminId;
|
||||
}
|
||||
} catch (error) {
|
||||
return {
|
||||
user: null,
|
||||
session: null,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
session: result.session,
|
||||
...((result.user && {
|
||||
user: {
|
||||
authId: result.user.id,
|
||||
email: result.user.email,
|
||||
rol: result.user.rol,
|
||||
id: result.user.id,
|
||||
secret: result.user.secret,
|
||||
adminId: result.user.adminId,
|
||||
},
|
||||
}) || {
|
||||
user: null,
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
export async function validateWebSocketRequest(
|
||||
req: IncomingMessage,
|
||||
): Promise<{ user: User; session: Session } | { user: null; session: null }> {
|
||||
const sessionId = lucia.readSessionCookie(req.headers.cookie ?? "");
|
||||
|
||||
if (!sessionId) {
|
||||
return {
|
||||
user: null,
|
||||
session: null,
|
||||
};
|
||||
}
|
||||
const result = await lucia.validateSession(sessionId);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -21,79 +21,79 @@ export const luciaToken = new Lucia(adapter, {
|
||||
},
|
||||
});
|
||||
|
||||
export const validateBearerToken = async (
|
||||
req: IncomingMessage,
|
||||
): ReturnValidateToken => {
|
||||
const authorizationHeader = req.headers.authorization;
|
||||
const sessionId = luciaToken.readBearerToken(authorizationHeader ?? "");
|
||||
if (!sessionId) {
|
||||
return {
|
||||
user: null,
|
||||
session: null,
|
||||
};
|
||||
}
|
||||
const result = await luciaToken.validateSession(sessionId);
|
||||
// export const validateBearerToken = async (
|
||||
// req: IncomingMessage,
|
||||
// ): ReturnValidateToken => {
|
||||
// const authorizationHeader = req.headers.authorization;
|
||||
// const sessionId = luciaToken.readBearerToken(authorizationHeader ?? "");
|
||||
// if (!sessionId) {
|
||||
// return {
|
||||
// user: null,
|
||||
// session: null,
|
||||
// };
|
||||
// }
|
||||
// const result = await luciaToken.validateSession(sessionId);
|
||||
|
||||
if (result.user) {
|
||||
if (result.user?.rol === "owner") {
|
||||
const admin = await findAdminByAuthId(result.user.id);
|
||||
result.user.adminId = admin.adminId;
|
||||
} else if (result.user?.rol === "member") {
|
||||
const userResult = await findUserByAuthId(result.user.id);
|
||||
result.user.adminId = userResult.adminId;
|
||||
}
|
||||
}
|
||||
return {
|
||||
session: result.session,
|
||||
...((result.user && {
|
||||
user: {
|
||||
adminId: result.user.adminId,
|
||||
authId: result.user.id,
|
||||
email: result.user.email,
|
||||
rol: result.user.rol,
|
||||
id: result.user.id,
|
||||
secret: result.user.secret,
|
||||
},
|
||||
}) || {
|
||||
user: null,
|
||||
}),
|
||||
};
|
||||
};
|
||||
// if (result.user) {
|
||||
// if (result.user?.rol === "owner") {
|
||||
// const admin = await findAdminByAuthId(result.user.id);
|
||||
// result.user.adminId = admin.adminId;
|
||||
// } else if (result.user?.rol === "member") {
|
||||
// const userResult = await findUserByAuthId(result.user.id);
|
||||
// result.user.adminId = userResult.adminId;
|
||||
// }
|
||||
// }
|
||||
// return {
|
||||
// session: result.session,
|
||||
// ...((result.user && {
|
||||
// user: {
|
||||
// adminId: result.user.adminId,
|
||||
// authId: result.user.id,
|
||||
// email: result.user.email,
|
||||
// rol: result.user.rol,
|
||||
// id: result.user.id,
|
||||
// secret: result.user.secret,
|
||||
// },
|
||||
// }) || {
|
||||
// user: null,
|
||||
// }),
|
||||
// };
|
||||
// };
|
||||
|
||||
export const validateBearerTokenAPI = async (
|
||||
authorizationHeader: string,
|
||||
): ReturnValidateToken => {
|
||||
const sessionId = luciaToken.readBearerToken(authorizationHeader ?? "");
|
||||
if (!sessionId) {
|
||||
return {
|
||||
user: null,
|
||||
session: null,
|
||||
};
|
||||
}
|
||||
const result = await luciaToken.validateSession(sessionId);
|
||||
// export const validateBearerTokenAPI = async (
|
||||
// authorizationHeader: string,
|
||||
// ): ReturnValidateToken => {
|
||||
// const sessionId = luciaToken.readBearerToken(authorizationHeader ?? "");
|
||||
// if (!sessionId) {
|
||||
// return {
|
||||
// user: null,
|
||||
// session: null,
|
||||
// };
|
||||
// }
|
||||
// const result = await luciaToken.validateSession(sessionId);
|
||||
|
||||
if (result.user) {
|
||||
if (result.user?.rol === "owner") {
|
||||
const admin = await findAdminByAuthId(result.user.id);
|
||||
result.user.adminId = admin.adminId;
|
||||
} else if (result.user?.rol === "member") {
|
||||
const userResult = await findUserByAuthId(result.user.id);
|
||||
result.user.adminId = userResult.adminId;
|
||||
}
|
||||
}
|
||||
return {
|
||||
session: result.session,
|
||||
...((result.user && {
|
||||
user: {
|
||||
adminId: result.user.adminId,
|
||||
authId: result.user.id,
|
||||
email: result.user.email,
|
||||
rol: result.user.rol,
|
||||
id: result.user.id,
|
||||
secret: result.user.secret,
|
||||
},
|
||||
}) || {
|
||||
user: null,
|
||||
}),
|
||||
};
|
||||
};
|
||||
// if (result.user) {
|
||||
// if (result.user?.rol === "owner") {
|
||||
// const admin = await findAdminByAuthId(result.user.id);
|
||||
// result.user.adminId = admin.adminId;
|
||||
// } else if (result.user?.rol === "member") {
|
||||
// const userResult = await findUserByAuthId(result.user.id);
|
||||
// result.user.adminId = userResult.adminId;
|
||||
// }
|
||||
// }
|
||||
// return {
|
||||
// session: result.session,
|
||||
// ...((result.user && {
|
||||
// user: {
|
||||
// adminId: result.user.adminId,
|
||||
// authId: result.user.id,
|
||||
// email: result.user.email,
|
||||
// rol: result.user.rol,
|
||||
// id: result.user.id,
|
||||
// secret: result.user.secret,
|
||||
// },
|
||||
// }) || {
|
||||
// user: null,
|
||||
// }),
|
||||
// };
|
||||
// };
|
||||
|
||||
Reference in New Issue
Block a user