github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/apiserver/facades/controller/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  // ResumerAPI implements the API used by the resumer worker.
    15  type ResumerAPI struct {
    16  	st   stateInterface
    17  	auth facade.Authorizer
    18  }
    19  
    20  // NewResumerAPI creates a new instance of the Resumer API.
    21  func NewResumerAPI(st *state.State, _ facade.Resources, authorizer facade.Authorizer) (*ResumerAPI, error) {
    22  	if !authorizer.AuthController() {
    23  		return nil, common.ErrPerm
    24  	}
    25  	return &ResumerAPI{
    26  		st:   getState(st),
    27  		auth: authorizer,
    28  	}, nil
    29  }
    30  
    31  func (api *ResumerAPI) ResumeTransactions() error {
    32  	return api.st.ResumeTransactions()
    33  }