diff --git a/apps/dispatch-server/modules/socketJWTmiddleware.ts b/apps/dispatch-server/modules/socketJWTmiddleware.ts index 6ec74573..0670870f 100644 --- a/apps/dispatch-server/modules/socketJWTmiddleware.ts +++ b/apps/dispatch-server/modules/socketJWTmiddleware.ts @@ -1,12 +1,8 @@ import { ExtendedError, Server, Socket } from "socket.io"; import { prisma } from "@repo/db"; -if (!process.env.DISPATCH_APP_TOKEN) - throw new Error("DISPATCH_APP_TOKEN is not defined"); +if (!process.env.DISPATCH_APP_TOKEN) throw new Error("DISPATCH_APP_TOKEN is not defined"); -export const jwtMiddleware = async ( - socket: Socket, - next: (err?: ExtendedError) => void, -) => { +export const jwtMiddleware = async (socket: Socket, next: (err?: ExtendedError) => void) => { try { const { uid } = socket.handshake.auth; if (!uid) return new Error("Authentication error"); diff --git a/apps/dispatch/app/dispatch/layout.tsx b/apps/dispatch/app/dispatch/layout.tsx index b8c72619..514655b8 100644 --- a/apps/dispatch/app/dispatch/layout.tsx +++ b/apps/dispatch/app/dispatch/layout.tsx @@ -19,6 +19,10 @@ export default async function RootLayout({ if (!session) { redirect("/login"); } + + if (!session.user.emailVerified) + return ; + if (!session.user.permissions.includes("DISPO")) return ; return ( diff --git a/apps/dispatch/app/pilot/layout.tsx b/apps/dispatch/app/pilot/layout.tsx index df59922c..60e56fd1 100644 --- a/apps/dispatch/app/pilot/layout.tsx +++ b/apps/dispatch/app/pilot/layout.tsx @@ -19,6 +19,10 @@ export default async function RootLayout({ if (!session) { redirect("/login"); } + if (!session.user.emailVerified) { + return ; + } + if (!session.user.permissions.includes("PILOT")) return ; return ( diff --git a/apps/hub-server/index.ts b/apps/hub-server/index.ts index a8fe991a..22c1a30f 100644 --- a/apps/hub-server/index.ts +++ b/apps/hub-server/index.ts @@ -11,7 +11,7 @@ app.use(cors()); app.use(router); -const port = process.env.HUB_API_PORT || 3000; +const port = process.env.HUB_SERVER_PORT || 3000; app.listen(port, () => { console.log(`Server is running on port ${port}`); }); diff --git a/apps/hub-server/modules/mail-templates/Badge.tsx b/apps/hub-server/modules/mail-templates/Badge.tsx index ff7b32f3..019d8187 100644 --- a/apps/hub-server/modules/mail-templates/Badge.tsx +++ b/apps/hub-server/modules/mail-templates/Badge.tsx @@ -13,7 +13,7 @@ const badgeImageMapping = { export const Badge = ({ badge }: { badge: BADGES }) => ( Badge ( + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Logo +
+ Bestätigung deiner E-Mail-Adresse +
+ Hallo {user.firstname}, +
+ Klicke auf den folgenden Link, um deinen Account zu bestätigen: +
+ + E-Mail bestätigen + +
+ Oder gehe zu{" "} +

+ + {process.env.NEXT_PUBLIC_HUB_URL}/settings/email-verification + +

{" "} + und gib dort deinen Code ein. +
+ Deinen Code lautet: {code} +
+ + Impressum + + | + + Datenschutzerklärung + + | + + Knowledgebase + +
+
+ + +); + +export function renderVerificationCode({ user, code }: { user: User; code: string }) { + return render(