Merge branch 'main' into 22235-toolbar-access-fixes
[arvados.git] / sdk / go / arvados / link.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: Apache-2.0
4
5 package arvados
6
7 import "time"
8
9 // Link is an arvados#link record
10 type Link struct {
11         UUID               string                 `json:"uuid,omitempty"`
12         Etag               string                 `json:"etag"`
13         OwnerUUID          string                 `json:"owner_uuid"`
14         Name               string                 `json:"name"`
15         LinkClass          string                 `json:"link_class"`
16         CreatedAt          time.Time              `json:"created_at"`
17         ModifiedAt         time.Time              `json:"modified_at"`
18         ModifiedByUserUUID string                 `json:"modified_by_user_uuid"`
19         HeadUUID           string                 `json:"head_uuid"`
20         HeadKind           string                 `json:"head_kind"`
21         TailUUID           string                 `json:"tail_uuid"`
22         TailKind           string                 `json:"tail_kind"`
23         Properties         map[string]interface{} `json:"properties"`
24 }
25
26 // LinkList is an arvados#linkList resource.
27 type LinkList struct {
28         Items          []Link `json:"items"`
29         ItemsAvailable int    `json:"items_available"`
30         Offset         int    `json:"offset"`
31         Limit          int    `json:"limit"`
32 }
33
34 type ComputedPermission struct {
35         UserUUID   string `json:"user_uuid"`
36         TargetUUID string `json:"target_uuid"`
37         PermLevel  string `json:"perm_level"`
38 }
39
40 type ComputedPermissionList struct {
41         Items          []ComputedPermission `json:"items"`
42         ItemsAvailable int                  `json:"items_available"`
43         Limit          int                  `json:"limit"`
44 }