@@ -21,15 +21,17 @@ func GetRepositoriesByForkID(ctx context.Context, forkID int64) ([]*Repository,
2121}
2222
2323// GetForkedRepo checks if given user has already forked a repository with given ID.
24- func GetForkedRepo (ctx context.Context , ownerID , repoID int64 ) * Repository {
24+ func GetForkedRepo (ctx context.Context , ownerID , repoID int64 ) ( * Repository , error ) {
2525 repo := new (Repository )
26- has , _ := db .GetEngine (ctx ).
26+ has , err := db .GetEngine (ctx ).
2727 Where ("owner_id=? AND fork_id=?" , ownerID , repoID ).
2828 Get (repo )
29- if has {
30- return repo
29+ if err != nil {
30+ return nil , err
31+ } else if has {
32+ return nil , ErrRepoNotExist {ID : repoID }
3133 }
32- return nil
34+ return repo , nil
3335}
3436
3537// HasForkedRepo checks if given user has already forked a repository with given ID.
@@ -41,19 +43,6 @@ func HasForkedRepo(ctx context.Context, ownerID, repoID int64) bool {
4143 return has
4244}
4345
44- // GetUserFork return user forked repository from this repository, if not forked return nil
45- func GetUserFork (ctx context.Context , repoID , userID int64 ) (* Repository , error ) {
46- var forkedRepo Repository
47- has , err := db .GetEngine (ctx ).Where ("fork_id = ?" , repoID ).And ("owner_id = ?" , userID ).Get (& forkedRepo )
48- if err != nil {
49- return nil , err
50- }
51- if ! has {
52- return nil , nil
53- }
54- return & forkedRepo , nil
55- }
56-
5746// IncrementRepoForkNum increment repository fork number
5847func IncrementRepoForkNum (ctx context.Context , repoID int64 ) error {
5948 _ , err := db .GetEngine (ctx ).Exec ("UPDATE `repository` SET num_forks=num_forks+1 WHERE id=?" , repoID )
@@ -87,8 +76,8 @@ func GetForksByUserAndOrgs(ctx context.Context, user *user_model.User, repo *Rep
8776 if user == nil {
8877 return repoList , nil
8978 }
90- forkedRepo , err := GetUserFork (ctx , repo .ID , user .ID )
91- if err != nil {
79+ forkedRepo , err := GetForkedRepo (ctx , repo .ID , user .ID )
80+ if err != nil && ! IsErrRepoNotExist ( err ) {
9281 return repoList , err
9382 }
9483 if forkedRepo != nil {
0 commit comments