Documentation
¶
Overview ¶
Package usecase account implementation
Index ¶
- Variables
- type AccountUsecase
- func (a *AccountUsecase[TUser, TAccount]) Count(ctx context.Context, opts ...account.QOption) (int64, error)
- func (a *AccountUsecase[TUser, TAccount]) Delete(ctx context.Context, id uint64) error
- func (a *AccountUsecase[TUser, TAccount]) EmptyObject() TAccount
- func (a *AccountUsecase[TUser, TAccount]) FetchList(ctx context.Context, opts ...account.QOption) ([]TAccount, error)
- func (a *AccountUsecase[TUser, TAccount]) Get(ctx context.Context, id uint64) (TAccount, error)
- func (a *AccountUsecase[TUser, TAccount]) Register(ctx context.Context, ownerObj TUser, accountObj TAccount) (uint64, error)
- func (a *AccountUsecase[TUser, TAccount]) Update(ctx context.Context, accountObj TAccount) (uint64, error)
- type MemberUsecase
- func (a *MemberUsecase[TUser, TAccount]) CountMembers(ctx context.Context, opts ...account.QOption) (int64, error)
- func (a *MemberUsecase[TUser, TAccount]) EmptyObject() *account.Member[TUser, TAccount]
- func (a *MemberUsecase[TUser, TAccount]) FetchListMembers(ctx context.Context, opts ...account.QOption) (_ []*account.Member[TUser, TAccount], err error)
- func (a *MemberUsecase[TUser, TAccount]) InviteMember(ctx context.Context, accountID, userID uint64, roles ...string) (*account.Member[TUser, TAccount], error)
- func (a *MemberUsecase[TUser, TAccount]) LinkMember(ctx context.Context, accountObj TAccount, isAdmin bool, members ...TUser) error
- func (a *MemberUsecase[TUser, TAccount]) SetAccountMemeberRoles(ctx context.Context, accountID, userID uint64, roles ...string) (*account.Member[TUser, TAccount], error)
- func (a *MemberUsecase[TUser, TAccount]) SetMemberRoles(ctx context.Context, memberID uint64, roles ...string) (*account.Member[TUser, TAccount], error)
- func (a *MemberUsecase[TUser, TAccount]) UnlinkAccountMember(ctx context.Context, memberID uint64) error
- func (a *MemberUsecase[TUser, TAccount]) UnlinkMember(ctx context.Context, accountObj TAccount, members ...TUser) error
Constants ¶
This section is empty.
Variables ¶
var ErrOwnerRequired = errors.New("owner is required")
Functions ¶
This section is empty.
Types ¶
type AccountUsecase ¶
type AccountUsecase[TUser user.Model, TAccount account.Model] struct { // contains filtered or unexported fields }
AccountUsecase provides bussiness logic for account access
func NewAccountUsecase ¶
func NewAccountUsecase[TUser user.Model, TAccount account.Model]( userRepo user.Repository[TUser], accountRepo account.SessionRepository[TUser, TAccount], memberRepo account.MemberRepository[TUser, TAccount], ) *AccountUsecase[TUser, TAccount]
NewAccountUsecase object controller
func (*AccountUsecase[TUser, TAccount]) Count ¶
func (a *AccountUsecase[TUser, TAccount]) Count(ctx context.Context, opts ...account.QOption) (int64, error)
Count of accounts by filter
func (*AccountUsecase[TUser, TAccount]) Delete ¶
func (a *AccountUsecase[TUser, TAccount]) Delete(ctx context.Context, id uint64) error
Delete delites record by ID
func (*AccountUsecase[TUser, TAccount]) EmptyObject ¶ added in v0.5.0
func (a *AccountUsecase[TUser, TAccount]) EmptyObject() TAccount
EmptyObject returns a new empty account object of type TAccount.
func (*AccountUsecase[TUser, TAccount]) FetchList ¶
func (a *AccountUsecase[TUser, TAccount]) FetchList(ctx context.Context, opts ...account.QOption) ([]TAccount, error)
FetchList of accounts by filter
func (*AccountUsecase[TUser, TAccount]) Get ¶
func (a *AccountUsecase[TUser, TAccount]) Get(ctx context.Context, id uint64) (TAccount, error)
Get returns the group by ID if have access
type MemberUsecase ¶ added in v0.4.0
type MemberUsecase[TUser user.Model, TAccount account.Model] struct { // contains filtered or unexported fields }
MemberUsecase provides bussiness logic for account members
func NewMemberUsecase ¶ added in v0.4.0
func NewMemberUsecase[TUser user.Model, TAccount account.Model]( userRepo user.Repository[TUser], accountRepo account.SessionRepository[TUser, TAccount], memberRepo account.MemberRepository[TUser, TAccount], ) *MemberUsecase[TUser, TAccount]
NewMemberUsecase object controller
func (*MemberUsecase[TUser, TAccount]) CountMembers ¶ added in v0.4.0
func (a *MemberUsecase[TUser, TAccount]) CountMembers(ctx context.Context, opts ...account.QOption) (int64, error)
CountMembers returns the count of members from account
func (*MemberUsecase[TUser, TAccount]) EmptyObject ¶ added in v0.5.0
func (a *MemberUsecase[TUser, TAccount]) EmptyObject() *account.Member[TUser, TAccount]
EmptyObject returns a new empty member object of type Member[TUser, TAccount].
func (*MemberUsecase[TUser, TAccount]) FetchListMembers ¶ added in v0.4.0
func (a *MemberUsecase[TUser, TAccount]) FetchListMembers(ctx context.Context, opts ...account.QOption) (_ []*account.Member[TUser, TAccount], err error)
FetchListMembers returns the list of members from account
func (*MemberUsecase[TUser, TAccount]) InviteMember ¶ added in v0.4.0
func (a *MemberUsecase[TUser, TAccount]) InviteMember(ctx context.Context, accountID, userID uint64, roles ...string) (*account.Member[TUser, TAccount], error)
InviteMember into account by email (requires email repository on userRepo).
func (*MemberUsecase[TUser, TAccount]) LinkMember ¶ added in v0.4.0
func (a *MemberUsecase[TUser, TAccount]) LinkMember(ctx context.Context, accountObj TAccount, isAdmin bool, members ...TUser) error
LinkMember into account
func (*MemberUsecase[TUser, TAccount]) SetAccountMemeberRoles ¶ added in v0.4.0
func (a *MemberUsecase[TUser, TAccount]) SetAccountMemeberRoles(ctx context.Context, accountID, userID uint64, roles ...string) (*account.Member[TUser, TAccount], error)
SetAccountMemeberRoles into account
func (*MemberUsecase[TUser, TAccount]) SetMemberRoles ¶ added in v0.4.0
func (a *MemberUsecase[TUser, TAccount]) SetMemberRoles(ctx context.Context, memberID uint64, roles ...string) (*account.Member[TUser, TAccount], error)
SetMemberRoles into account
func (*MemberUsecase[TUser, TAccount]) UnlinkAccountMember ¶ added in v0.4.0
func (a *MemberUsecase[TUser, TAccount]) UnlinkAccountMember(ctx context.Context, memberID uint64) error
UnlinkAccountMember from the account
func (*MemberUsecase[TUser, TAccount]) UnlinkMember ¶ added in v0.4.0
func (a *MemberUsecase[TUser, TAccount]) UnlinkMember(ctx context.Context, accountObj TAccount, members ...TUser) error
UnlinkMember from the account