ranking.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. export type RankingType = 'comprehensive'|'creator'|'donor';
  2. export type RankingPeriod = 'today'|'yesterday'|'week'|'month'|'last-month'|'all';
  3. export interface MemberGradeDto {
  4. id: number;
  5. korName: string;
  6. image: string|null;
  7. textColor: string|null;
  8. order: number;
  9. }
  10. export interface RankingEntry {
  11. rank: number;
  12. previousRank: number|null;
  13. rankChange: number|null;
  14. memberID: number;
  15. memberName: string;
  16. memberThumb: string|null;
  17. channelName: string|null;
  18. channelThumb: string|null;
  19. category: string|null;
  20. score: number;
  21. moneyAmount: number;
  22. donorCount: number;
  23. broadcastSec: number;
  24. viewCount: number;
  25. likeCount: number;
  26. isAnonymous: boolean;
  27. memberGrade: MemberGradeDto|null;
  28. }
  29. export interface RisingEntry {
  30. memberID: number;
  31. memberName: string;
  32. memberThumb: string|null;
  33. channelName: string|null;
  34. recentAmount: number;
  35. previousAmount: number;
  36. growthRate: number;
  37. donorCount: number;
  38. }
  39. export interface RisingResponse {
  40. entries: RisingEntry[];
  41. snapshotAt: string|null;
  42. }
  43. export type HallPeriod = 'today'|'week'|'month'|'quarter'|'half'|'all';
  44. export interface HallEntry {
  45. rank: number;
  46. memberID: number;
  47. memberName: string;
  48. memberThumb: string|null;
  49. channelName: string|null;
  50. cumulativeAmount: number;
  51. donorCount: number;
  52. gradeID: number|null;
  53. gradeKorName: string|null;
  54. gradeImage: string|null;
  55. gradeTextColor: string|null;
  56. isAnonymous: boolean;
  57. }
  58. export interface HallOfFameResponse {
  59. top100: HallEntry[];
  60. periodStart: string|null;
  61. periodEnd: string|null;
  62. }
  63. export interface MyRankInfo {
  64. rank: number;
  65. moneyAmount: number;
  66. score: number;
  67. previousRank: number|null;
  68. rankChange: number|null;
  69. }
  70. export interface RankingResponse {
  71. top3: RankingEntry[];
  72. list: RankingEntry[];
  73. myRank: MyRankInfo|null;
  74. total: number;
  75. periodStart: string;
  76. periodEnd: string;
  77. snapshotAt: string|null;
  78. }