new funcionality

This commit is contained in:
2026-07-27 17:20:02 +02:00
parent c2b5291a74
commit c5ce8a7a36
101 changed files with 6889 additions and 176 deletions

View File

@@ -8,6 +8,7 @@ export interface User {
created_at: string;
deleted_at?: string | null;
approved_at?: string | null;
two_factor_enabled?: boolean;
}
export interface OAuthClient {
@@ -24,6 +25,31 @@ export interface OAuthClient {
updated_at: string;
}
export interface WebhookEndpoint {
id: number;
client_id: string;
url: string;
events: string[];
active: boolean;
created_at: string;
last_delivery: {
event: string;
response_status: number | null;
delivered_at: string | null;
created_at: string;
} | null;
}
export interface WebhookDelivery {
id: number;
event: string;
response_status: number | null;
response_body: string | null;
attempts: number;
delivered_at: string | null;
created_at: string;
}
export interface PersonalAccessToken {
id: string;
name: string;
@@ -55,6 +81,16 @@ export interface OAuthApp {
name: string;
}
export interface UserSession {
id: string;
client_name: string | null;
client_revoked: boolean;
name: string | null;
scopes: string[];
created_at: string;
expires_at: string | null;
}
export interface AppRoleGroup {
client_id: string;
client_name: string;
@@ -67,6 +103,8 @@ export interface AnalyticsSummary {
active_sessions: number;
logins_today: number;
logins_7d: number;
login_failures_7d: number;
login_failure_rate_7d: number;
};
logins_by_day: Array<{ date: string; session: number; oauth: number }>;
logins_by_app: Array<{ client_name: string; count: number }>;
@@ -79,6 +117,36 @@ export interface AnalyticsSummary {
ip_address: string | null;
created_at: string;
}>;
oauth_funnel: {
attempted: number;
approved: number;
denied: number;
approval_rate: number;
};
oauth_funnel_by_client: Array<{ client_name: string; attempted: number; approved: number; denied: number }>;
active_tokens_by_client: Array<{ client_name: string; count: number }>;
scope_usage: Array<{ scope: string; description: string; count: number }>;
}
export interface AuditLogEntry {
id: number;
actor_name: string | null;
actor_email: string | null;
action: string;
subject_type: 'user' | 'client';
subject_id: string;
subject_label: string | null;
metadata: Record<string, unknown> | null;
ip_address: string | null;
created_at: string;
}
export interface Paginated<T> {
data: T[];
current_page: number;
last_page: number;
total: number;
per_page: number;
}
export interface OAuthAuthorizePayload {