implement domain filter

This commit is contained in:
Emily
2025-02-06 15:23:55 +01:00
parent 4e2c8468f8
commit 0292829805
8 changed files with 69 additions and 49 deletions

View File

@@ -10,9 +10,9 @@ export default defineEventHandler(async event => {
const result = await VisitModel.aggregate([
{ $match: { project_id, } },
{ $group: { _id: "$website" } },
{ $group: { _id: "$website", visits: { $sum: 1 } } },
]);
return result as { _id: string }[];
return result as { _id: string, visits: number }[];
});

View File

@@ -16,8 +16,7 @@ export default defineEventHandler(async event => {
const timelineData = await executeAdvancedTimelineAggregation({
projectId: project_id,
model: VisitModel,
from, to, slice, timeOffset, domain,
debug: true
from, to, slice, timeOffset, domain
});
return timelineData;
});

View File

@@ -56,10 +56,13 @@ export async function getRequestData(event: H3Event<EventHandlerRequest>, requir
const pid = getHeader(event, 'x-pid');
if (!pid) return setResponseStatus(event, 400, 'x-pid is required');
const domain = getHeader(event, 'x-domain');
let domain: any = getHeader(event, 'x-domain');
if (requireDomain) {
if (domain == null || domain == undefined || domain.length == 0) return setResponseStatus(event, 400, 'x-domain is required');
}
if (domain === 'ALL DOMAINS') {
domain = { $ne: '_NODOMAIN_' }
}
const slice = getHeader(event, 'x-slice') as Slice;
if (!slice && requireSlice) return setResponseStatus(event, 400, 'x-slice is required');