|
|
@@ -61,6 +61,12 @@ func ServNoCommand(ctx *macaron.Context) { |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
if !user.IsActive || user.ProhibitLogin { |
|
|
|
ctx.JSON(http.StatusForbidden, map[string]interface{}{ |
|
|
|
"err": "Your account is disabled.", |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
results.Owner = user |
|
|
|
} |
|
|
|
ctx.JSON(http.StatusOK, &results) |
|
|
@@ -98,9 +104,28 @@ func ServCommand(ctx *macaron.Context) { |
|
|
|
results.RepoName = repoName[:len(repoName)-5] |
|
|
|
} |
|
|
|
|
|
|
|
owner, err := models.GetUserByName(results.OwnerName) |
|
|
|
if err != nil { |
|
|
|
log.Error("Unable to get repository owner: %s/%s Error: %v", results.OwnerName, results.RepoName, err) |
|
|
|
ctx.JSON(http.StatusInternalServerError, map[string]interface{}{ |
|
|
|
"results": results, |
|
|
|
"type": "InternalServerError", |
|
|
|
"err": fmt.Sprintf("Unable to get repository owner: %s/%s %v", results.OwnerName, results.RepoName, err), |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
if !owner.IsActive { |
|
|
|
ctx.JSON(http.StatusForbidden, map[string]interface{}{ |
|
|
|
"results": results, |
|
|
|
"type": "ForbiddenError", |
|
|
|
"err": "Repository cannot be accessed, you could retry it later", |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
// Now get the Repository and set the results section |
|
|
|
repoExist := true |
|
|
|
repo, err := models.GetRepositoryByOwnerAndName(results.OwnerName, results.RepoName) |
|
|
|
repo, err := models.GetRepositoryByName(owner.ID, results.RepoName) |
|
|
|
if err != nil { |
|
|
|
if models.IsErrRepoNotExist(err) { |
|
|
|
repoExist = false |
|
|
@@ -127,6 +152,7 @@ func ServCommand(ctx *macaron.Context) { |
|
|
|
} |
|
|
|
|
|
|
|
if repoExist { |
|
|
|
repo.Owner = owner |
|
|
|
repo.OwnerName = ownerName |
|
|
|
results.RepoID = repo.ID |
|
|
|
|
|
|
@@ -217,15 +243,6 @@ func ServCommand(ctx *macaron.Context) { |
|
|
|
// so for now use the owner of the repository |
|
|
|
results.UserName = results.OwnerName |
|
|
|
results.UserID = repo.OwnerID |
|
|
|
if err = repo.GetOwner(); err != nil { |
|
|
|
log.Error("Unable to get owner for repo %-v. Error: %v", repo, err) |
|
|
|
ctx.JSON(http.StatusInternalServerError, map[string]interface{}{ |
|
|
|
"results": results, |
|
|
|
"type": "InternalServerError", |
|
|
|
"err": fmt.Sprintf("Unable to get owner for repo: %s/%s.", results.OwnerName, results.RepoName), |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
if !repo.Owner.KeepEmailPrivate { |
|
|
|
results.UserEmail = repo.Owner.Email |
|
|
|
} |
|
|
@@ -250,6 +267,14 @@ func ServCommand(ctx *macaron.Context) { |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
if !user.IsActive || user.ProhibitLogin { |
|
|
|
ctx.JSON(http.StatusForbidden, map[string]interface{}{ |
|
|
|
"err": "Your account is disabled.", |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
results.UserName = user.Name |
|
|
|
if !user.KeepEmailPrivate { |
|
|
|
results.UserEmail = user.Email |