Documentation ¶
Overview ¶
Package repository implements methods of working with the repository objects
Index ¶
- Variables
- type Repository
- func (r *Repository) Count(ctx context.Context, filter *account.Filter) (int64, error)
- func (r *Repository) CountMembers(ctx context.Context, filter *account.MemberFilter) (int64, error)
- func (r *Repository) Create(ctx context.Context, accountObj *model.Account) (uint64, error)
- func (r *Repository) Delete(ctx context.Context, id uint64) error
- func (r *Repository) FetchList(ctx context.Context, filter *account.Filter, order *account.ListOrder, ...) ([]*model.Account, error)
- func (r *Repository) FetchListMembers(ctx context.Context, filter *account.MemberFilter, ...) ([]*model.AccountMember, error)
- func (r *Repository) Get(ctx context.Context, id uint64) (*model.Account, error)
- func (r *Repository) GetByTitle(ctx context.Context, title string) (*model.Account, error)
- func (r *Repository) IsAdmin(ctx context.Context, userID, accountID uint64) bool
- func (r *Repository) IsMember(ctx context.Context, userID, accountID uint64) bool
- func (r *Repository) LinkMember(ctx context.Context, accountObj *model.Account, isAdmin bool, ...) error
- func (r *Repository) LoadPermissions(ctx context.Context, accountObj *model.Account, userObj *model.User) error
- func (r *Repository) Member(ctx context.Context, userID, accountID uint64) (*model.AccountMember, error)
- func (r *Repository) MemberByID(ctx context.Context, id uint64) (*model.AccountMember, error)
- func (r *Repository) SetMemberRoles(ctx context.Context, accountObj *model.Account, user *model.User, ...) error
- func (r *Repository) UnlinkMember(ctx context.Context, accountObj *model.Account, users ...*model.User) error
- func (r *Repository) Update(ctx context.Context, id uint64, accountObj *model.Account) error
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidRoleList error in case of invalid role list ErrInvalidRoleList = errors.New(`invalid role list, check your permissions`) // ErrAccountHaveToHaveAdmin error in case of no any admin in account ErrAccountHaveToHaveAdmin = errors.New(`account must have at least one admin`) )
Functions ¶
This section is empty.
Types ¶
type Repository ¶
type Repository struct { repository.Repository // contains filtered or unexported fields }
Repository DAO which provides functionality of working with accounts
func (*Repository) CountMembers ¶
func (r *Repository) CountMembers(ctx context.Context, filter *account.MemberFilter) (int64, error)
CountMembers returns the count of members from account
func (*Repository) Delete ¶
func (r *Repository) Delete(ctx context.Context, id uint64) error
Delete delites record by ID
func (*Repository) FetchList ¶
func (r *Repository) FetchList(ctx context.Context, filter *account.Filter, order *account.ListOrder, pagination *repository.Pagination) ([]*model.Account, error)
FetchList returns list of accounts by filter
func (*Repository) FetchListMembers ¶
func (r *Repository) FetchListMembers(ctx context.Context, filter *account.MemberFilter, order *account.MemberListOrder, pagination *repository.Pagination) ([]*model.AccountMember, error)
FetchListMembers returns the list of members from account
func (*Repository) GetByTitle ¶
GetByTitle returns account model by title
func (*Repository) IsAdmin ¶
func (r *Repository) IsAdmin(ctx context.Context, userID, accountID uint64) bool
IsAdmin check the user if linked to account as admin
func (*Repository) IsMember ¶
func (r *Repository) IsMember(ctx context.Context, userID, accountID uint64) bool
IsMember check the user if linked to account
func (*Repository) LinkMember ¶
func (r *Repository) LinkMember(ctx context.Context, accountObj *model.Account, isAdmin bool, members ...*model.User) error
LinkMember into account
func (*Repository) LoadPermissions ¶
func (r *Repository) LoadPermissions(ctx context.Context, accountObj *model.Account, userObj *model.User) error
LoadPermissions into account object
func (*Repository) Member ¶
func (r *Repository) Member(ctx context.Context, userID, accountID uint64) (*model.AccountMember, error)
Member returns the member object by account and user
func (*Repository) MemberByID ¶
func (r *Repository) MemberByID(ctx context.Context, id uint64) (*model.AccountMember, error)
MemberByID returns the member object by ID
func (*Repository) SetMemberRoles ¶
func (r *Repository) SetMemberRoles(ctx context.Context, accountObj *model.Account, user *model.User, roles ...string) error
SetMemberRoles into account
func (*Repository) UnlinkMember ¶
func (r *Repository) UnlinkMember(ctx context.Context, accountObj *model.Account, users ...*model.User) error
UnlinkMember from the account