@@ -94,58 +94,68 @@ func CollectLanguages(username string, repos []interface{}) (data map[string]flo
9494 return data , nil
9595}
9696
97- func AnalysisUser (username string ) (data iris.Map , err error , code int ) {
97+ type AnalysisData struct {
98+ Data iris.Map
99+ Err error
100+ Code int
101+ }
102+
103+ func AnalysisUser (username string ) AnalysisData {
98104 if GetUserExist (username ) {
99105 res , err := GetUser (username )
100106 if err != nil {
101- return nil , err , iris .StatusInternalServerError
107+ return AnalysisData { nil , err , iris .StatusInternalServerError }
102108 }
103109 repos , err := iterRepos (username )
104110 if err != nil {
105- return nil , err , iris .StatusInternalServerError
111+ return AnalysisData { nil , err , iris .StatusInternalServerError }
106112 }
107113 languages , err := CollectLanguages (username , repos )
108114 if err != nil {
109- return nil , err , iris .StatusInternalServerError
115+ return AnalysisData {nil , err , iris .StatusInternalServerError }
116+ }
117+ return AnalysisData {
118+ iris.Map {
119+ "username" : username ,
120+ "location" : res ["location" ],
121+ "org" : res ["type" ] != "User" ,
122+ "repos" : res ["public_repos" ],
123+ "follower" : ScaleConvert (res ["followers" ].(float64 ), true ),
124+ "stars" : ScaleConvert (Sum (repos , "stargazers_count" ), true ),
125+ "forks" : ScaleConvert (Sum (repos , "forks_count" ), true ),
126+ "issues" : ScaleConvert (Sum (repos , "open_issues_count" ), true ),
127+ "watchers" : ScaleConvert (Sum (repos , "watchers_count" ), true ),
128+ "languages" : CountLanguages (languages ),
129+ }, nil , iris .StatusOK ,
110130 }
111- return iris.Map {
112- "username" : username ,
113- "location" : res ["location" ],
114- "org" : res ["type" ] != "User" ,
115- "repos" : res ["public_repos" ],
116- "follower" : ScaleConvert (res ["followers" ].(float64 ), true ),
117- "stars" : ScaleConvert (Sum (repos , "stargazers_count" ), true ),
118- "forks" : ScaleConvert (Sum (repos , "forks_count" ), true ),
119- "issues" : ScaleConvert (Sum (repos , "open_issues_count" ), true ),
120- "watchers" : ScaleConvert (Sum (repos , "watchers_count" ), true ),
121- "languages" : CountLanguages (languages ),
122- }, nil , iris .StatusOK
123131 }
124- return nil , errors .New ("user not found" ), iris .StatusNotFound
132+ return AnalysisData { nil , errors .New ("user not found" ), iris .StatusNotFound }
125133}
126134
127- func AnalysisRepo (username string , repo string ) ( data iris. Map , err error , code int ) {
135+ func AnalysisRepo (username string , repo string ) AnalysisData {
128136 if GetRepoExist (username , repo ) {
129137 res , err := GetRepo (username , repo )
130138 if err != nil {
131- return nil , err , iris .StatusInternalServerError
139+ return AnalysisData { nil , err , iris .StatusInternalServerError }
132140 }
133141 languages , err := GetLanguages (username , repo )
134142 if err != nil {
135- return nil , err , iris .StatusInternalServerError
143+ return AnalysisData {nil , err , iris .StatusInternalServerError }
144+ }
145+ return AnalysisData {
146+ iris.Map {
147+ "username" : username ,
148+ "repo" : repo ,
149+ "size" : SizeConvert (res ["size" ].(float64 ), 1 ),
150+ "stars" : ScaleConvert (res ["stargazers_count" ].(float64 ), true ),
151+ "forks" : ScaleConvert (res ["forks_count" ].(float64 ), true ),
152+ "watchers" : ScaleConvert (res ["watchers_count" ].(float64 ), true ),
153+ "issues" : ScaleConvert (res ["open_issues_count" ].(float64 ), false ),
154+ "color" : GetColor (res ["language" ]),
155+ "license" : getLicense (res ["license" ]),
156+ "languages" : CountLanguages (languages ),
157+ }, nil , iris .StatusOK ,
136158 }
137- return iris.Map {
138- "username" : username ,
139- "repo" : repo ,
140- "size" : SizeConvert (res ["size" ].(float64 ), 1 ),
141- "stars" : ScaleConvert (res ["stargazers_count" ].(float64 ), true ),
142- "forks" : ScaleConvert (res ["forks_count" ].(float64 ), true ),
143- "watchers" : ScaleConvert (res ["watchers_count" ].(float64 ), true ),
144- "issues" : ScaleConvert (res ["open_issues_count" ].(float64 ), false ),
145- "color" : GetColor (res ["language" ]),
146- "license" : getLicense (res ["license" ]),
147- "languages" : CountLanguages (languages ),
148- }, nil , iris .StatusOK
149159 }
150- return nil , errors .New ("repo not found" ), iris .StatusNotFound
160+ return AnalysisData { nil , errors .New ("repo not found" ), iris .StatusNotFound }
151161}
0 commit comments