mirror of
https://github.com/Litlyx/litlyx
synced 2026-02-05 15:12:18 +01:00
update admin panel
This commit is contained in:
@@ -16,7 +16,8 @@ type ExtendedProject = {
|
||||
limit_max: number,
|
||||
limit_ai_messages: number,
|
||||
limit_ai_max: number,
|
||||
limit_total: number
|
||||
limit_total: number,
|
||||
last_log_at: string
|
||||
}
|
||||
|
||||
export type TAdminProject = TProject & ExtendedProject;
|
||||
@@ -37,12 +38,17 @@ export default defineEventHandler(async event => {
|
||||
if (!userData?.logged) return;
|
||||
if (!userData.user.roles.includes('ADMIN')) return;
|
||||
|
||||
const { page, limit, sortQuery } = getQuery(event);
|
||||
const { page, limit, sortQuery, filterQuery } = getQuery(event);
|
||||
|
||||
const pageNumber = parseInt(page as string);
|
||||
const limitNumber = parseInt(limit as string);
|
||||
|
||||
const count = await ProjectModel.countDocuments(JSON.parse(filterQuery as string));
|
||||
|
||||
const projects = await ProjectModel.aggregate([
|
||||
{
|
||||
$match: JSON.parse(filterQuery as string)
|
||||
},
|
||||
{
|
||||
$lookup: {
|
||||
from: "project_limits",
|
||||
@@ -64,6 +70,7 @@ export default defineEventHandler(async event => {
|
||||
{ arrayName: 'counts', fieldName: 'visits', projectedName: 'visits' },
|
||||
{ arrayName: 'counts', fieldName: 'events', projectedName: 'events' },
|
||||
{ arrayName: 'counts', fieldName: 'session', projectedName: 'session' },
|
||||
{ arrayName: 'counts', fieldName: 'updated_at', projectedName: 'last_log_at' },
|
||||
]),
|
||||
},
|
||||
{
|
||||
@@ -92,6 +99,9 @@ export default defineEventHandler(async event => {
|
||||
{ $limit: limitNumber }
|
||||
]);
|
||||
|
||||
return projects as TAdminProject[];
|
||||
return {
|
||||
count,
|
||||
projects: projects as TAdminProject[]
|
||||
};
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user