fix(api): filter events by profileId for export route

This commit is contained in:
Carl-Gerhard Lindesvärd
2025-05-21 20:52:26 +02:00
parent af7146f555
commit ce184b157f
3 changed files with 4 additions and 6 deletions

View File

@@ -65,6 +65,7 @@ async function getProjectId(
const eventsScheme = z.object({
project_id: z.string().optional(),
projectId: z.string().optional(),
profileId: z.string().optional(),
event: z.union([z.string(), z.array(z.string())]).optional(),
start: z.coerce.string().optional(),
end: z.coerce.string().optional(),
@@ -109,6 +110,7 @@ export async function events(
endDate: query.data.end ? new Date(query.data.end) : undefined,
cursor,
take,
profileId: query.data.profileId,
select: {
profile: false,
meta: false,

View File

@@ -7,7 +7,7 @@ import type { FastifyPluginCallback, FastifyRequest } from 'fastify';
const exportRouter: FastifyPluginCallback = async (fastify) => {
await activateRateLimiter({
fastify,
max: 10,
max: 100,
timeWindow: '10 seconds',
});

View File

@@ -506,7 +506,7 @@ export async function getEventList({
}
if (profileId) {
sb.where.deviceId = `(device_id IN (SELECT device_id as did FROM ${TABLE_NAMES.events} WHERE device_id != '' AND profile_id = ${escape(profileId)} group by did) OR profile_id = ${escape(profileId)})`;
sb.where.deviceId = `(device_id IN (SELECT device_id as did FROM ${TABLE_NAMES.events} WHERE project_id = ${escape(projectId)} AND device_id != '' AND profile_id = ${escape(profileId)} group by did) OR profile_id = ${escape(profileId)})`;
}
if (startDate && endDate) {
@@ -527,10 +527,6 @@ export async function getEventList({
};
}
// if (cursor) {
// sb.where.cursor = `created_at <= '${formatClickhouseDate(cursor)}'`;
// }
sb.orderBy.created_at =
'toDate(created_at) DESC, created_at DESC, profile_id DESC, name DESC';