import type { SuccessResponse } from "../../types"

// Request types
export interface CheckBullMQRequest {
  name: "follow-queue" | "admin-wallet-queue"
}

export interface GetRSSHubAnalyticsRequest {
  namespace?: string
  route?: string
}

// Response data types
export interface BullMQStatus {
  current: {
    wait: number
    completed: number
    failed: number
  }
  metrics: {
    completed: {
      data: number[]
      count: number
    }
    failed: {
      data: number[]
      count: number
    }
  }
}

export interface RSSHubAnalyticsItem {
  successCount: number
  errorCount: number
  timestamp: string
  successRate: number
}

// Response types
export type CheckPostgreSQLResponse = SuccessResponse<number>
export type CheckRedisResponse = SuccessResponse<number>
export type CheckBullMQResponse = SuccessResponse<BullMQStatus>
export type GetRSSHubAnalyticsResponse = SuccessResponse<RSSHubAnalyticsItem[]>
