github.com/fanux/shipyard@v0.0.0-20161009071005-6515ce223235/registry.go (about) 1 package shipyard 2 3 import ( 4 registry "github.com/shipyard/shipyard/registry/v1" 5 ) 6 7 type Registry struct { 8 ID string `json:"id,omitempty" gorethink:"id,omitempty"` 9 Name string `json:"name,omitempty" gorethink:"name,omitempty"` 10 Addr string `json:"addr,omitempty", gorethink:"addr,omitempty"` 11 registryClient *registry.RegistryClient `json:"-" gorethink:"-"` 12 } 13 14 func NewRegistry(id, name, addr string) (*Registry, error) { 15 rClient, err := registry.NewRegistryClient(addr, nil) 16 if err != nil { 17 return nil, err 18 } 19 20 return &Registry{ 21 ID: id, 22 Name: name, 23 Addr: addr, 24 registryClient: rClient, 25 }, nil 26 } 27 28 func (r *Registry) Repositories() ([]*registry.Repository, error) { 29 res, err := r.registryClient.Search("", 1, 100) 30 if err != nil { 31 return nil, err 32 } 33 34 return res.Results, nil 35 } 36 37 func (r *Registry) Repository(name string) (*registry.Repository, error) { 38 return r.registryClient.Repository(name) 39 } 40 41 func (r *Registry) DeleteRepository(name string) error { 42 return r.registryClient.DeleteRepository(name) 43 }