officership

package
v1.1.6 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2025 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CountOfficerships

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 Officership

type Officership 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"`
}

Officership represents relevant officership fields

type OfficershipMember

type OfficershipMember 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"`
}

OfficershipMember represents relevant officership member fields

type OfficershipTeam

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 OfficershipTeamMember

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 OfficershipsStatus

type OfficershipsStatus int

OfficershipsStatus indicates the state desired for a database get of officers

const (
	Any OfficershipsStatus = iota
	Retired
	Current
)

type Repo added in v1.1.0

type Repo interface {
	CountOfficerships(context.Context) (CountOfficerships, error)
	GetOfficerships(context.Context, OfficershipsStatus) ([]Officership, error)
	GetOfficership(context.Context, Officership) (Officership, error)
	AddOfficership(context.Context, Officership) (Officership, error)
	EditOfficership(context.Context, Officership) (Officership, error)
	DeleteOfficership(context.Context, Officership) error
	GetOfficershipTeams(context.Context) ([]OfficershipTeam, error)
	GetOfficershipTeam(context.Context, OfficershipTeam) (OfficershipTeam, error)
	AddOfficershipTeam(context.Context, OfficershipTeam) (OfficershipTeam, error)
	EditOfficershipTeam(context.Context, OfficershipTeam) (OfficershipTeam, error)
	DeleteOfficershipTeam(context.Context, OfficershipTeam) error
	GetOfficershipTeamMembers(context.Context, *OfficershipTeam, OfficershipsStatus) ([]OfficershipTeamMember, error)
	GetOfficershipsNotInTeam(context.Context, OfficershipTeam) ([]Officership, error)
	GetOfficershipTeamMember(context.Context, OfficershipTeamMember) (OfficershipTeamMember, error)
	AddOfficershipTeamMember(context.Context, OfficershipTeamMember) (OfficershipTeamMember, error)
	DeleteOfficershipTeamMember(context.Context, OfficershipTeamMember) error
	RemoveTeamForOfficershipTeamMembers(context.Context, OfficershipTeam) error
	GetOfficershipMembers(context.Context, *Officership, *user.User, OfficershipsStatus, OfficershipsStatus, bool) ([]OfficershipMember, error)
	GetOfficershipMember(context.Context, OfficershipMember) (OfficershipMember, error)
	AddOfficershipMember(context.Context, OfficershipMember) (OfficershipMember, error)
	EditOfficershipMember(context.Context, OfficershipMember) (OfficershipMember, error)
	DeleteOfficershipMember(context.Context, OfficershipMember) error
	RemoveOfficershipForOfficershipMembers(context.Context, Officership) error
	RemoveUserForOfficershipMembers(context.Context, user.User) error
}

type Store

type Store struct {
	// contains filtered or unexported fields
}

Store stores the dependencies

func NewOfficershipRepo

func NewOfficershipRepo(db *sqlx.DB) *Store

NewOfficershipRepo stores our dependency

func (*Store) AddOfficership

func (s *Store) AddOfficership(ctx context.Context, o Officership) (Officership, error)

func (*Store) AddOfficershipMember

func (s *Store) AddOfficershipMember(ctx context.Context, m OfficershipMember) (OfficershipMember, error)

func (*Store) AddOfficershipTeam

func (s *Store) AddOfficershipTeam(ctx context.Context, t OfficershipTeam) (OfficershipTeam, error)

func (*Store) AddOfficershipTeamMember

func (s *Store) AddOfficershipTeamMember(ctx context.Context, m OfficershipTeamMember) (OfficershipTeamMember, error)

func (*Store) CountOfficerships

func (s *Store) CountOfficerships(ctx context.Context) (CountOfficerships, error)

func (*Store) DeleteOfficership

func (s *Store) DeleteOfficership(ctx context.Context, o Officership) error

func (*Store) DeleteOfficershipMember

func (s *Store) DeleteOfficershipMember(ctx context.Context, m OfficershipMember) error

func (*Store) DeleteOfficershipTeam

func (s *Store) DeleteOfficershipTeam(ctx context.Context, t OfficershipTeam) error

func (*Store) DeleteOfficershipTeamMember

func (s *Store) DeleteOfficershipTeamMember(ctx context.Context, m OfficershipTeamMember) error

func (*Store) EditOfficership

func (s *Store) EditOfficership(ctx context.Context, o Officership) (Officership, error)

func (*Store) EditOfficershipMember

func (s *Store) EditOfficershipMember(ctx context.Context, m OfficershipMember) (OfficershipMember, error)

func (*Store) EditOfficershipTeam

func (s *Store) EditOfficershipTeam(ctx context.Context, t OfficershipTeam) (OfficershipTeam, error)

func (*Store) GetOfficership

func (s *Store) GetOfficership(ctx context.Context, o Officership) (Officership, error)

func (*Store) GetOfficershipMember

func (s *Store) GetOfficershipMember(ctx context.Context, m OfficershipMember) (OfficershipMember, error)

func (*Store) GetOfficershipMembers

func (s *Store) GetOfficershipMembers(ctx context.Context, o *Officership, u *user.User, officershipStatus,
	officershipMemberStatus OfficershipsStatus, orderByOfficerName bool) ([]OfficershipMember, error)

func (*Store) GetOfficershipTeam

func (s *Store) GetOfficershipTeam(ctx context.Context, t OfficershipTeam) (OfficershipTeam, error)

func (*Store) GetOfficershipTeamMember

func (s *Store) GetOfficershipTeamMember(ctx context.Context, m OfficershipTeamMember) (OfficershipTeamMember, error)

func (*Store) GetOfficershipTeamMembers

func (s *Store) GetOfficershipTeamMembers(ctx context.Context, t *OfficershipTeam,
	officershipStatus OfficershipsStatus) ([]OfficershipTeamMember, error)

func (*Store) GetOfficershipTeams

func (s *Store) GetOfficershipTeams(ctx context.Context) ([]OfficershipTeam, error)

func (*Store) GetOfficerships

func (s *Store) GetOfficerships(ctx context.Context, officershipStatus OfficershipsStatus) ([]Officership, error)

func (*Store) GetOfficershipsNotInTeam

func (s *Store) GetOfficershipsNotInTeam(ctx context.Context, officershipTeam OfficershipTeam) ([]Officership, error)

func (*Store) RemoveOfficershipForOfficershipMembers

func (s *Store) RemoveOfficershipForOfficershipMembers(ctx context.Context, o Officership) error

func (*Store) RemoveTeamForOfficershipTeamMembers

func (s *Store) RemoveTeamForOfficershipTeamMembers(ctx context.Context, t OfficershipTeam) error

func (*Store) RemoveUserForOfficershipMembers

func (s *Store) RemoveUserForOfficershipMembers(ctx context.Context, u user.User) error

Directories

Path Synopsis
Package mock_officership is a generated GoMock package.
Package mock_officership is a generated GoMock package.

Jump to

Keyboard shortcuts

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