11import R from 'ramda'
22import { timeout } from 'promise-timeout'
33
4- import { ISSUE_ADDR } from '@config'
5-
64import { TIMEOUT_SEC , restEndpoint } from './config'
7- import { graphqlClient , restpClient } from './client'
5+ import { graphqlClient , restClient } from './client'
86
97import S from './schema'
108
11- const baseInfoQuery = ( owner , name ) =>
12- graphqlClient . request ( S . repository , { owner, name } )
9+ const baseInfoQuery = ( owner , name ) => {
10+ return graphqlClient . request ( S . repository , { owner, name } )
11+ }
1312
1413const contributorsQuery = ( owner , name ) => {
1514 const path = 'contributors?page=1&per_page=8'
1615 const api = `${ restEndpoint } /repos/${ owner } /${ name } /${ path } `
1716
18- return restpClient ( `${ api } ` )
17+ return restClient ( `${ api } ` )
18+ }
19+
20+ const readmeQuery = ( owner , name ) => {
21+ return restClient ( `${ restEndpoint } /repos/${ owner } /${ name } /readme` , 'raw' )
1922}
2023
2124export const searchRepoPromise = ( owner , name ) =>
2225 Promise . all ( [
2326 timeout ( baseInfoQuery ( owner , name ) , TIMEOUT_SEC ) ,
2427 timeout ( contributorsQuery ( owner , name ) , TIMEOUT_SEC ) ,
28+ timeout ( readmeQuery ( owner , name ) , TIMEOUT_SEC ) ,
2529 ] )
2630
2731const getRelaseTag = releases => {
@@ -37,7 +41,8 @@ const getLicense = value => {
3741// transform to match our model
3842export const transformRepo = res => {
3943 const baseInfoRes = res [ 0 ] . repository
40- const contributorsRes = res [ 1 ] . data
44+ const contributorsRes = res [ 1 ]
45+ const readme = res [ 2 ]
4146 const contributors = [ ]
4247
4348 R . forEach ( user => {
@@ -61,14 +66,9 @@ export const transformRepo = res => {
6166 licenseInfo,
6267 homepageUrl,
6368 releases,
64- object,
6569 primaryLanguage,
6670 } = baseInfoRes
6771
68- const readme = object
69- ? object . text
70- : `同步错误: 目前只同步源仓库中的 README.md 文件,如果源仓库中为 README.MD / readme.md / readme.MD 等格式可能会导致该错误。 如果是其他原因,[恳请提交 issue](${ ISSUE_ADDR } /new)`
71-
7272 return {
7373 title : name ,
7474 ownerName : owner . login ,
0 commit comments