Skip to content
Merged
1 change: 1 addition & 0 deletions eshtek/admin.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export interface CatalogStatusResponse {
*/
export interface CatalogApp {
id: number;
appId: string;
name: string;
train: string | null;
version: string | null;
Expand Down
2 changes: 1 addition & 1 deletion eshtek/apps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,11 @@ export interface AppInfo extends AppBasics {
status: AppState;
url_webui: string;
upgradeAvailable: boolean;
updatedScriptAvailable: boolean;
latestVersion: string;
recommended: boolean;
}
export interface AppInfoDetailed extends AppInfo {
updatedScriptAvailable: boolean;
data: number[][];
}

Expand Down
65 changes: 65 additions & 0 deletions eshtek/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,69 @@ export interface AppPopularityMetrics {
upgradeCount: number;
failureCount: number;
lastInstalled: Date;
}

export enum EventsStatsCategory {
TASKS = 'tasks',
USERS = 'users',
TIMELINE = 'timeline',
}

export interface EventTaskStats {
taskType: string;
total: number;
completed: number;
failed: number;
successRate: number;
avgDurationSeconds: number | null;
}

export interface EventUserActivity {
userId: string;
totalEvents: number;
lastLogin: string | null;
tasksInitiated: number;
appActions: number;
failures: number;
}

export interface EventTimeline {
timestamp: string;
eventCount: number;
failures: number;
}

export type EventsStatsData =
| EventTaskStats
| EventUserActivity
| EventTimeline;

export type TimelineGroupBy = 'hour' | 'day';

export interface EventsListParams {
id?: number | string;
page?: number;
pageSize?: number;
eventName?: string | string[];
userId?: string;
hostId?: string;
taskType?: string;
taskStatus?: string;
appId?: string;
appIdRaw?: string;
startDate?: string;
endDate?: string;
}

export interface EventsStatsParams {
type: EventsStatsCategory;
days?: number;
groupBy?: TimelineGroupBy;
userId?: string;
hostId?: string;
taskType?: string;
taskStatus?: string;
appId?: string;
startDate?: string;
endDate?: string;
}
5 changes: 5 additions & 0 deletions eshtek/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ export interface PaginationMeta {
page_size: number;
}

export interface PaginationMetaUnique extends PaginationMeta {
unique_users: number;
unique_servers: number;
}

export interface PaginationRequest {
page: number;
page_size: number;
Expand Down