Merge branch '22285-architecture-page' refs #22285
[arvados.git] / lib / controller / localdb / link.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 package localdb
6
7 import (
8         "context"
9
10         "git.arvados.org/arvados.git/sdk/go/arvados"
11 )
12
13 // LinkCreate defers to railsProxy for everything except vocabulary
14 // checking.
15 func (conn *Conn) LinkCreate(ctx context.Context, opts arvados.CreateOptions) (arvados.Link, error) {
16         err := conn.checkProperties(ctx, opts.Attrs["properties"])
17         if err != nil {
18                 return arvados.Link{}, err
19         }
20         resp, err := conn.railsProxy.LinkCreate(ctx, opts)
21         if err != nil {
22                 return resp, err
23         }
24         return resp, nil
25 }
26
27 // LinkUpdate defers to railsProxy for everything except vocabulary
28 // checking.
29 func (conn *Conn) LinkUpdate(ctx context.Context, opts arvados.UpdateOptions) (arvados.Link, error) {
30         err := conn.checkProperties(ctx, opts.Attrs["properties"])
31         if err != nil {
32                 return arvados.Link{}, err
33         }
34         resp, err := conn.railsProxy.LinkUpdate(ctx, opts)
35         if err != nil {
36                 return resp, err
37         }
38         return resp, nil
39 }