v1.0.3: PDF footer fix, arrow alignment, email verification workflow, account deletion

This commit is contained in:
Pepe Ziberi
2026-02-21 16:45:44 +01:00
parent 25d3d553ff
commit b75bf9bb30
7 changed files with 278 additions and 6 deletions

View File

@@ -18,6 +18,7 @@ export interface UserPayload {
role: 'SERVER_ADMIN' | 'TENANT_ADMIN' | 'OPERATOR' | 'VIEWER'
tenantId?: string
tenantSlug?: string
emailVerified?: boolean
}
export async function createToken(user: UserPayload): Promise<string> {
@@ -71,10 +72,8 @@ export async function login(
return { success: false, error: 'Ungültiges Passwort' }
}
// Check email verification (skip for SERVER_ADMIN and users created before verification was added)
if ((user as any).emailVerified === false && (user.role as string) !== 'SERVER_ADMIN') {
return { success: false, error: 'Bitte bestätigen Sie zuerst Ihre E-Mail-Adresse. Prüfen Sie Ihren Posteingang.' }
}
// Track email verification status (allow login regardless)
const emailVerified = (user as any).emailVerified !== false
// Get first tenant membership for non-server-admins
let tenantId: string | undefined
@@ -102,6 +101,7 @@ export async function login(
role: (user.role === 'ADMIN' ? 'SERVER_ADMIN' : user.role) as UserPayload['role'],
tenantId,
tenantSlug,
emailVerified,
}
return { success: true, user: userPayload }