service

package
v0.0.0-...-122f59b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DependencySet = wire.NewSet(
	wire.Struct(new(Store), "*"),
	wire.Struct(new(Service), "*"),
)

Functions

This section is empty.

Types

type AnonymousIdentityProvider

type AnonymousIdentityProvider interface {
	Get(userID, id string) (*identity.Anonymous, error)
	GetMany(ids []string) ([]*identity.Anonymous, error)
	GetByKeyID(keyID string) (*identity.Anonymous, error)
	List(userID string) ([]*identity.Anonymous, error)
	New(userID string, keyID string, key []byte) *identity.Anonymous
	Create(i *identity.Anonymous) error
	Delete(i *identity.Anonymous) error
}

type BiometricIdentityProvider

type BiometricIdentityProvider interface {
	Get(userID, id string) (*identity.Biometric, error)
	GetMany(ids []string) ([]*identity.Biometric, error)
	GetByKeyID(keyID string) (*identity.Biometric, error)
	List(userID string) ([]*identity.Biometric, error)
	New(userID string, keyID string, key []byte, deviceInfo map[string]interface{}) *identity.Biometric
	Create(i *identity.Biometric) error
	Delete(i *identity.Biometric) error
}

type LoginIDIdentityProvider

type LoginIDIdentityProvider interface {
	Get(userID, id string) (*identity.LoginID, error)
	GetMany(ids []string) ([]*identity.LoginID, error)
	List(userID string) ([]*identity.LoginID, error)
	GetByValue(loginIDValue string) ([]*identity.LoginID, error)
	GetByUniqueKey(uniqueKey string) (*identity.LoginID, error)
	ListByClaim(name string, value string) ([]*identity.LoginID, error)
	New(userID string, loginID identity.LoginIDSpec, options loginid.CheckerOptions) (*identity.LoginID, error)
	WithValue(iden *identity.LoginID, value string, options loginid.CheckerOptions) (*identity.LoginID, error)
	Create(i *identity.LoginID) error
	Update(i *identity.LoginID) error
	Delete(i *identity.LoginID) error
}

type OAuthIdentityProvider

type OAuthIdentityProvider interface {
	Get(userID, id string) (*identity.OAuth, error)
	GetMany(ids []string) ([]*identity.OAuth, error)
	List(userID string) ([]*identity.OAuth, error)
	GetByProviderSubject(provider config.ProviderID, subjectID string) (*identity.OAuth, error)
	GetByUserProvider(userID string, provider config.ProviderID) (*identity.OAuth, error)
	ListByClaim(name string, value string) ([]*identity.OAuth, error)
	New(
		userID string,
		provider config.ProviderID,
		subjectID string,
		profile map[string]interface{},
		claims map[string]interface{},
	) *identity.OAuth
	WithUpdate(iden *identity.OAuth, rawProfile map[string]interface{}, claims map[string]interface{}) *identity.OAuth
	Create(i *identity.OAuth) error
	Update(i *identity.OAuth) error
	Delete(i *identity.OAuth) error
}

type PasskeyIdentityProvider

type PasskeyIdentityProvider interface {
	Get(userID, id string) (*identity.Passkey, error)
	GetMany(ids []string) ([]*identity.Passkey, error)
	GetByAssertionResponse(assertionResponse []byte) (*identity.Passkey, error)
	List(userID string) ([]*identity.Passkey, error)
	New(userID string, attestationResponse []byte) (*identity.Passkey, error)
	Create(i *identity.Passkey) error
	Delete(i *identity.Passkey) error
}

type SIWEIdentityProvider

type SIWEIdentityProvider interface {
	Get(userID, id string) (*identity.SIWE, error)
	GetMany(ids []string) ([]*identity.SIWE, error)
	GetByMessage(msg string, signature string) (*identity.SIWE, error)
	List(userID string) ([]*identity.SIWE, error)
	New(userID string, msg string, signature string) (*identity.SIWE, error)
	Create(i *identity.SIWE) error
	Delete(i *identity.SIWE) error
}

type Service

func (*Service) CheckDuplicated

func (s *Service) CheckDuplicated(info *identity.Info) (dupeIdentity *identity.Info, err error)

func (*Service) Count

func (s *Service) Count(userID string) (uint64, error)

func (*Service) Create

func (s *Service) Create(info *identity.Info) error

func (*Service) Delete

func (s *Service) Delete(info *identity.Info) error

func (*Service) Get

func (s *Service) Get(id string) (*identity.Info, error)

func (*Service) GetMany

func (s *Service) GetMany(ids []string) ([]*identity.Info, error)

func (*Service) ListByClaim

func (s *Service) ListByClaim(name string, value string) ([]*identity.Info, error)

func (*Service) ListByUser

func (s *Service) ListByUser(userID string) ([]*identity.Info, error)

func (*Service) ListByUserIDs

func (s *Service) ListByUserIDs(userIDs []string) (map[string][]*identity.Info, error)

nolint:gocognit This method is actually simple

func (*Service) ListCandidates

func (s *Service) ListCandidates(userID string) (out []identity.Candidate, err error)

func (*Service) ListRefsByUsers

func (s *Service) ListRefsByUsers(userIDs []string, identityType *model.IdentityType) ([]*model.IdentityRef, error)

func (*Service) New

func (s *Service) New(userID string, spec *identity.Spec, options identity.NewIdentityOptions) (*identity.Info, error)

func (*Service) SearchBySpec

func (s *Service) SearchBySpec(spec *identity.Spec) (exactMatch *identity.Info, otherMatches []*identity.Info, err error)

SearchBySpec does not return identity.ErrIdentityNotFound.

func (*Service) Update

func (s *Service) Update(info *identity.Info) error

func (*Service) UpdateWithSpec

func (s *Service) UpdateWithSpec(info *identity.Info, spec *identity.Spec, options identity.NewIdentityOptions) (*identity.Info, error)

type Store

type Store struct {
	SQLBuilder  *appdb.SQLBuilderApp
	SQLExecutor *appdb.SQLExecutor
}

func (*Store) Count

func (s *Store) Count(userID string) (uint64, error)

func (*Store) GetRefByID

func (s *Store) GetRefByID(id string) (*model.IdentityRef, error)

func (*Store) ListRefsByIDs

func (s *Store) ListRefsByIDs(ids []string) ([]*model.IdentityRef, error)

func (*Store) ListRefsByUsers

func (s *Store) ListRefsByUsers(userIDs []string, identityType *model.IdentityType) ([]*model.IdentityRef, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL