github.com/pavlo67/common@v0.5.3/common/auth/auth_ecdsa/ecdsa_starter.go (about)

     1  package auth_ecdsa
     2  
     3  import (
     4  	"github.com/pavlo67/common/common"
     5  	"github.com/pkg/errors"
     6  
     7  	"github.com/pavlo67/common/common/config"
     8  	"github.com/pavlo67/common/common/joiner"
     9  	"github.com/pavlo67/common/common/logger"
    10  	"github.com/pavlo67/common/common/starter"
    11  )
    12  
    13  const InterfaceKey joiner.InterfaceKey = "auth_ecdsa"
    14  
    15  func Starter() starter.Operator {
    16  	return &auth_ecdsa{}
    17  }
    18  
    19  var l logger.Operator
    20  var _ starter.Operator = &auth_ecdsa{}
    21  
    22  type auth_ecdsa struct {
    23  	interfaceKey joiner.InterfaceKey
    24  }
    25  
    26  func (ss *auth_ecdsa) Name() string {
    27  	return logger.GetCallInfo().PackageName
    28  }
    29  
    30  func (ss *auth_ecdsa) Run(cfg *config.Envs, options common.Map, joinerOp joiner.Operator, l_ logger.Operator) error {
    31  	l = l_
    32  
    33  	ss.interfaceKey = joiner.InterfaceKey(options.StringDefault("interface_key", string(InterfaceKey)))
    34  
    35  	identOp, err := New()
    36  	if err != nil {
    37  		return err
    38  	}
    39  
    40  	if err = joinerOp.Join(identOp, ss.interfaceKey); err != nil {
    41  		return errors.Wrapf(err, "can't join auth_ecdsa identOp as auth.Operator with key '%s'", ss.interfaceKey)
    42  	}
    43  
    44  	return nil
    45  }