import type { feedAnalytics, feeds } from "@folo-services/drizzle"
import type { InferSelectModel } from "drizzle-orm"

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

// Database types
type Feed = SerializedModel<InferSelectModel<typeof feeds>>
type FeedAnalytics = SerializedModel<InferSelectModel<typeof feedAnalytics>>

// Request types
export interface GetTrendingFeedsRequest {
  language?: "eng" | "cmn"
  view?: number
  range?: "1d" | "3d" | "7d" | "30d"
  limit?: number
}

// Response data types
export interface TrendingFeedItem {
  feedId: string
  view: number | null
  feed: Feed
  analytics: FeedAnalytics
}

// Response types
export type GetTrendingFeedsResponse = SuccessResponse<TrendingFeedItem[]>
