From b7309b8ccb16f6303ae300b755baef9f9713d457 Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Thu, 29 Sep 2022 05:27:33 +0200 Subject: [PATCH] Add name field for org api (#21270) related #21205 The field `UserName` is not really usefull for an organization. This adds a second `Name` field. The [GitHub API](https://docs.github.com/en/rest/orgs/orgs#get-an-organization) uses `name` too. `UserName` should be deprecated then. --- modules/convert/convert.go | 1 + modules/structs/org.go | 4 +++- templates/swagger/v1_json.tmpl | 5 +++++ tests/integration/api_admin_org_test.go | 2 +- tests/integration/api_org_test.go | 6 +++--- tests/integration/api_user_orgs_test.go | 4 ++++ 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/modules/convert/convert.go b/modules/convert/convert.go index 0e6756307..af759cb93 100644 --- a/modules/convert/convert.go +++ b/modules/convert/convert.go @@ -296,6 +296,7 @@ func ToOrganization(org *organization.Organization) *api.Organization { return &api.Organization{ ID: org.ID, AvatarURL: org.AsUser().AvatarLink(), + Name: org.Name, UserName: org.Name, FullName: org.FullName, Description: org.Description, diff --git a/modules/structs/org.go b/modules/structs/org.go index d8bd59e1e..1e98c59ba 100644 --- a/modules/structs/org.go +++ b/modules/structs/org.go @@ -7,7 +7,7 @@ package structs // Organization represents an organization type Organization struct { ID int64 `json:"id"` - UserName string `json:"username"` + Name string `json:"name"` FullName string `json:"full_name"` AvatarURL string `json:"avatar_url"` Description string `json:"description"` @@ -15,6 +15,8 @@ type Organization struct { Location string `json:"location"` Visibility string `json:"visibility"` RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"` + // deprecated + UserName string `json:"username"` } // OrganizationPermissions list different users permissions on an organization diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index 52553e2e8..b0e94b8bb 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -17326,11 +17326,16 @@ "type": "string", "x-go-name": "Location" }, + "name": { + "type": "string", + "x-go-name": "Name" + }, "repo_admin_change_team_access": { "type": "boolean", "x-go-name": "RepoAdminChangeTeamAccess" }, "username": { + "description": "deprecated", "type": "string", "x-go-name": "UserName" }, diff --git a/tests/integration/api_admin_org_test.go b/tests/integration/api_admin_org_test.go index 720f6fc6b..a8770db4c 100644 --- a/tests/integration/api_admin_org_test.go +++ b/tests/integration/api_admin_org_test.go @@ -37,7 +37,7 @@ func TestAPIAdminOrgCreate(t *testing.T) { var apiOrg api.Organization DecodeJSON(t, resp, &apiOrg) - assert.Equal(t, org.UserName, apiOrg.UserName) + assert.Equal(t, org.UserName, apiOrg.Name) assert.Equal(t, org.FullName, apiOrg.FullName) assert.Equal(t, org.Description, apiOrg.Description) assert.Equal(t, org.Website, apiOrg.Website) diff --git a/tests/integration/api_org_test.go b/tests/integration/api_org_test.go index 4b8c5c97a..16e53d6b8 100644 --- a/tests/integration/api_org_test.go +++ b/tests/integration/api_org_test.go @@ -38,7 +38,7 @@ func TestAPIOrgCreate(t *testing.T) { var apiOrg api.Organization DecodeJSON(t, resp, &apiOrg) - assert.Equal(t, org.UserName, apiOrg.UserName) + assert.Equal(t, org.UserName, apiOrg.Name) assert.Equal(t, org.FullName, apiOrg.FullName) assert.Equal(t, org.Description, apiOrg.Description) assert.Equal(t, org.Website, apiOrg.Website) @@ -54,7 +54,7 @@ func TestAPIOrgCreate(t *testing.T) { req = NewRequestf(t, "GET", "/api/v1/orgs/%s?token=%s", org.UserName, token) resp = MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &apiOrg) - assert.EqualValues(t, org.UserName, apiOrg.UserName) + assert.EqualValues(t, org.UserName, apiOrg.Name) req = NewRequestf(t, "GET", "/api/v1/orgs/%s/repos?token=%s", org.UserName, token) resp = MakeRequest(t, req, http.StatusOK) @@ -94,7 +94,7 @@ func TestAPIOrgEdit(t *testing.T) { var apiOrg api.Organization DecodeJSON(t, resp, &apiOrg) - assert.Equal(t, "user3", apiOrg.UserName) + assert.Equal(t, "user3", apiOrg.Name) assert.Equal(t, org.FullName, apiOrg.FullName) assert.Equal(t, org.Description, apiOrg.Description) assert.Equal(t, org.Website, apiOrg.Website) diff --git a/tests/integration/api_user_orgs_test.go b/tests/integration/api_user_orgs_test.go index 622dfdcf2..c28bf391e 100644 --- a/tests/integration/api_user_orgs_test.go +++ b/tests/integration/api_user_orgs_test.go @@ -32,6 +32,7 @@ func TestUserOrgs(t *testing.T) { assert.Equal(t, []*api.Organization{ { ID: 17, + Name: user17.Name, UserName: user17.Name, FullName: user17.FullName, AvatarURL: user17.AvatarLink(), @@ -42,6 +43,7 @@ func TestUserOrgs(t *testing.T) { }, { ID: 3, + Name: user3.Name, UserName: user3.Name, FullName: user3.FullName, AvatarURL: user3.AvatarLink(), @@ -99,6 +101,7 @@ func TestMyOrgs(t *testing.T) { assert.Equal(t, []*api.Organization{ { ID: 17, + Name: user17.Name, UserName: user17.Name, FullName: user17.FullName, AvatarURL: user17.AvatarLink(), @@ -109,6 +112,7 @@ func TestMyOrgs(t *testing.T) { }, { ID: 3, + Name: user3.Name, UserName: user3.Name, FullName: user3.FullName, AvatarURL: user3.AvatarLink(),