usecase

package
v0.0.0-...-cff5d44 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountActivateOpts

type AccountActivateOpts struct {
	UserId    uuid.UUID
	AccountId uuid.UUID
}

type AccountCreateOpts

type AccountCreateOpts struct {
	UserId   uuid.UUID
	Name     string
	Owner    string
	Currency string
}

type AccountCreditOpts

type AccountCreditOpts struct {
	UserId    uuid.UUID
	AccountId uuid.UUID
	UserEmail string
	UserName  string
	Amount    string
}

type AccountDebitOpts

type AccountDebitOpts struct {
	UserId    uuid.UUID
	AccountId uuid.UUID
	UserEmail string
	UserName  string
	Amount    string
}

type AccountFreezeOpts

type AccountFreezeOpts struct {
	UserId    uuid.UUID
	AccountId uuid.UUID
}

type AccountListOpts

type AccountListOpts struct {
	UserId uuid.UUID
	Pagi   list.PagiRequest
}

type AccountListTransactionsOpts

type AccountListTransactionsOpts struct {
	UserId    uuid.UUID
	AccountId uuid.UUID
	Pagi      list.PagiRequest
	Filters   account.TransactionFilters
}

type AccountLockOpts

type AccountLockOpts struct {
	UserId    uuid.UUID
	AccountId uuid.UUID
}

type AccountSuspendOpts

type AccountSuspendOpts struct {
	UserId    uuid.UUID
	AccountId uuid.UUID
}

type AccountTransferMoneyOpts

type AccountTransferMoneyOpts struct {
	UserId    uuid.UUID
	AccountId uuid.UUID
	UserEmail string
	UserName  string
	Amount    string
	ToIban    string
	ToOwner   string
	Desc      string
}

type AccountUseCase

type AccountUseCase struct {
	EventSrv        *eventer.Srv
	AccountRepo     account.Repo
	TransactionRepo account.TransactionRepo
	UserRepo        user.Repo
}

func (*AccountUseCase) Activate

func (u *AccountUseCase) Activate(ctx context.Context, trc trace.Tracer, opts AccountActivateOpts) error

func (*AccountUseCase) Create

func (u *AccountUseCase) Create(ctx context.Context, trc trace.Tracer, opts AccountCreateOpts) (*uuid.UUID, error)

func (*AccountUseCase) Credit

func (u *AccountUseCase) Credit(ctx context.Context, trc trace.Tracer, opts AccountCreditOpts) error

func (*AccountUseCase) Debit

func (u *AccountUseCase) Debit(ctx context.Context, trc trace.Tracer, opts AccountDebitOpts) error

func (*AccountUseCase) Freeze

func (u *AccountUseCase) Freeze(ctx context.Context, trc trace.Tracer, opts AccountFreezeOpts) error

func (*AccountUseCase) List

func (*AccountUseCase) Lock

func (*AccountUseCase) Suspend

func (u *AccountUseCase) Suspend(ctx context.Context, trc trace.Tracer, opts AccountSuspendOpts) error

func (*AccountUseCase) TransferMoney

func (u *AccountUseCase) TransferMoney(ctx context.Context, trc trace.Tracer, opts AccountTransferMoneyOpts) error

type AuthLoginStartOpts

type AuthLoginStartOpts struct {
	Email  string
	Device agent.Device
}

type AuthLoginVerifyCheckOpts

type AuthLoginVerifyCheckOpts struct {
	VerifyToken string
}

type AuthLoginVerifyOpts

type AuthLoginVerifyOpts struct {
	Code        string
	VerifyToken string
	Device      agent.Device
}

type AuthRefreshTokenOpts

type AuthRefreshTokenOpts struct {
	UserId     uuid.UUID
	AccessTkn  string
	RefreshTkn string
	IpAddr     string
}

type AuthRegisterOpts

type AuthRegisterOpts struct {
	Name  string
	Email string
}

type AuthRegistrationVerifyOpts

type AuthRegistrationVerifyOpts struct {
	Token string
}

type AuthUseCase

type AuthUseCase struct {
	TokenSrv    TokenSrv
	EventSrv    EventSrv
	VerifyRepo  auth.VerifyRepo
	UserRepo    user.Repo
	SessionRepo auth.SessionRepo
}

func (*AuthUseCase) LoginStart

func (u *AuthUseCase) LoginStart(ctx context.Context, trc trace.Tracer, opts AuthLoginStartOpts) (*string, error)

func (*AuthUseCase) LoginVerify

func (u *AuthUseCase) LoginVerify(ctx context.Context, trc trace.Tracer, opts AuthLoginVerifyOpts) (*string, *string, error)

func (*AuthUseCase) LoginVerifyCheck

func (u *AuthUseCase) LoginVerifyCheck(ctx context.Context, trc trace.Tracer, opts AuthLoginVerifyCheckOpts) error

func (*AuthUseCase) RefreshToken

func (u *AuthUseCase) RefreshToken(ctx context.Context, trc trace.Tracer, opts AuthRefreshTokenOpts) (*string, error)

func (*AuthUseCase) Register

func (u *AuthUseCase) Register(ctx context.Context, trc trace.Tracer, opts AuthRegisterOpts) error

func (*AuthUseCase) RegistrationVerify

func (u *AuthUseCase) RegistrationVerify(ctx context.Context, trc trace.Tracer, opts AuthRegistrationVerifyOpts) error

func (*AuthUseCase) VerifyAccess

func (u *AuthUseCase) VerifyAccess(ctx context.Context, trc trace.Tracer, opts AuthVerifyAccessOpts) (*token.UserClaim, error)

func (*AuthUseCase) VerifyRefresh

func (u *AuthUseCase) VerifyRefresh(ctx context.Context, trc trace.Tracer, opts *AuthVerifyRefreshOpts) (*token.UserClaim, error)

type AuthVerifyAccessOpts

type AuthVerifyAccessOpts struct {
	AccessTkn  string
	IpAddr     string
	SkipVerify bool
}

type AuthVerifyRefreshOpts

type AuthVerifyRefreshOpts struct {
	AccessTkn  string
	RefreshTkn string
	IpAddr     string
}

type EventSrv

type EventSrv interface {
	Publish(ctx context.Context, sub string, data interface{}) error
}

type TokenSrv

type TokenSrv interface {
	GenerateAccessToken(ctx context.Context, u token.User) (string, error)
	GenerateRefreshToken(ctx context.Context, u token.User) (string, error)
	Parse(ctx context.Context, token string) (*token.UserClaim, error)
	Verify(ctx context.Context, token string) (bool, error)
	VerifyAndParse(ctx context.Context, token string) (*token.UserClaim, error)
}

Jump to

Keyboard shortcuts

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