func (r resources) newHookContextFacade(st *corestate.State, unit *corestate.Unit) (interface{}, error) { res, err := st.Resources() if err != nil { return nil, errors.Trace(err) } return internalserver.NewUnitFacade(&resourcesUnitDataStore{res, unit}), nil }
// NewLatestCharmHandler returns a LatestCharmHandler that uses the // given Juju state. func NewLatestCharmHandler(st *state.State) (charmrevisionupdater.LatestCharmHandler, error) { resources, err := st.Resources() if err != nil { return nil, errors.Trace(err) } handler := workers.NewLatestCharmHandler(resources) return handler, nil }
// newPublicFacade is passed into common.RegisterStandardFacade // in registerPublicFacade. func (resources) newPublicFacade(st *corestate.State, _ *common.Resources, authorizer common.Authorizer) (*server.Facade, error) { if !authorizer.AuthClient() { return nil, common.ErrPerm } rst, err := st.Resources() //rst, err := state.NewState(&resourceState{raw: st}) if err != nil { return nil, errors.Trace(err) } return server.NewFacade(rst), nil }
// NewPublicFacade provides the public API facade for resources. It is // passed into common.RegisterStandardFacade. func NewPublicFacade(st *corestate.State, _ *common.Resources, authorizer common.Authorizer) (*server.Facade, error) { if !authorizer.AuthClient() { return nil, common.ErrPerm } rst, err := st.Resources() if err != nil { return nil, errors.Trace(err) } newClient := func() (server.CharmStore, error) { return newCharmStoreClient(st) } facade, err := server.NewFacade(rst, newClient) if err != nil { return nil, errors.Trace(err) } return facade, nil }
// NewPublicFacade provides the public API facade for resources. It is // passed into common.RegisterStandardFacade. func NewPublicFacade(st *corestate.State, _ *common.Resources, authorizer common.Authorizer) (*server.Facade, error) { if !authorizer.AuthClient() { return nil, common.ErrPerm } rst, err := st.Resources() if err != nil { return nil, errors.Trace(err) } newClient := func(cURL *charm.URL, csMac *macaroon.Macaroon) (server.CharmStore, error) { opener := newCharmstoreOpener(cURL, csMac) return opener.newClient(), nil } facade, err := server.NewFacade(rst, newClient) if err != nil { return nil, errors.Trace(err) } return facade, nil }