Add page and user monitoring in admin. Add permission editing in administration.

This commit is contained in:
2024-11-28 17:18:35 +01:00
parent 5062d52667
commit 429f1d4b38
13 changed files with 416 additions and 50 deletions

View File

@@ -1,3 +1,34 @@
export default defineEventHandler((e) => {
return [];
import { sql } from 'drizzle-orm';
import useDatabase from '~/composables/useDatabase';
import { userSessionsTable } from '~/db/schema';
import { hasPermissions } from '~/shared/auth.util';
export default defineEventHandler(async (e) => {
const session = await getUserSession(e);
if(!session || !session.user || !hasPermissions(session.user.permissions, ['admin']))
{
throw createError({
statusCode: 401,
message: 'Unauthorized',
});
}
const db = useDatabase();
return db.query.usersTable.findMany({
columns: {
email: false,
hash: false,
},
with: {
data: true,
permission: true,
session: {
columns: {
timestamp: false,
user_id: false,
}
}
}
}).sync();
})