improve event list a bit
This commit is contained in:
@@ -343,12 +343,25 @@ export async function getEventList({
|
|||||||
sb.offset = Math.max(0, (cursor ?? 0) * take);
|
sb.offset = Math.max(0, (cursor ?? 0) * take);
|
||||||
sb.where.projectId = `project_id = ${escape(projectId)}`;
|
sb.where.projectId = `project_id = ${escape(projectId)}`;
|
||||||
|
|
||||||
|
// sb.select.id = 'id';
|
||||||
|
// sb.select.name = 'name';
|
||||||
|
// sb.select.deviceId = 'device_id';
|
||||||
|
// sb.select.profileId = 'profile_id';
|
||||||
|
// sb.select.projectId = 'project_id';
|
||||||
|
// sb.select.createdAt = 'created_at';
|
||||||
|
// sb.select.path = 'path';
|
||||||
|
// sb.select.duration = 'duration';
|
||||||
|
// sb.select.city = 'city';
|
||||||
|
// sb.select.country = 'country';
|
||||||
|
// sb.select.os = 'os';
|
||||||
|
// sb.select.browser = 'browser';
|
||||||
|
|
||||||
if (profileId) {
|
if (profileId) {
|
||||||
sb.where.deviceId = `device_id IN (SELECT device_id as did FROM ${TABLE_NAMES.events} WHERE profile_id = ${escape(profileId)} group by did)`;
|
sb.where.deviceId = `device_id IN (SELECT device_id as did FROM ${TABLE_NAMES.events} WHERE profile_id = ${escape(profileId)} group by did)`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (startDate && endDate) {
|
if (startDate && endDate) {
|
||||||
sb.where.created_at = `created_at BETWEEN '${formatClickhouseDate(startDate)}' AND '${formatClickhouseDate(endDate)}'`;
|
sb.where.created_at = `toDate(created_at) BETWEEN '${formatClickhouseDate(startDate)}' AND '${formatClickhouseDate(endDate)}'`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (events && events.length > 0) {
|
if (events && events.length > 0) {
|
||||||
@@ -369,7 +382,8 @@ export async function getEventList({
|
|||||||
// sb.where.cursor = `created_at <= '${formatClickhouseDate(cursor)}'`;
|
// sb.where.cursor = `created_at <= '${formatClickhouseDate(cursor)}'`;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
sb.orderBy.created_at = 'created_at DESC';
|
sb.orderBy.created_at =
|
||||||
|
'toDate(created_at) DESC, created_at DESC, profile_id DESC, name DESC';
|
||||||
|
|
||||||
return getEvents(getSql(), { profile, meta });
|
return getEvents(getSql(), { profile, meta });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { uniq } from 'ramda';
|
||||||
import { escape } from 'sqlstring';
|
import { escape } from 'sqlstring';
|
||||||
|
|
||||||
import { toObject } from '@openpanel/common';
|
import { toObject } from '@openpanel/common';
|
||||||
@@ -66,7 +67,7 @@ interface GetProfileListOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function getProfiles(ids: string[]) {
|
export async function getProfiles(ids: string[]) {
|
||||||
const filteredIds = ids.filter((id) => id !== '');
|
const filteredIds = uniq(ids.filter((id) => id !== ''));
|
||||||
|
|
||||||
if (filteredIds.length === 0) {
|
if (filteredIds.length === 0) {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
Reference in New Issue
Block a user