Skip to content

Commit

Permalink
privacy extention
Browse files Browse the repository at this point in the history
  • Loading branch information
6543 committed Apr 5, 2020
1 parent e418b89 commit 7c4f75d
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 37 deletions.
18 changes: 9 additions & 9 deletions integrations/api_issue_subscription_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ func TestAPIIssueSubscriptions(t *testing.T) {
session := loginUser(t, owner.Name)
token := getTokenForLoggedInUser(t, session)

testSubscription := func(issue *models.Issue, user string, isWatching bool) {
testSubscription := func(issue *models.Issue, isWatching bool) {

issueRepo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository)

urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/%s?token=%s", issueRepo.OwnerName, issueRepo.Name, issue.Index, user, token)
urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/check?token=%s", issueRepo.OwnerName, issueRepo.Name, issue.Index, token)
req := NewRequest(t, "GET", urlStr)
resp := session.MakeRequest(t, req, http.StatusOK)
wi := new(api.WatchInfo)
Expand All @@ -46,21 +46,21 @@ func TestAPIIssueSubscriptions(t *testing.T) {
assert.EqualValues(t, issueRepo.APIURL(), wi.RepositoryURL)
}

testSubscription(issue1, "user3", false)
testSubscription(issue2, owner.Name, true)
testSubscription(issue3, owner.Name, true)
testSubscription(issue4, owner.Name, false)
testSubscription(issue5, owner.Name, false)
testSubscription(issue1, true)
testSubscription(issue2, true)
testSubscription(issue3, true)
testSubscription(issue4, false)
testSubscription(issue5, false)

issue1Repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: issue1.RepoID}).(*models.Repository)
urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/%s?token=%s", issue1Repo.OwnerName, issue1Repo.Name, issue1.Index, owner.Name, token)
req := NewRequest(t, "DELETE", urlStr)
session.MakeRequest(t, req, http.StatusCreated)
testSubscription(issue1, owner.Name, false)
testSubscription(issue1, false)

issue5Repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: issue5.RepoID}).(*models.Repository)
urlStr = fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/%s?token=%s", issue5Repo.OwnerName, issue5Repo.Name, issue5.Index, owner.Name, token)
req = NewRequest(t, "PUT", urlStr)
session.MakeRequest(t, req, http.StatusCreated)
testSubscription(issue5, owner.Name, true)
testSubscription(issue5, true)
}
2 changes: 1 addition & 1 deletion routers/api/v1/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@ func RegisterRoutes(m *macaron.Macaron) {
})
m.Group("/subscriptions", func() {
m.Get("", repo.GetIssueSubscribers)
m.Get("/:user", reqToken(), repo.CheckIssueSubscription)
m.Get("/check", reqToken(), repo.CheckIssueSubscription)
m.Put("/:user", reqToken(), repo.AddIssueSubscription)
m.Delete("/:user", reqToken(), repo.DelIssueSubscription)
})
Expand Down
20 changes: 2 additions & 18 deletions routers/api/v1/repo/issue_subscription.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ func setIssueSubscription(ctx *context.APIContext, watch bool) {

// CheckIssueSubscription check if user is subscribed to an issue
func CheckIssueSubscription(ctx *context.APIContext) {
// swagger:operation GET /repos/{owner}/{repo}/issues/{index}/subscriptions/{user} issue issueCheckSubscription
// swagger:operation GET /repos/{owner}/{repo}/issues/{index}/subscriptions/check issue issueCheckSubscription
// ---
// summary: Check if user is subscribed to an issue
// consumes:
Expand All @@ -160,11 +160,6 @@ func CheckIssueSubscription(ctx *context.APIContext) {
// type: integer
// format: int64
// required: true
// - name: user
// in: path
// description: user to check
// type: string
// required: true
// responses:
// "200":
// "$ref": "#/responses/WatchInfo"
Expand All @@ -182,18 +177,7 @@ func CheckIssueSubscription(ctx *context.APIContext) {
return
}

user, err := models.GetUserByName(ctx.Params(":user"))
if err != nil {
if models.IsErrUserNotExist(err) {
ctx.NotFound()
} else {
ctx.Error(http.StatusInternalServerError, "GetUserByName", err)
}

return
}

watching, err := models.CheckIssueWatch(user, issue)
watching, err := models.CheckIssueWatch(ctx.User, issue)
if err != nil {
ctx.InternalServerError(err)
return
Expand Down
13 changes: 4 additions & 9 deletions templates/swagger/v1_json.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -5115,7 +5115,7 @@
}
}
},
"/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}": {
"/repos/{owner}/{repo}/issues/{index}/subscriptions/check": {
"get": {
"consumes": [
"application/json"
Expand Down Expand Up @@ -5150,13 +5150,6 @@
"name": "index",
"in": "path",
"required": true
},
{
"type": "string",
"description": "user to check",
"name": "user",
"in": "path",
"required": true
}
],
"responses": {
Expand All @@ -5167,7 +5160,9 @@
"$ref": "#/responses/notFound"
}
}
},
}
},
"/repos/{owner}/{repo}/issues/{index}/subscriptions/{user}": {
"put": {
"consumes": [
"application/json"
Expand Down

0 comments on commit 7c4f75d

Please sign in to comment.