github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/apiserver/resumer/resumer.go (about)

     1  // Copyright 2015 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  // The resumer package implements the API interface
     5  // used by the resumer worker.
     6  package resumer
     7  
     8  import (
     9  	"github.com/juju/juju/apiserver/common"
    10  	"github.com/juju/juju/apiserver/facade"
    11  	"github.com/juju/juju/state"
    12  )
    13  
    14  func init() {
    15  	common.RegisterStandardFacade("Resumer", 2, NewResumerAPI)
    16  }
    17  
    18  // ResumerAPI implements the API used by the resumer worker.
    19  type ResumerAPI struct {
    20  	st   stateInterface
    21  	auth facade.Authorizer
    22  }
    23  
    24  // NewResumerAPI creates a new instance of the Resumer API.
    25  func NewResumerAPI(st *state.State, _ facade.Resources, authorizer facade.Authorizer) (*ResumerAPI, error) {
    26  	if !authorizer.AuthModelManager() {
    27  		return nil, common.ErrPerm
    28  	}
    29  	return &ResumerAPI{
    30  		st:   getState(st),
    31  		auth: authorizer,
    32  	}, nil
    33  }
    34  
    35  func (api *ResumerAPI) ResumeTransactions() error {
    36  	return api.st.ResumeTransactions()
    37  }