Delete organization endpoint added (#5601)

* Delete organization endpoint added

* Parameters added in comment

* Typo fix

* Newline character removed
release/v1.15
Shashvat Kedia 2018-12-27 21:06:58 +05:30 committed by Jonas Franz
parent 21357a4ae0
commit 6e20b504b1
3 changed files with 49 additions and 1 deletions

View File

@ -622,7 +622,8 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Group("/orgs/:orgname", func() {
m.Get("/repos", user.ListOrgRepos)
m.Combo("").Get(org.Get).
Patch(reqToken(), reqOrgOwnership(), bind(api.EditOrgOption{}), org.Edit)
Patch(reqToken(), reqOrgOwnership(), bind(api.EditOrgOption{}), org.Edit).
Delete(reqToken(), reqOrgOwnership(), org.Delete)
m.Group("/members", func() {
m.Get("", org.ListMembers)
m.Combo("/:username").Get(org.IsMember).

View File

@ -166,3 +166,26 @@ func Edit(ctx *context.APIContext, form api.EditOrgOption) {
ctx.JSON(200, convert.ToOrganization(org))
}
//Delete an organization
func Delete(ctx *context.APIContext) {
// swagger:operation DELETE /orgs/{org} organization orgDelete
// ---
// summary: Delete an organization
// produces:
// - application/json
// parameters:
// - name: org
// in: path
// description: organization that is to be deleted
// type: string
// required: true
// responses:
// "204":
// "$ref": "#/responses/empty"
if err := models.DeleteOrganization(ctx.Org.Organization); err != nil {
ctx.Error(500, "DeleteOrganization", err)
return
}
ctx.Status(204)
}

View File

@ -467,6 +467,30 @@
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Delete an organization",
"operationId": "orgDelete",
"parameters": [
{
"type": "string",
"description": "organization that is to be deleted",
"name": "org",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
},
"patch": {
"consumes": [
"application/json"