-
Notifications
You must be signed in to change notification settings - Fork 1
/
client.go
39 lines (34 loc) · 1.14 KB
/
client.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package v3
import (
"github.com/aserto-dev/clui"
dsa3 "github.com/aserto-dev/go-directory/aserto/directory/assertion/v3"
dse3 "github.com/aserto-dev/go-directory/aserto/directory/exporter/v3"
dsi3 "github.com/aserto-dev/go-directory/aserto/directory/importer/v3"
dsm3 "github.com/aserto-dev/go-directory/aserto/directory/model/v3"
dsr3 "github.com/aserto-dev/go-directory/aserto/directory/reader/v3"
dsw3 "github.com/aserto-dev/go-directory/aserto/directory/writer/v3"
"google.golang.org/grpc"
)
type Client struct {
conn grpc.ClientConnInterface
Model dsm3.ModelClient
Reader dsr3.ReaderClient
Writer dsw3.WriterClient
Importer dsi3.ImporterClient
Exporter dse3.ExporterClient
Assertion dsa3.AssertionClient
UI *clui.UI
}
func New(conn grpc.ClientConnInterface, ui *clui.UI) (*Client, error) {
c := Client{
conn: conn,
Model: dsm3.NewModelClient(conn),
Reader: dsr3.NewReaderClient(conn),
Writer: dsw3.NewWriterClient(conn),
Importer: dsi3.NewImporterClient(conn),
Exporter: dse3.NewExporterClient(conn),
Assertion: dsa3.NewAssertionClient(conn),
UI: ui,
}
return &c, nil
}