feat: stabilize admin dashboard, refactor group management, implement PWA, and fix routing

This commit is contained in:
2026-05-03 19:51:18 +05:00
parent 622ca04170
commit 0598e07823
36 changed files with 1387 additions and 467 deletions
+16 -5
View File
@@ -1,25 +1,36 @@
import jwt from 'jsonwebtoken'
import { H3Event, createError } from 'h3'
const JWT_SECRET = process.env.NUXT_JWT_SECRET || 'your-super-secret-jwt-key'
export interface AuthUser {
id: string
email: string
username: string
displayName?: string
role?: string
}
export function generateToken(user: AuthUser): string {
const config = useRuntimeConfig()
const secret = config.jwtSecret || 'your-super-secret-jwt-key'
return jwt.sign(
{ id: user.id, email: user.email, username: user.username, role: user.role || 'user' },
JWT_SECRET,
{
id: user.id,
email: user.email,
username: user.username,
displayName: user.displayName,
role: user.role || 'user'
},
secret,
{ expiresIn: '7d' }
)
}
export function verifyToken(token: string): AuthUser {
return jwt.verify(token, JWT_SECRET) as AuthUser
const config = useRuntimeConfig()
const secret = config.jwtSecret || 'your-super-secret-jwt-key'
return jwt.verify(token, secret) as AuthUser
}
export function getAuthUser(event: H3Event): AuthUser | null {