Documentation
¶
Index ¶
- type CountOfficerships
- type CountUsers
- type Officership
- type OfficershipAddEditDTO
- type OfficershipDB
- type OfficershipGetDTO
- type OfficershipMember
- type OfficershipMemberAddEditDTO
- type OfficershipMemberDB
- type OfficershipRepo
- type OfficershipTeam
- type OfficershipTeamAddEditDTO
- type OfficershipTeamGetDTO
- type OfficershipTeamMember
- type OfficershipTeamMemberAddDTO
- type OfficershipTeamMemberGetDeleteDTO
- type OfficershipsStatus
- type Permission
- type PermissionAddEditDTO
- type PermissionRepo
- type PermissionWithRolesCount
- type Repo
- type Role
- type RoleAddEditDTO
- type RoleFull
- type RoleGetDTO
- type RolePermission
- type RoleRepo
- type RoleUser
- type RoleWithCount
- type RoleWithPermissions
- type Store
- func (s *Store) AddOfficership(ctx context.Context, officershipAdd OfficershipAddEditDTO) (OfficershipDB, error)
- func (s *Store) AddOfficershipMember(ctx context.Context, officershipMemberAdd OfficershipMemberAddEditDTO) (OfficershipMemberDB, error)
- func (s *Store) AddOfficershipTeam(ctx context.Context, officershipTeamAdd OfficershipTeamAddEditDTO) (OfficershipTeam, error)
- func (s *Store) AddOfficershipTeamMember(ctx context.Context, officershipTeamMemberAdd OfficershipTeamMemberAddDTO) (OfficershipTeamMember, error)
- func (s *Store) AddPermission(ctx context.Context, permission PermissionAddEditDTO) (Permission, error)
- func (s *Store) AddRole(ctx context.Context, roleAdd RoleAddEditDTO) (Role, error)
- func (s *Store) AddRolePermission(ctx context.Context, rp1 RolePermission) (RolePermission, error)
- func (s *Store) AddRoleUser(ctx context.Context, ru1 RoleUser) (RoleUser, error)
- func (s *Store) CountOfficerships(ctx context.Context) (CountOfficerships, error)
- func (s *Store) CountUsersAll(ctx context.Context) (CountUsers, error)
- func (s *Store) DeleteOfficership(ctx context.Context, officershipID int) error
- func (s *Store) DeleteOfficershipMember(ctx context.Context, officershipMemberID int) error
- func (s *Store) DeleteOfficershipTeam(ctx context.Context, officershipTeamID int) error
- func (s *Store) DeleteOfficershipTeamMember(ctx context.Context, ...) error
- func (s *Store) DeletePermission(ctx context.Context, permissionID int) error
- func (s *Store) DeleteRole(ctx context.Context, roleID int) error
- func (s *Store) EditOfficership(ctx context.Context, officershipID int, officershipEdit OfficershipAddEditDTO) (OfficershipDB, error)
- func (s *Store) EditOfficershipMember(ctx context.Context, officershipMemberID int, ...) (OfficershipMemberDB, error)
- func (s *Store) EditOfficershipTeam(ctx context.Context, officershipTeamID int, ...) (OfficershipTeam, error)
- func (s *Store) EditPermission(ctx context.Context, permissionID int, permission PermissionAddEditDTO) (Permission, error)
- func (s *Store) EditRole(ctx context.Context, roleID int, roleEdit RoleAddEditDTO) (Role, error)
- func (s *Store) GetOfficership(ctx context.Context, officershipGetDTO OfficershipGetDTO) (OfficershipDB, error)
- func (s *Store) GetOfficershipMember(ctx context.Context, officershipMemberID int) (OfficershipMemberDB, error)
- func (s *Store) GetOfficershipMembers(ctx context.Context, officershipGet *OfficershipGetDTO, userID *int, ...) ([]OfficershipMemberDB, error)
- func (s *Store) GetOfficershipTeam(ctx context.Context, officershipTeamGet OfficershipTeamGetDTO) (OfficershipTeam, error)
- func (s *Store) GetOfficershipTeamMember(ctx context.Context, ...) (OfficershipTeamMember, error)
- func (s *Store) GetOfficershipTeamMembers(ctx context.Context, officershipTeamID *int, ...) ([]OfficershipTeamMember, error)
- func (s *Store) GetOfficershipTeams(ctx context.Context) ([]OfficershipTeam, error)
- func (s *Store) GetOfficerships(ctx context.Context, officershipStatus OfficershipsStatus) ([]OfficershipDB, error)
- func (s *Store) GetOfficershipsNotInTeam(ctx context.Context, officershipTeamID int) ([]OfficershipDB, error)
- func (s *Store) GetPermission(ctx context.Context, permissionID int) (Permission, error)
- func (s *Store) GetPermissionWithRolesCount(ctx context.Context, permissionID int) (PermissionWithRolesCount, error)
- func (s *Store) GetPermissionsForRole(ctx context.Context, roleID int) ([]Permission, error)
- func (s *Store) GetPermissionsNotInRole(ctx context.Context, roleID int) ([]Permission, error)
- func (s *Store) GetRole(ctx context.Context, roleGetDTO RoleGetDTO) (Role, error)
- func (s *Store) GetRoleFull(ctx context.Context, roleID int) (RoleFull, error)
- func (s *Store) GetRolePermission(ctx context.Context, rp1 RolePermission) (RolePermission, error)
- func (s *Store) GetRoleUser(ctx context.Context, ru1 RoleUser) (RoleUser, error)
- func (s *Store) GetRolesForPermission(ctx context.Context, permissionID int) ([]Role, error)
- func (s *Store) GetUser(ctx context.Context, userID int) (User, error)
- func (s *Store) GetUserByEmail(ctx context.Context, email string) (User, error)
- func (s *Store) GetUserByEmailFull(ctx context.Context, email string) (UserFullDB, error)
- func (s *Store) GetUserFull(ctx context.Context, userID int) (UserFullDB, error)
- func (s *Store) GetUsersNotInRole(ctx context.Context, roleID int) ([]User, error)
- func (s *Store) GetUsersPagination(ctx context.Context, size, page int, ...) ([]UserFullDB, int, error)
- func (s *Store) ListAllPermissions(ctx context.Context) ([]Permission, error)
- func (s *Store) ListAllRolesWithCount(ctx context.Context) ([]RoleWithCount, error)
- func (s *Store) ListAllRolesWithPermissions(ctx context.Context) ([]RoleWithPermissions, error)
- func (s *Store) ListAllUsers(ctx context.Context) ([]User, error)
- func (s *Store) ListPermissionMembersByID(ctx context.Context, permissionID int) ([]User, error)
- func (s *Store) ListPermissionsWithRolesCount(ctx context.Context) ([]PermissionWithRolesCount, error)
- func (s *Store) ListRoleMembersByID(ctx context.Context, roleID int) ([]User, int, error)
- func (s *Store) ListRolePermissionsByID(ctx context.Context, roleID int) ([]Permission, error)
- func (s *Store) OfficershipDBToOfficership(officershipDB OfficershipDB) Officership
- func (s *Store) OfficershipMemberDBToOfficershipMember(officershipDB OfficershipMemberDB) OfficershipMember
- func (s *Store) RemoveOfficershipForOfficershipMembers(ctx context.Context, officershipID int) error
- func (s *Store) RemoveRoleForPermissions(ctx context.Context, roleID int) error
- func (s *Store) RemoveRoleForUsers(ctx context.Context, roleID int) error
- func (s *Store) RemoveRolePermission(ctx context.Context, rp RolePermission) error
- func (s *Store) RemoveRoleUser(ctx context.Context, ru RoleUser) error
- func (s *Store) RemoveTeamForOfficershipTeamMembers(ctx context.Context, officershipTeamID int) error
- func (s *Store) RemoveUserForOfficershipMembers(ctx context.Context, userID int) error
- func (s *Store) RemoveUserForRoles(ctx context.Context, userID int) error
- type User
- type UserFull
- type UserFullDB
- type UserFullPagination
- type UserRepo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CountOfficerships ¶ added in v0.9.6
type CountOfficerships struct {
TotalOfficerships int `db:"total_officerships" json:"totalOfficerships"`
CurrentOfficerships int `db:"current_officerships" json:"currentOfficerships"`
TotalOfficers int `db:"total_officers" json:"totalOfficers"`
CurrentOfficers int `db:"current_officers" json:"currentOfficers"`
}
type CountUsers ¶ added in v0.9.6
type CountUsers struct {
TotalUsers int `db:"total_users" json:"totalUsers"`
ActiveUsers int `db:"active_users" json:"activeUsers"`
ActiveUsersPast24Hours int `db:"active_users_past_24_hours" json:"activeUsersPast24Hours"`
ActiveUsersPastYear int `db:"active_users_past_year" json:"activeUsersPastYear"`
}
type Officership ¶ added in v0.9.6
type Officership struct {
OfficershipID int `json:"officershipID"`
Name string `json:"name"`
EmailAlias string `json:"emailAlias"`
Description string `json:"description"`
HistoryWikiURL string `json:"historyWikiURL"`
RoleID *int64 `json:"roleID,omitempty"`
IsCurrent bool `json:"isCurrent"`
IfUnfilled *bool `json:"ifUnfilled,omitempty"`
CurrentOfficers int `json:"currentOfficers"`
PreviousOfficers int `json:"previousOfficers"`
TeamID *int64 `json:"teamID,omitempty"`
TeamName *string `json:"teamName,omitempty"`
IsTeamLeader *bool `json:"isTeamLeader,omitempty"`
IsTeamDeputy *bool `json:"isTeamDeputy,omitempty"`
}
Officership represents relevant officership fields
type OfficershipAddEditDTO ¶ added in v0.9.6
type OfficershipAddEditDTO struct {
Name string `json:"name"`
EmailAlias string `json:"emailAlias"`
Description string `json:"description"`
HistoryWikiURL string `json:"historyWikiURL"`
IsCurrent bool `json:"isCurrent"`
}
OfficershipAddEditDTO represents relevant officership fields for adding and editing
type OfficershipDB ¶ added in v0.9.6
type OfficershipDB struct {
OfficershipID int `db:"officer_id" json:"officershipID"`
Name string `db:"name" json:"name"`
EmailAlias string `db:"email_alias" json:"emailAlias"`
Description string `db:"description" json:"description"`
HistoryWikiURL string `db:"historywiki_url" json:"historyWikiURL"`
RoleID null.Int `db:"role_id" json:"roleID,omitempty"`
IsCurrent bool `db:"is_current" json:"isCurrent"`
IfUnfilled null.Bool `db:"if_unfilled" json:"ifUnfilled,omitempty"`
CurrentOfficers int `db:"current_officers" json:"currentOfficers,omitempty"`
PreviousOfficers int `db:"previous_officers" json:"previousOfficers,omitempty"`
TeamID null.Int `db:"team_id" json:"teamID"`
TeamName null.String `db:"team_name" json:"teamName"`
IsTeamLeader null.Bool `db:"is_team_leader" json:"isTeamLeader"`
IsTeamDeputy null.Bool `db:"is_team_deputy" json:"isTeamDeputy"`
}
OfficershipDB represents relevant officership fields
type OfficershipGetDTO ¶ added in v0.9.6
type OfficershipGetDTO struct {
OfficershipID int `json:"officershipID"`
Name string `json:"name"`
}
OfficershipGetDTO represents relevant officership fields for getting
type OfficershipMember ¶ added in v0.9.6
type OfficershipMember struct {
OfficershipMemberID int `json:"officershipMemberID"`
UserID int `json:"userID"`
OfficerID int `json:"officerID"`
StartDate *time.Time `json:"startDate,omitempty"`
EndDate *time.Time `json:"endDate,omitempty"`
OfficershipName string `json:"officershipName"`
UserName string `json:"userName"`
TeamID *int `json:"teamID,omitempty"`
TeamName *string `json:"teamName,omitempty"`
}
OfficershipMember represents relevant officership member fields
type OfficershipMemberAddEditDTO ¶ added in v0.9.6
type OfficershipMemberAddEditDTO struct {
UserID int `json:"userID"`
OfficerID int `json:"officerID"`
StartDate *time.Time `json:"startDate,omitempty"`
EndDate *time.Time `json:"endDate,omitempty"`
}
OfficershipMemberAddEditDTO represents relevant officership member fields
type OfficershipMemberDB ¶ added in v0.9.6
type OfficershipMemberDB struct {
OfficershipMemberID int `db:"officership_member_id" json:"officershipMemberID"`
UserID int `db:"user_id" json:"userID"`
OfficerID int `db:"officer_id" json:"officerID"`
StartDate null.Time `db:"start_date" json:"startDate"`
EndDate null.Time `db:"end_date" json:"endDate"`
OfficershipName string `db:"officership_name" json:"officershipName"`
UserName string `db:"user_name" json:"userName"`
TeamID null.Int `db:"team_id" json:"teamID"`
TeamName null.String `db:"team_name" json:"teamName"`
}
OfficershipMemberDB represents relevant officership member fields
type OfficershipRepo ¶ added in v0.9.6
type OfficershipRepo interface {
OfficershipDBToOfficership(officershipDB OfficershipDB) Officership
OfficershipMemberDBToOfficershipMember(officershipDB OfficershipMemberDB) OfficershipMember
CountOfficerships(ctx context.Context) (CountOfficerships, error)
GetOfficerships(ctx context.Context, officershipsStatus OfficershipsStatus) ([]OfficershipDB, error)
GetOfficership(ctx context.Context, officershipGet OfficershipGetDTO) (OfficershipDB, error)
AddOfficership(ctx context.Context, officershipAdd OfficershipAddEditDTO) (OfficershipDB, error)
EditOfficership(ctx context.Context, officershipID int, officershipEdit OfficershipAddEditDTO) (OfficershipDB, error)
DeleteOfficership(ctx context.Context, officershipID int) error
GetOfficershipTeams(ctx context.Context) ([]OfficershipTeam, error)
GetOfficershipTeam(ctx context.Context, officershipTeamGet OfficershipTeamGetDTO) (OfficershipTeam, error)
AddOfficershipTeam(ctx context.Context, officershipTeamAdd OfficershipTeamAddEditDTO) (OfficershipTeam, error)
EditOfficershipTeam(ctx context.Context, officershipID int, officershipTeamEdit OfficershipTeamAddEditDTO) (OfficershipTeam, error)
DeleteOfficershipTeam(ctx context.Context, officershipTeamID int) error
GetOfficershipTeamMembers(ctx context.Context, officershipTeamID *int,
officershipStatus OfficershipsStatus) ([]OfficershipTeamMember, error)
GetOfficershipsNotInTeam(ctx context.Context, officershipTeamID int) ([]OfficershipDB, error)
GetOfficershipTeamMember(ctx context.Context, officershipTeamMemberGet OfficershipTeamMemberGetDeleteDTO) (OfficershipTeamMember, error)
AddOfficershipTeamMember(ctx context.Context, officershipTeamMemberAdd OfficershipTeamMemberAddDTO) (OfficershipTeamMember, error)
DeleteOfficershipTeamMember(ctx context.Context, officershipTeamMemberEdit OfficershipTeamMemberGetDeleteDTO) error
RemoveTeamForOfficershipTeamMembers(ctx context.Context, officershipTeamID int) error
GetOfficershipMembers(ctx context.Context, officershipGet *OfficershipGetDTO, userID *int,
officershipStatus OfficershipsStatus, officershipMemberStatus OfficershipsStatus,
orderByOfficerName bool) ([]OfficershipMemberDB, error)
GetOfficershipMember(ctx context.Context, officershipMemberID int) (OfficershipMemberDB, error)
AddOfficershipMember(ctx context.Context, officershipMemberAdd OfficershipMemberAddEditDTO) (OfficershipMemberDB, error)
EditOfficershipMember(ctx context.Context, officershipMemberID int, officershipMemberEdit OfficershipMemberAddEditDTO) (OfficershipMemberDB, error)
DeleteOfficershipMember(ctx context.Context, officershipMemberID int) error
RemoveOfficershipForOfficershipMembers(ctx context.Context, officershipID int) error
RemoveUserForOfficershipMembers(ctx context.Context, userID int) error
}
type OfficershipTeam ¶ added in v0.9.6
type OfficershipTeam struct {
TeamID int `db:"team_id" json:"teamID"`
Name string `db:"name" json:"name"`
EmailAlias string `db:"email_alias" json:"emailAlias"`
ShortDescription string `db:"short_description" json:"shortDescription"`
FullDescription string `db:"full_description" json:"fullDescription"`
CurrentOfficerships int `db:"current_officerships" json:"currentOfficerships"`
CurrentOfficers int `db:"current_officers" json:"currentOfficers"`
}
OfficershipTeam represents relevant officership team fields
type OfficershipTeamAddEditDTO ¶ added in v0.9.6
type OfficershipTeamAddEditDTO struct {
Name string `db:"name" json:"name"`
EmailAlias string `db:"email_alias" json:"emailAlias"`
ShortDescription string `db:"short_description" json:"shortDescription"`
FullDescription string `db:"full_description" json:"fullDescription"`
}
OfficershipTeamAddEditDTO represents relevant officership team fields for adding and editing
type OfficershipTeamGetDTO ¶ added in v0.9.6
type OfficershipTeamGetDTO struct {
TeamID int `db:"team_id" json:"teamID"`
Name string `db:"name" json:"name"`
}
OfficershipTeamGetDTO represents relevant officership team fields for getting
type OfficershipTeamMember ¶ added in v0.9.6
type OfficershipTeamMember struct {
TeamID int `db:"team_id" json:"officershipTeamMemberID"`
OfficerID int `db:"officer_id" json:"officerID"`
IsLeader bool `db:"is_leader" json:"isLeader"`
IsDeputy bool `db:"is_deputy" json:"isDeputy"`
IsCurrent bool `db:"is_current" json:"isCurrent"`
OfficerName string `db:"officer_name" json:"officerName"`
CurrentOfficers int `db:"current_officers" json:"currentOfficers"`
PreviousOfficers int `db:"previous_officers" json:"previousOfficers"`
}
OfficershipTeamMember represents relevant officership team member fields
type OfficershipTeamMemberAddDTO ¶ added in v0.9.6
type OfficershipTeamMemberAddDTO struct {
TeamID int `db:"team_id" json:"officershipTeamMemberID"`
OfficerID int `db:"officer_id" json:"officerID"`
IsLeader bool `db:"is_leader" json:"isLeader"`
IsDeputy bool `db:"is_deputy" json:"isDeputy"`
}
OfficershipTeamMemberAddDTO represents relevant officership team member fields for adding
type OfficershipTeamMemberGetDeleteDTO ¶ added in v0.9.6
type OfficershipTeamMemberGetDeleteDTO struct {
TeamID int `db:"team_id" json:"officershipTeamMemberID"`
OfficerID int `db:"officer_id" json:"officerID"`
}
OfficershipTeamMemberGetDeleteDTO represents relevant officership team member fields for getting and deleting
type OfficershipsStatus ¶ added in v0.9.6
type OfficershipsStatus int
OfficershipsStatus indicates the state desired for a database get of officers
const ( Any OfficershipsStatus = iota Retired Current )
type Permission ¶
type Permission struct {
PermissionID int `db:"permission_id" json:"id"`
Name string `db:"name" json:"name"`
Description string `db:"description" json:"description,omitempty"`
}
Permission represents an individual permission.
type PermissionAddEditDTO ¶ added in v0.9.6
type PermissionAddEditDTO struct {
Name string `db:"name" json:"name"`
Description string `db:"description" json:"description,omitempty"`
}
PermissionAddEditDTO represents a permission to be added or edited.
type PermissionRepo ¶
type PermissionRepo interface {
ListAllPermissions(ctx context.Context) ([]Permission, error)
ListPermissionsWithRolesCount(ctx context.Context) ([]PermissionWithRolesCount, error)
ListPermissionMembersByID(ctx context.Context, permissionID int) ([]User, error)
GetPermission(ctx context.Context, permissionID int) (Permission, error)
GetPermissionWithRolesCount(ctx context.Context, permissionID int) (PermissionWithRolesCount, error)
AddPermission(ctx context.Context, permission PermissionAddEditDTO) (Permission, error)
EditPermission(ctx context.Context, permissionID int, permission PermissionAddEditDTO) (Permission, error)
DeletePermission(ctx context.Context, permissionID int) error
}
PermissionRepo defines all permission interactions
type PermissionWithRolesCount ¶ added in v0.9.6
type PermissionWithRolesCount struct {
PermissionID int `db:"permission_id" json:"id"`
Name string `db:"name" json:"name"`
Description string `db:"description" json:"description,omitempty"`
Roles int `db:"roles" json:"roles"`
}
PermissionWithRolesCount represents an individual permission with a count of how many roles ues this.
type Repo ¶ added in v0.9.6
type Repo interface {
UserRepo
RoleRepo
PermissionRepo
OfficershipRepo
}
type RoleAddEditDTO ¶ added in v0.9.6
type RoleFull ¶ added in v0.9.6
type RoleFull struct {
Role
Permissions []Permission `json:"permissions"`
Users []User `json:"users"`
}
type RoleGetDTO ¶ added in v0.9.6
RoleGetDTO represents relevant role fields for getting
type RolePermission ¶ added in v0.9.6
type RolePermission struct {
RoleID int `db:"role_id" json:"roleID"`
PermissionID int `db:"permission_id" json:"permissionID"`
}
RolePermission symbolises a link between a role.Role and permission.Permission
type RoleRepo ¶ added in v0.8.0
type RoleRepo interface {
ListAllRolesWithPermissions(ctx context.Context) ([]RoleWithPermissions, error)
ListAllRolesWithCount(ctx context.Context) ([]RoleWithCount, error)
GetRole(ctx context.Context, roleGetDTO RoleGetDTO) (Role, error)
GetRoleFull(ctx context.Context, roleID int) (RoleFull, error)
ListRoleMembersByID(ctx context.Context, roleID int) ([]User, int, error)
ListRolePermissionsByID(ctx context.Context, roleID int) ([]Permission, error)
AddRole(ctx context.Context, roleAdd RoleAddEditDTO) (Role, error)
EditRole(ctx context.Context, roleID int, roleEdit RoleAddEditDTO) (Role, error)
DeleteRole(ctx context.Context, roleID int) error
RemoveRoleForPermissions(ctx context.Context, roleID int) error
RemoveRoleForUsers(ctx context.Context, roleID int) error
GetRoleUser(ctx context.Context, roleUser RoleUser) (RoleUser, error)
GetUsersNotInRole(ctx context.Context, roleID int) ([]User, error)
AddRoleUser(ctx context.Context, roleUser RoleUser) (RoleUser, error)
RemoveRoleUser(ctx context.Context, roleUser RoleUser) error
RemoveUserForRoles(ctx context.Context, userID int) error
GetPermissionsForRole(ctx context.Context, roleID int) ([]Permission, error)
GetRolesForPermission(ctx context.Context, permissionID int) ([]Role, error)
GetRolePermission(ctx context.Context, rolePermission RolePermission) (RolePermission, error)
GetPermissionsNotInRole(ctx context.Context, roleID int) ([]Permission, error)
AddRolePermission(ctx context.Context, rolePermission RolePermission) (RolePermission, error)
RemoveRolePermission(ctx context.Context, rolePermission RolePermission) error
}
RoleRepo defines all role interaction
type RoleUser ¶ added in v0.9.6
type RoleUser struct {
RoleID int `db:"role_id" json:"roleID"`
UserID int `db:"user_id" json:"userID"`
}
RoleUser symbolises a link between a role.Role and User
type RoleWithCount ¶ added in v0.9.6
type RoleWithCount struct {
Role
Users int `db:"users" json:"users"`
Permissions int `db:"permissions" json:"permissions"`
}
RoleWithCount represents a "group" of permissions where multiple users can have this role, and they will inherit these permissions.
type RoleWithPermissions ¶ added in v0.9.6
type RoleWithPermissions struct {
Role
Permissions []Permission `json:"permissions"`
}
RoleWithPermissions represents a "group" of permissions where multiple users can have this role, and they will inherit these permissions.
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store contains our dependency
func (*Store) AddOfficership ¶ added in v0.9.6
func (s *Store) AddOfficership(ctx context.Context, officershipAdd OfficershipAddEditDTO) (OfficershipDB, error)
func (*Store) AddOfficershipMember ¶ added in v0.9.6
func (s *Store) AddOfficershipMember(ctx context.Context, officershipMemberAdd OfficershipMemberAddEditDTO) (OfficershipMemberDB, error)
func (*Store) AddOfficershipTeam ¶ added in v0.9.6
func (s *Store) AddOfficershipTeam(ctx context.Context, officershipTeamAdd OfficershipTeamAddEditDTO) (OfficershipTeam, error)
func (*Store) AddOfficershipTeamMember ¶ added in v0.9.6
func (s *Store) AddOfficershipTeamMember(ctx context.Context, officershipTeamMemberAdd OfficershipTeamMemberAddDTO) (OfficershipTeamMember, error)
func (*Store) AddPermission ¶ added in v0.9.6
func (s *Store) AddPermission(ctx context.Context, permission PermissionAddEditDTO) (Permission, error)
AddPermission adds a new permission
func (*Store) AddRolePermission ¶ added in v0.9.6
func (s *Store) AddRolePermission(ctx context.Context, rp1 RolePermission) (RolePermission, error)
AddRolePermission creates a link between a role.Role and permission.Permission
func (*Store) AddRoleUser ¶ added in v0.9.6
AddRoleUser creates a link between a role.Role and User
func (*Store) CountOfficerships ¶ added in v0.9.6
func (s *Store) CountOfficerships(ctx context.Context) (CountOfficerships, error)
func (*Store) CountUsersAll ¶ added in v0.9.6
func (s *Store) CountUsersAll(ctx context.Context) (CountUsers, error)
CountUsersAll will get the number of total users
func (*Store) DeleteOfficership ¶ added in v0.9.6
func (*Store) DeleteOfficershipMember ¶ added in v0.9.6
func (*Store) DeleteOfficershipTeam ¶ added in v0.9.6
func (*Store) DeleteOfficershipTeamMember ¶ added in v0.9.6
func (s *Store) DeleteOfficershipTeamMember(ctx context.Context, officershipTeamMemberDelete OfficershipTeamMemberGetDeleteDTO) error
func (*Store) DeletePermission ¶ added in v0.9.6
DeletePermission deletes a specific permission
func (*Store) DeleteRole ¶ added in v0.9.6
func (*Store) EditOfficership ¶ added in v0.9.6
func (s *Store) EditOfficership(ctx context.Context, officershipID int, officershipEdit OfficershipAddEditDTO) (OfficershipDB, error)
func (*Store) EditOfficershipMember ¶ added in v0.9.6
func (s *Store) EditOfficershipMember(ctx context.Context, officershipMemberID int, officershipMemberAdd OfficershipMemberAddEditDTO) (OfficershipMemberDB, error)
func (*Store) EditOfficershipTeam ¶ added in v0.9.6
func (s *Store) EditOfficershipTeam(ctx context.Context, officershipTeamID int, officershipTeamAdd OfficershipTeamAddEditDTO) (OfficershipTeam, error)
func (*Store) EditPermission ¶ added in v0.9.6
func (s *Store) EditPermission(ctx context.Context, permissionID int, permission PermissionAddEditDTO) (Permission, error)
EditPermission edits an existing permission
func (*Store) GetOfficership ¶ added in v0.9.6
func (s *Store) GetOfficership(ctx context.Context, officershipGetDTO OfficershipGetDTO) (OfficershipDB, error)
func (*Store) GetOfficershipMember ¶ added in v0.9.6
func (*Store) GetOfficershipMembers ¶ added in v0.9.6
func (s *Store) GetOfficershipMembers(ctx context.Context, officershipGet *OfficershipGetDTO, userID *int, officershipStatus OfficershipsStatus, officershipMemberStatus OfficershipsStatus, orderByOfficerName bool) ([]OfficershipMemberDB, error)
func (*Store) GetOfficershipTeam ¶ added in v0.9.6
func (s *Store) GetOfficershipTeam(ctx context.Context, officershipTeamGet OfficershipTeamGetDTO) (OfficershipTeam, error)
func (*Store) GetOfficershipTeamMember ¶ added in v0.9.6
func (s *Store) GetOfficershipTeamMember(ctx context.Context, officershipTeamMemberGet OfficershipTeamMemberGetDeleteDTO) (OfficershipTeamMember, error)
func (*Store) GetOfficershipTeamMembers ¶ added in v0.9.6
func (s *Store) GetOfficershipTeamMembers(ctx context.Context, officershipTeamID *int, officershipStatus OfficershipsStatus) ([]OfficershipTeamMember, error)
func (*Store) GetOfficershipTeams ¶ added in v0.9.6
func (s *Store) GetOfficershipTeams(ctx context.Context) ([]OfficershipTeam, error)
func (*Store) GetOfficerships ¶ added in v0.9.6
func (s *Store) GetOfficerships(ctx context.Context, officershipStatus OfficershipsStatus) ([]OfficershipDB, error)
func (*Store) GetOfficershipsNotInTeam ¶ added in v0.9.6
func (*Store) GetPermission ¶ added in v0.9.6
GetPermission returns a permission
func (*Store) GetPermissionWithRolesCount ¶ added in v0.9.6
func (s *Store) GetPermissionWithRolesCount(ctx context.Context, permissionID int) (PermissionWithRolesCount, error)
GetPermissionWithRolesCount returns a permission with a roles count
func (*Store) GetPermissionsForRole ¶ added in v0.9.6
GetPermissionsForRole returns all permissions for a role - moved here for cycle import reasons
func (*Store) GetPermissionsNotInRole ¶ added in v0.9.6
GetPermissionsNotInRole returns all the permissions not currently in the role.Role to be added
func (*Store) GetRoleFull ¶ added in v0.9.6
GetRoleFull returns all users and permissions of a certain role. It doesn't return the full User object. Returns user_id, avatar, nickname, first_name, last_name.
There will likely be modifications to include the other fields but will need to add a filter at the web handler first or offer a different function.
func (*Store) GetRolePermission ¶ added in v0.9.6
func (s *Store) GetRolePermission(ctx context.Context, rp1 RolePermission) (RolePermission, error)
GetRolePermission returns a role permission - moved here for cycle import reasons
func (*Store) GetRoleUser ¶ added in v0.9.6
GetRoleUser returns a role user - moved here for cycle import reasons
func (*Store) GetRolesForPermission ¶ added in v0.9.6
GetRolesForPermission returns all roles for a permission - moved here for cycle import reasons
func (*Store) GetUser ¶ added in v0.8.0
GetUser returns basic user information to be used for other services.
func (*Store) GetUserByEmail ¶ added in v0.9.5
GetUserByEmail returns basic user information to be used for other services.
func (*Store) GetUserByEmailFull ¶ added in v0.9.5
GetUserByEmailFull will return all user information to be used for profile and management.
func (*Store) GetUserFull ¶ added in v0.8.0
GetUserFull will return all user information to be used for profile and management.
func (*Store) GetUsersNotInRole ¶ added in v0.9.6
GetUsersNotInRole returns all the users not currently in the role.Role to be added
func (*Store) GetUsersPagination ¶ added in v0.9.6
func (s *Store) GetUsersPagination(ctx context.Context, size, page int, search, sortBy, direction, enabled, deleted string) ([]UserFullDB, int, error)
GetUsersPagination will get users search with sorting with size and page, enabled and deleted Use the parameter direction for determining of the sorting will be ascending(asc) or descending(desc)
func (*Store) ListAllPermissions ¶ added in v0.8.0
func (s *Store) ListAllPermissions(ctx context.Context) ([]Permission, error)
func (*Store) ListAllRolesWithCount ¶ added in v0.9.6
func (s *Store) ListAllRolesWithCount(ctx context.Context) ([]RoleWithCount, error)
func (*Store) ListAllRolesWithPermissions ¶ added in v0.9.6
func (s *Store) ListAllRolesWithPermissions(ctx context.Context) ([]RoleWithPermissions, error)
func (*Store) ListAllUsers ¶ added in v0.8.0
ListAllUsers returns all users. It doesn't return the full User object. Returns user_id, avatar, nickname, first_name, last_name.
There will likely be modifications to include the other fields but will need to add a filter at the web handler first or offer a different function.
func (*Store) ListPermissionMembersByID ¶ added in v0.8.0
func (*Store) ListPermissionsWithRolesCount ¶ added in v0.9.6
func (s *Store) ListPermissionsWithRolesCount(ctx context.Context) ([]PermissionWithRolesCount, error)
func (*Store) ListRoleMembersByID ¶ added in v0.8.0
ListRoleMembersByID returns all users who have a certain role. It doesn't return the full User object. Returns user_id, avatar, nickname, first_name, last_name.
There will likely be modifications to include the other fields but will need to add a filter at the web handler first or offer a different function.
func (*Store) ListRolePermissionsByID ¶ added in v0.8.0
func (*Store) OfficershipDBToOfficership ¶ added in v0.9.6
func (s *Store) OfficershipDBToOfficership(officershipDB OfficershipDB) Officership
func (*Store) OfficershipMemberDBToOfficershipMember ¶ added in v0.9.6
func (s *Store) OfficershipMemberDBToOfficershipMember(officershipDB OfficershipMemberDB) OfficershipMember
func (*Store) RemoveOfficershipForOfficershipMembers ¶ added in v0.9.6
func (*Store) RemoveRoleForPermissions ¶ added in v0.9.6
RemoveRoleForPermissions deletes links between a Role and Permissions
func (*Store) RemoveRoleForUsers ¶ added in v0.9.6
RemoveRoleForUsers deletes links between a Role and Users
func (*Store) RemoveRolePermission ¶ added in v0.9.6
func (s *Store) RemoveRolePermission(ctx context.Context, rp RolePermission) error
RemoveRolePermission removes a link between a role.Role and permission.Permission
func (*Store) RemoveRoleUser ¶ added in v0.9.6
RemoveRoleUser removes a link between a role.Role and User
func (*Store) RemoveTeamForOfficershipTeamMembers ¶ added in v0.9.6
func (*Store) RemoveUserForOfficershipMembers ¶ added in v0.9.6
type User ¶
type User struct {
UserID int `db:"user_id" json:"id"`
Username string `db:"username" json:"username,omitempty"`
Email string `db:"email" json:"email,omitempty"`
Nickname string `db:"nickname" json:"nickname"`
Avatar string `db:"avatar" json:"avatar"`
UseGravatar bool `db:"use_gravatar" json:"useGravatar"`
FirstName string `db:"first_name" json:"firstName"`
LastName string `db:"last_name" json:"lastName"`
Permissions []Permission `json:"permissions,omitempty"`
}
User represents a user object to be used when not all data is required
type UserFull ¶
type UserFull struct {
User
LastLogin *time.Time `json:"lastLogin,omitempty"`
Enabled bool `json:"enabled"`
CreatedAt *time.Time `json:"createdAt,omitempty"`
CreatedBy *int64 `json:"createdBy,omitempty"`
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
UpdatedBy *int64 `json:"updatedBy,omitempty"`
DeletedAt *time.Time `json:"deletedAt,omitempty"`
DeletedBy *int64 `json:"deletedBy,omitempty"`
Roles []Role `json:"roles,omitempty"`
}
UserFull represents a user and all columns
type UserFullDB ¶ added in v0.9.6
type UserFullDB struct {
User
LastLogin null.Time `db:"last_login"`
Enabled bool `db:"enabled"`
CreatedAt null.Time `db:"created_at"`
CreatedBy null.Int `db:"created_by"`
UpdatedAt null.Time `db:"updated_at"`
UpdatedBy null.Int `db:"updated_by"`
DeletedAt null.Time `db:"deleted_at"`
DeletedBy null.Int `db:"deleted_by"`
Roles []Role
}
UserFullDB represents a user and all columns
type UserFullPagination ¶ added in v0.9.6
type UserRepo ¶
type UserRepo interface {
CountUsersAll(ctx context.Context) (CountUsers, error)
ListAllUsers(ctx context.Context) ([]User, error)
GetUser(ctx context.Context, userID int) (User, error)
GetUserFull(ctx context.Context, userID int) (UserFullDB, error)
GetUserByEmail(ctx context.Context, email string) (User, error)
GetUserByEmailFull(ctx context.Context, email string) (UserFullDB, error)
GetUsersPagination(ctx context.Context, size, page int, search, sortBy, direction, enabled,
deleted string) ([]UserFullDB, int, error)
}
UserRepo defines all user interactions