Восстановлен потерянный код: календари, мониторинг, refresh, stats на list-страницах.

This commit is contained in:
2026-07-07 22:59:19 +03:00
parent 01ce33f322
commit 3a9ee13999
25 changed files with 977 additions and 80 deletions
+60
View File
@@ -30,6 +30,66 @@ export interface CalendarListParams {
order?: 'asc' | 'desc';
}
export interface CalendarRankItem {
id: string;
title: string;
rating_avg: number;
review_count: number;
}
export interface CalendarStats {
total_calendars: number;
calendars_by_type: Record<string, number>;
calendars_by_status: Record<string, number>;
top_calendars_by_reviews: CalendarRankItem[];
top_calendars_by_positive_reviews: CalendarRankItem[];
top_calendars_by_negative_reviews: CalendarRankItem[];
top_calendars_by_rating: CalendarRankItem[];
}
export interface EventStats {
total_events: number;
events_by_type: Record<string, number>;
events_by_status: Record<string, number>;
top_events_by_rating: CalendarRankItem[];
}
export interface UserStats {
total_users: number;
users_by_role: Record<string, number>;
users_by_status: Record<string, number>;
pending_users: number;
}
export interface ReportStats {
total_reports: number;
reports_by_target_type: Record<string, number>;
reports_by_status: Record<string, number>;
top_targets_by_reports: Array<{ target_type: string; target_id: string; report_count: number }>;
}
export interface ReviewStats {
total_reviews: number;
reviews_by_target_type: Record<string, number>;
reviews_by_status: Record<string, number>;
top_targets_by_reviews: Array<{ target_type: string; target_id: string; review_count: number }>;
top_targets_by_positive_reviews: Array<{ target_type: string; target_id: string; review_count: number }>;
top_targets_by_negative_reviews: Array<{ target_type: string; target_id: string; review_count: number }>;
}
export interface SubscriptionStats {
total_subscriptions: number;
subscriptions_by_plan: Record<string, number>;
subscriptions_by_status: Record<string, number>;
trial_subscriptions: number;
ending_paid_subscriptions: Array<{
id: string;
user_id: string;
plan: string;
expires_at: string;
}>;
}
// ===================== Event (Событие) =====================
export interface Event {
id: string;