cosmoEagle/leetcode-api
0
1import { UserData } from '../types';2 3export const formatUserData = (data: UserData) => ({4 username: data.matchedUser.username,5 name: data.matchedUser.profile.realName,6 birthday: data.matchedUser.profile.birthday,7 avatar: data.matchedUser.profile.userAvatar,8 ranking: data.matchedUser.profile.ranking,9 reputation: data.matchedUser.profile.reputation,10 gitHub: data.matchedUser.githubUrl,11 twitter: data.matchedUser.twitterUrl,12 linkedIN: data.matchedUser.linkedinUrl,13 website: data.matchedUser.profile.websites,14 country: data.matchedUser.profile.countryName,15 company: data.matchedUser.profile.company,16 school: data.matchedUser.profile.school,17 skillTags: data.matchedUser.profile.skillTags,18 about: data.matchedUser.profile.aboutMe,19});20 21export const formatBadgesData = (data: UserData) => ({22 badgesCount: data.matchedUser.badges.length,23 badges: data.matchedUser.badges,24 upcomingBadges: data.matchedUser.upcomingBadges,25 activeBadge: data.matchedUser.activeBadge,26});27 28export const formatContestData = (data: UserData) => ({29 contestAttend: data.userContestRanking?.attendedContestsCount,30 contestRating: data.userContestRanking?.rating,31 contestGlobalRanking: data.userContestRanking?.globalRanking,32 totalParticipants: data.userContestRanking?.totalParticipants,33 contestTopPercentage: data.userContestRanking?.topPercentage,34 contestBadges: data.userContestRanking?.badge,35 contestParticipation: data.userContestRankingHistory.filter(36 (obj) => obj.attended === true37 ),38});39 40export const formatContestHistoryData = (data: UserData) => ({41 count: data.userContestRankingHistory.length,42 contestHistory: data.userContestRankingHistory,43});44 45export const formatSolvedProblemsData = (data: UserData) => ({46 solvedProblem: data.matchedUser.submitStats.acSubmissionNum[0].count,47 easySolved: data.matchedUser.submitStats.acSubmissionNum[1].count,48 mediumSolved: data.matchedUser.submitStats.acSubmissionNum[2].count,49 hardSolved: data.matchedUser.submitStats.acSubmissionNum[3].count,50 totalSubmissionNum: data.matchedUser.submitStats.totalSubmissionNum,51 acSubmissionNum: data.matchedUser.submitStats.acSubmissionNum,52});53 54export const formatSubmissionData = (data: UserData) => ({55 count: data.recentSubmissionList.length,56 submission: data.recentSubmissionList,57});58 59export const formatAcSubmissionData = (data: UserData) => ({60 count: data.recentAcSubmissionList.length,61 submission: data.recentAcSubmissionList,62});63 64export const formatSubmissionCalendarData = (data: UserData) => ({65 submissionCalendar: data.matchedUser.submissionCalendar,66});67 