github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/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/state"
    11  )
    12  
    13  func init() {
    14  	common.RegisterStandardFacade("Resumer", 2, NewResumerAPI)
    15  }
    16  
    17  // ResumerAPI implements the API used by the resumer worker.
    18  type ResumerAPI struct {
    19  	st   stateInterface
    20  	auth common.Authorizer
    21  }
    22  
    23  // NewResumerAPI creates a new instance of the Resumer API.
    24  func NewResumerAPI(st *state.State, _ *common.Resources, authorizer common.Authorizer) (*ResumerAPI, error) {
    25  	if !authorizer.AuthModelManager() {
    26  		return nil, common.ErrPerm
    27  	}
    28  	return &ResumerAPI{
    29  		st:   getState(st),
    30  		auth: authorizer,
    31  	}, nil
    32  }
    33  
    34  func (api *ResumerAPI) ResumeTransactions() error {
    35  	return api.st.ResumeTransactions()
    36  }