mirror of
https://github.com/kremalicious/umami.git
synced 2024-11-15 17:55:08 +01:00
91 lines
1.5 KiB
TypeScript
91 lines
1.5 KiB
TypeScript
|
import { NextApiRequest } from 'next';
|
||
|
|
||
|
export interface Auth {
|
||
|
user?: {
|
||
|
id: string;
|
||
|
username: string;
|
||
|
role: string;
|
||
|
isAdmin: boolean;
|
||
|
};
|
||
|
shareToken?: string;
|
||
|
}
|
||
|
|
||
|
export interface NextApiRequestQueryBody<TQuery = any, TBody = any> extends NextApiRequest {
|
||
|
auth?: Auth;
|
||
|
query: TQuery & { [key: string]: string | string[] };
|
||
|
body: TBody;
|
||
|
headers: any;
|
||
|
}
|
||
|
|
||
|
export interface NextApiRequestAuth extends NextApiRequest {
|
||
|
auth?: Auth;
|
||
|
headers: any;
|
||
|
}
|
||
|
|
||
|
export interface Website {
|
||
|
id: string;
|
||
|
userId: string;
|
||
|
revId: number;
|
||
|
name: string;
|
||
|
domain: string;
|
||
|
shareId: string;
|
||
|
createdAt: Date;
|
||
|
}
|
||
|
|
||
|
export interface Share {
|
||
|
id: string;
|
||
|
token: string;
|
||
|
}
|
||
|
|
||
|
export interface Empty {}
|
||
|
|
||
|
export interface WebsiteActive {
|
||
|
x: number;
|
||
|
}
|
||
|
|
||
|
export interface WebsiteEventDataMetric {
|
||
|
[key: string]: number;
|
||
|
}
|
||
|
|
||
|
export interface WebsiteMetric {
|
||
|
x: string;
|
||
|
y: number;
|
||
|
}
|
||
|
|
||
|
export interface WebsiteEventMetric {
|
||
|
x: string;
|
||
|
t: string;
|
||
|
y: number;
|
||
|
}
|
||
|
|
||
|
export interface WebsitePageviews {
|
||
|
pageviews: {
|
||
|
t: string;
|
||
|
y: number;
|
||
|
};
|
||
|
sessions: {
|
||
|
t: string;
|
||
|
y: number;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
export interface WebsiteStats {
|
||
|
pageviews: { value: number; change: number };
|
||
|
uniques: { value: number; change: number };
|
||
|
bounces: { value: number; change: number };
|
||
|
totalTime: { value: number; change: number };
|
||
|
}
|
||
|
|
||
|
export interface RealtimeInit {
|
||
|
websites: Website[];
|
||
|
token: string;
|
||
|
data: RealtimeUpdate;
|
||
|
}
|
||
|
|
||
|
export interface RealtimeUpdate {
|
||
|
pageviews: any[];
|
||
|
sessions: any[];
|
||
|
events: any[];
|
||
|
timestamp: number;
|
||
|
}
|