17119: rename alternate EndpointGroupContents, add comment.
[arvados.git] / sdk / go / arvados / api.go
index d17f8735b8b33e148b7ac94a177e0cca1a71f74e..bcb51d6b2e1324fed2d202f240409423366805c5 100644 (file)
@@ -56,7 +56,7 @@ var (
        EndpointGroupGet                      = APIEndpoint{"GET", "arvados/v1/groups/{uuid}", ""}
        EndpointGroupList                     = APIEndpoint{"GET", "arvados/v1/groups", ""}
        EndpointGroupContents                 = APIEndpoint{"GET", "arvados/v1/groups/contents", ""}
-       EndpointGroupContents2                = APIEndpoint{"GET", "arvados/v1/groups/{uuid}/contents", ""}
+       EndpointGroupContentsUUIDInPath       = APIEndpoint{"GET", "arvados/v1/groups/{uuid}/contents", ""} // Alternative HTTP route; client-side code should always use EndpointGroupContents instead
        EndpointGroupShared                   = APIEndpoint{"GET", "arvados/v1/groups/shared", ""}
        EndpointGroupDelete                   = APIEndpoint{"DELETE", "arvados/v1/groups/{uuid}", ""}
        EndpointGroupUntrash                  = APIEndpoint{"POST", "arvados/v1/groups/{uuid}/untrash", ""}
@@ -118,6 +118,7 @@ type ListOptions struct {
        IncludeOldVersions bool                   `json:"include_old_versions"`
        BypassFederation   bool                   `json:"bypass_federation"`
        ForwardedFor       string                 `json:"forwarded_for,omitempty"`
+       Include            string                 `json:"include"`
 }
 
 type CreateOptions struct {
@@ -133,28 +134,18 @@ type UpdateOptions struct {
        BypassFederation bool                   `json:"bypass_federation"`
 }
 
-type ContentsOptions struct {
+type GroupContentsOptions struct {
        UUID               string   `json:"uuid,omitempty"`
        Select             []string `json:"select"`
        Filters            []Filter `json:"filters"`
        Limit              int64    `json:"limit"`
        Offset             int64    `json:"offset"`
        Order              []string `json:"order"`
+       Include            string   `json:"include"`
        Recursive          bool     `json:"recursive"`
        ExcludeHomeProject bool     `json:"exclude_home_project"`
 }
 
-type SharedOptions struct {
-       UUID    string   `json:"uuid,omitempty"`
-       Select  []string `json:"select"`
-       Filters []Filter `json:"filters"`
-       Limit   int64    `json:"limit"`
-       Offset  int64    `json:"offset"`
-       Count   string   `json:"count"`
-       Order   []string `json:"order"`
-       Include string   `json:"include"`
-}
-
 type UpdateUUIDOptions struct {
        UUID    string `json:"uuid"`
        NewUUID string `json:"new_uuid"`
@@ -238,8 +229,8 @@ type API interface {
        GroupUpdate(ctx context.Context, options UpdateOptions) (Group, error)
        GroupGet(ctx context.Context, options GetOptions) (Group, error)
        GroupList(ctx context.Context, options ListOptions) (GroupList, error)
-       GroupContents(ctx context.Context, options ContentsOptions) (ObjectList, error)
-       GroupShared(ctx context.Context, options SharedOptions) (ObjectList, error)
+       GroupContents(ctx context.Context, options GroupContentsOptions) (ObjectList, error)
+       GroupShared(ctx context.Context, options ListOptions) (GroupList, error)
        GroupDelete(ctx context.Context, options DeleteOptions) (Group, error)
        GroupUntrash(ctx context.Context, options UntrashOptions) (Group, error)
        SpecimenCreate(ctx context.Context, options CreateOptions) (Specimen, error)