MCPcopy
hub / github.com/msgbyte/tianji / getWorkspaceWebsiteSession

Function getWorkspaceWebsiteSession

src/server/model/website/index.ts:697–723  ·  view source on GitHub ↗
(
  websiteId: string,
  filters: WebsiteQueryFilters
)

Source from the content-addressed store, hash-verified

695}
696
697export async function getWorkspaceWebsiteSession(
698 websiteId: string,
699 filters: WebsiteQueryFilters
700) {
701 const { timezone = 'utc', unit = 'day' } = filters;
702 const { filterQuery, joinSession, params } = await parseWebsiteFilters(
703 websiteId,
704 {
705 ...filters,
706 }
707 );
708
709 return prisma.$queryRaw`
710 select
711 ${getDateQuery('"WebsiteEvent"."createdAt"', unit, timezone)} x,
712 count(distinct "WebsiteEvent"."sessionId") y
713 from "WebsiteEvent"
714 ${joinSession}
715 where "WebsiteEvent"."websiteId" = ${params.websiteId}
716 and "WebsiteEvent"."createdAt" between ${
717 params.startDate
718 }::timestamptz and ${params.endDate}::timestamptz
719 and "WebsiteEvent"."eventType" = ${EVENT_TYPE.pageView}
720 ${filterQuery}
721 group by 1
722 `;
723}
724
725export async function getWorkspaceWebsiteStats(
726 websiteId: string,

Callers 1

website.tsFile · 0.85

Calls 2

parseWebsiteFiltersFunction · 0.85
getDateQueryFunction · 0.50

Tested by

no test coverage detected