Files
frontend/apps/cs/src/pages/user-statistics/model/connection-log-interface.ts
T

73 lines
1.5 KiB
TypeScript

import type { PageableList, PageableParams } from "@/shared/model";
export interface ConnectionLogParams extends PageableParams {
keywordType?: string;
keyword?: string;
siteId?: string;
cntnIp?: string;
cntnRgn?: string;
wbsrKnd?: string;
urlPath?: string;
cntnDtStart?: string;
cntnDtEnd?: string;
}
export interface ConnectionLog {
cntnSn: number;
cntnDt: string;
cntnId: string;
cntnIp: string;
cntnRgn: string;
wbsrKnd: string;
menuCd: number;
siteId: string;
urlPath: string;
siteNm: string;
menuNm: string;
wbsrKndNm: string;
}
export interface ConnectionStatisticsParams {
keywordType?: string;
keyword?: string;
siteId?: string;
cntnIp?: string;
cntnRgn?: string;
wbsrKnd?: string;
urlPath?: string;
cntnDtStart?: string;
cntnDtEnd?: string;
}
interface DayConnectionStatistics {
dayYmd: string;
accessCnt: number;
}
interface SiteConnectionStatistics {
siteId: string;
siteNm: string;
accessCnt: number;
}
interface BrowserConnectionStatistics {
wbsrKnd: string;
wbsrKndNm: string;
accessCnt: number;
}
export interface ConnectionStatistics {
dayList: DayConnectionStatistics[];
siteList: SiteConnectionStatistics[];
browserList: BrowserConnectionStatistics[];
}
export type ConnectionLogList = PageableList<ConnectionLog>;
export interface ConnectionLogService {
getConnectionLog(params: ConnectionLogParams): Promise<ConnectionLogList>;
getConnectionStatistics(
params: ConnectionStatisticsParams,
): Promise<ConnectionStatistics>;
}