remove >= website created at logic

This commit is contained in:
Francis Cao 2023-06-14 22:32:06 -07:00
parent b10b490088
commit a00972748f
8 changed files with 22 additions and 19 deletions

View File

@ -18,6 +18,7 @@ export const DEFAULT_THEME = 'light';
export const DEFAULT_ANIMATION_DURATION = 300; export const DEFAULT_ANIMATION_DURATION = 300;
export const DEFAULT_DATE_RANGE = '24hour'; export const DEFAULT_DATE_RANGE = '24hour';
export const DEFAULT_WEBSITE_LIMIT = 10; export const DEFAULT_WEBSITE_LIMIT = 10;
export const DEFAULT_CREATED_AT = '2000-01-01';
export const REALTIME_RANGE = 30; export const REALTIME_RANGE = 30;
export const REALTIME_INTERVAL = 5000; export const REALTIME_INTERVAL = 5000;

View File

@ -2,7 +2,7 @@ import prisma from 'lib/prisma';
import clickhouse from 'lib/clickhouse'; import clickhouse from 'lib/clickhouse';
import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db';
import { WebsiteEventMetric } from 'lib/types'; import { WebsiteEventMetric } from 'lib/types';
import { EVENT_TYPE } from 'lib/constants'; import { DEFAULT_CREATED_AT, EVENT_TYPE } from 'lib/constants';
import { loadWebsite } from 'lib/query'; import { loadWebsite } from 'lib/query';
export async function getEventMetrics( export async function getEventMetrics(
@ -47,7 +47,7 @@ async function relationalQuery(
) { ) {
const { toUuid, rawQuery, getDateQuery, getFilterQuery } = prisma; const { toUuid, rawQuery, getDateQuery, getFilterQuery } = prisma;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params: any = [websiteId, resetDate, startDate, endDate]; const params: any = [websiteId, resetDate, startDate, endDate];
const filterQuery = getFilterQuery(filters, params); const filterQuery = getFilterQuery(filters, params);
@ -89,7 +89,7 @@ async function clickhouseQuery(
) { ) {
const { rawQuery, getDateQuery, getDateFormat, getBetweenDates, getFilterQuery } = clickhouse; const { rawQuery, getDateQuery, getDateFormat, getBetweenDates, getFilterQuery } = clickhouse;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params = { websiteId }; const params = { websiteId };
return rawQuery( return rawQuery(

View File

@ -3,6 +3,7 @@ import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db';
import prisma from 'lib/prisma'; import prisma from 'lib/prisma';
import { WebsiteEventDataMetric } from 'lib/types'; import { WebsiteEventDataMetric } from 'lib/types';
import { loadWebsite } from 'lib/query'; import { loadWebsite } from 'lib/query';
import { DEFAULT_CREATED_AT } from 'lib/constants';
export async function getEventData( export async function getEventData(
...args: [ ...args: [
@ -49,7 +50,7 @@ async function relationalQuery(
const { startDate, endDate, timeSeries, eventName, urlPath, filters } = data; const { startDate, endDate, timeSeries, eventName, urlPath, filters } = data;
const { toUuid, rawQuery, getEventDataFilterQuery, getDateQuery } = prisma; const { toUuid, rawQuery, getEventDataFilterQuery, getDateQuery } = prisma;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params: any = [websiteId, resetDate, startDate, endDate, eventName || '']; const params: any = [websiteId, resetDate, startDate, endDate, eventName || ''];
return rawQuery( return rawQuery(
@ -99,7 +100,7 @@ async function clickhouseQuery(
const { rawQuery, getDateFormat, getBetweenDates, getDateQuery, getEventDataFilterQuery } = const { rawQuery, getDateFormat, getBetweenDates, getDateQuery, getEventDataFilterQuery } =
clickhouse; clickhouse;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params = { websiteId }; const params = { websiteId };
return rawQuery( return rawQuery(

View File

@ -3,6 +3,7 @@ import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db';
import prisma from 'lib/prisma'; import prisma from 'lib/prisma';
import { WebsiteEventDataMetric } from 'lib/types'; import { WebsiteEventDataMetric } from 'lib/types';
import { loadWebsite } from 'lib/query'; import { loadWebsite } from 'lib/query';
import { DEFAULT_CREATED_AT } from 'lib/constants';
export async function getEventDataFields( export async function getEventDataFields(
...args: [websiteId: string, startDate: Date, endDate: Date] ...args: [websiteId: string, startDate: Date, endDate: Date]
@ -16,7 +17,7 @@ export async function getEventDataFields(
async function relationalQuery(websiteId: string, startDate: Date, endDate: Date) { async function relationalQuery(websiteId: string, startDate: Date, endDate: Date) {
const { toUuid, rawQuery } = prisma; const { toUuid, rawQuery } = prisma;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params: any = [websiteId, resetDate, startDate, endDate]; const params: any = [websiteId, resetDate, startDate, endDate];
return rawQuery( return rawQuery(
@ -33,7 +34,7 @@ async function relationalQuery(websiteId: string, startDate: Date, endDate: Date
async function clickhouseQuery(websiteId: string, startDate: Date, endDate: Date) { async function clickhouseQuery(websiteId: string, startDate: Date, endDate: Date) {
const { rawQuery, getDateFormat, getBetweenDates } = clickhouse; const { rawQuery, getDateFormat, getBetweenDates } = clickhouse;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params = { websiteId }; const params = { websiteId };
return rawQuery( return rawQuery(

View File

@ -1,7 +1,7 @@
import prisma from 'lib/prisma'; import prisma from 'lib/prisma';
import clickhouse from 'lib/clickhouse'; import clickhouse from 'lib/clickhouse';
import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db';
import { EVENT_TYPE } from 'lib/constants'; import { DEFAULT_CREATED_AT, EVENT_TYPE } from 'lib/constants';
import { loadWebsite } from 'lib/query'; import { loadWebsite } from 'lib/query';
export async function getPageviewMetrics( export async function getPageviewMetrics(
@ -33,7 +33,7 @@ async function relationalQuery(
const { startDate, endDate, filters = {}, column } = criteria; const { startDate, endDate, filters = {}, column } = criteria;
const { rawQuery, parseFilters, toUuid } = prisma; const { rawQuery, parseFilters, toUuid } = prisma;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params: any = [ const params: any = [
websiteId, websiteId,
resetDate, resetDate,
@ -80,7 +80,7 @@ async function clickhouseQuery(
const { startDate, endDate, filters = {}, column } = criteria; const { startDate, endDate, filters = {}, column } = criteria;
const { rawQuery, getDateFormat, parseFilters, getBetweenDates } = clickhouse; const { rawQuery, getDateFormat, parseFilters, getBetweenDates } = clickhouse;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params = { const params = {
websiteId, websiteId,
eventType: column === 'event_name' ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView, eventType: column === 'event_name' ? EVENT_TYPE.customEvent : EVENT_TYPE.pageView,

View File

@ -1,7 +1,7 @@
import clickhouse from 'lib/clickhouse'; import clickhouse from 'lib/clickhouse';
import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db'; import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db';
import prisma from 'lib/prisma'; import prisma from 'lib/prisma';
import { EVENT_TYPE } from 'lib/constants'; import { DEFAULT_CREATED_AT, EVENT_TYPE } from 'lib/constants';
import { loadWebsite } from 'lib/query'; import { loadWebsite } from 'lib/query';
export async function getPageviewStats( export async function getPageviewStats(
@ -47,7 +47,7 @@ async function relationalQuery(
} = criteria; } = criteria;
const { toUuid, getDateQuery, parseFilters, rawQuery } = prisma; const { toUuid, getDateQuery, parseFilters, rawQuery } = prisma;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params: any = [websiteId, resetDate, startDate, endDate]; const params: any = [websiteId, resetDate, startDate, endDate];
const { filterQuery, joinSession } = parseFilters(filters, params); const { filterQuery, joinSession } = parseFilters(filters, params);
@ -95,7 +95,7 @@ async function clickhouseQuery(
getBetweenDates, getBetweenDates,
} = clickhouse; } = clickhouse;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params = { websiteId }; const params = { websiteId };
const { filterQuery } = parseFilters(filters, params); const { filterQuery } = parseFilters(filters, params);

View File

@ -1,7 +1,7 @@
import prisma from 'lib/prisma'; import prisma from 'lib/prisma';
import clickhouse from 'lib/clickhouse'; import clickhouse from 'lib/clickhouse';
import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db';
import { EVENT_TYPE } from 'lib/constants'; import { DEFAULT_CREATED_AT, EVENT_TYPE } from 'lib/constants';
import { loadWebsite } from 'lib/query'; import { loadWebsite } from 'lib/query';
export async function getSessionMetrics( export async function getSessionMetrics(
@ -21,7 +21,7 @@ async function relationalQuery(
criteria: { startDate: Date; endDate: Date; column: string; filters: object }, criteria: { startDate: Date; endDate: Date; column: string; filters: object },
) { ) {
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const { startDate, endDate, column, filters = {} } = criteria; const { startDate, endDate, column, filters = {} } = criteria;
const { toUuid, parseFilters, rawQuery } = prisma; const { toUuid, parseFilters, rawQuery } = prisma;
const params: any = [websiteId, resetDate, startDate, endDate]; const params: any = [websiteId, resetDate, startDate, endDate];
@ -55,7 +55,7 @@ async function clickhouseQuery(
const { startDate, endDate, column, filters = {} } = data; const { startDate, endDate, column, filters = {} } = data;
const { getDateFormat, parseFilters, getBetweenDates, rawQuery } = clickhouse; const { getDateFormat, parseFilters, getBetweenDates, rawQuery } = clickhouse;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params = { websiteId }; const params = { websiteId };
const { filterQuery } = parseFilters(filters, params); const { filterQuery } = parseFilters(filters, params);

View File

@ -1,7 +1,7 @@
import prisma from 'lib/prisma'; import prisma from 'lib/prisma';
import clickhouse from 'lib/clickhouse'; import clickhouse from 'lib/clickhouse';
import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db'; import { runQuery, CLICKHOUSE, PRISMA } from 'lib/db';
import { EVENT_TYPE } from 'lib/constants'; import { DEFAULT_CREATED_AT, EVENT_TYPE } from 'lib/constants';
import { loadWebsite } from 'lib/query'; import { loadWebsite } from 'lib/query';
export async function getWebsiteStats( export async function getWebsiteStats(
@ -23,7 +23,7 @@ async function relationalQuery(
const { startDate, endDate, filters = {} } = criteria; const { startDate, endDate, filters = {} } = criteria;
const { toUuid, getDateQuery, getTimestampInterval, parseFilters, rawQuery } = prisma; const { toUuid, getDateQuery, getTimestampInterval, parseFilters, rawQuery } = prisma;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params: any = [websiteId, resetDate, startDate, endDate]; const params: any = [websiteId, resetDate, startDate, endDate];
const { filterQuery, joinSession } = parseFilters(filters, params); const { filterQuery, joinSession } = parseFilters(filters, params);
@ -59,7 +59,7 @@ async function clickhouseQuery(
const { startDate, endDate, filters = {} } = criteria; const { startDate, endDate, filters = {} } = criteria;
const { rawQuery, getDateFormat, getDateQuery, getBetweenDates, parseFilters } = clickhouse; const { rawQuery, getDateFormat, getDateQuery, getBetweenDates, parseFilters } = clickhouse;
const website = await loadWebsite(websiteId); const website = await loadWebsite(websiteId);
const resetDate = new Date(website?.resetAt || website?.createdAt); const resetDate = new Date(website?.resetAt || DEFAULT_CREATED_AT);
const params = { websiteId }; const params = { websiteId };
const { filterQuery } = parseFilters(filters, params); const { filterQuery } = parseFilters(filters, params);