From: Ward Vandewege Date: Tue, 23 Feb 2021 13:57:05 +0000 (-0500) Subject: 17119: drop the 'Kind' fields from the structs, autogenerate them instead. X-Git-Tag: 2.2.0~110^2~4 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/73d3b56ce6244642486d5ca5e9401a339467b94e 17119: drop the 'Kind' fields from the structs, autogenerate them instead. Arvados-DCO-1.1-Signed-off-by: Ward Vandewege --- diff --git a/lib/controller/router/response.go b/lib/controller/router/response.go index 309ed48f64..aee2fc590b 100644 --- a/lib/controller/router/response.go +++ b/lib/controller/router/response.go @@ -77,13 +77,20 @@ func (rtr *router) sendResponse(w http.ResponseWriter, req *http.Request, resp i if included, ok := tmp["included"]; ok && included == nil { tmp["included"] = make([]interface{}, 0) } - defaultItemKind := "" if strings.HasSuffix(respKind, "List") { defaultItemKind = strings.TrimSuffix(respKind, "List") } - if items, ok := tmp["items"].([]interface{}); ok { + var items, included []interface{} + var itemsOK, includedOK bool + items, itemsOK = tmp["items"].([]interface{}) + included, includedOK = tmp["included"].([]interface{}) + if includedOK && len(included) > 0 { + items = append(items, included...) + } + + if itemsOK { for i, item := range items { // Fill in "kind" by inspecting UUID/PDH if // possible; fall back on assuming each diff --git a/sdk/go/arvados/container.go b/sdk/go/arvados/container.go index b8530db342..f542634708 100644 --- a/sdk/go/arvados/container.go +++ b/sdk/go/arvados/container.go @@ -43,7 +43,6 @@ type ContainerRequest struct { ModifiedByUserUUID string `json:"modified_by_user_uuid"` ModifiedAt time.Time `json:"modified_at"` Href string `json:"href"` - Kind string `json:"kind"` Etag string `json:"etag"` Name string `json:"name"` Description string `json:"description"` diff --git a/sdk/go/arvados/group.go b/sdk/go/arvados/group.go index 07632059e1..d5243dc170 100644 --- a/sdk/go/arvados/group.go +++ b/sdk/go/arvados/group.go @@ -16,7 +16,6 @@ type Group struct { GroupClass string `json:"group_class"` Etag string `json:"etag"` Href string `json:"href"` - Kind string `json:"kind"` TrashAt *time.Time `json:"trash_at"` CreatedAt time.Time `json:"created_at"` ModifiedAt time.Time `json:"modified_at"` diff --git a/sdk/go/arvados/job.go b/sdk/go/arvados/job.go index 7b287b5990..18c84b1085 100644 --- a/sdk/go/arvados/job.go +++ b/sdk/go/arvados/job.go @@ -38,7 +38,6 @@ type Job struct { Description string `json:"description"` State string `json:"state"` ArvadosSDKVersion string `json:"arvados_sdk_version"` - Kind string `json:"kind"` Components string `json:"components"` ScriptParametersDigest string `json:"script_parameters_digest"` WritableBy []string `json:"writable_by,omitempty"` diff --git a/sdk/go/arvados/pipeline_instance.go b/sdk/go/arvados/pipeline_instance.go index f2c0c81a09..c3645fd709 100644 --- a/sdk/go/arvados/pipeline_instance.go +++ b/sdk/go/arvados/pipeline_instance.go @@ -25,7 +25,6 @@ type PipelineInstance struct { StartedAt time.Time `json:"started_at"` FinishedAt time.Time `json:"finished_at"` Description string `json:"description"` - Kind string `json:"kind"` WritableBy []string `json:"writable_by,omitempty"` } diff --git a/sdk/go/arvados/pipeline_template.go b/sdk/go/arvados/pipeline_template.go index d4677164c3..85fec1c126 100644 --- a/sdk/go/arvados/pipeline_template.go +++ b/sdk/go/arvados/pipeline_template.go @@ -19,7 +19,6 @@ type PipelineTemplate struct { Components string `json:"components"` UpdatedAt time.Time `json:"updated_at"` Description string `json:"description"` - Kind string `json:"kind"` WritableBy []string `json:"writable_by,omitempty"` } diff --git a/sdk/go/arvados/trait.go b/sdk/go/arvados/trait.go index 3195958f50..9a2e3cf671 100644 --- a/sdk/go/arvados/trait.go +++ b/sdk/go/arvados/trait.go @@ -18,7 +18,6 @@ type Trait struct { Name string `json:"name"` Properties string `json:"properties"` UpdatedAt time.Time `json:"updated_at"` - Kind string `json:"kind"` WritableBy []string `json:"writable_by,omitempty"` } diff --git a/sdk/go/arvados/user.go b/sdk/go/arvados/user.go index 7693c8442b..68960144a8 100644 --- a/sdk/go/arvados/user.go +++ b/sdk/go/arvados/user.go @@ -16,7 +16,6 @@ type User struct { Email string `json:"email"` FullName string `json:"full_name"` FirstName string `json:"first_name"` - Kind string `json:"kind"` LastName string `json:"last_name"` IdentityURL string `json:"identity_url"` IsInvited bool `json:"is_invited"`