Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrInvalid = errors.New("invalid")
var ErrNotFound = errors.New("not found")
Application error codes.
Functions ¶
This section is empty.
Types ¶
type Leaderboard ¶
type Leaderboard struct { Date MonthYear MostReceivedLikesMember Member MostReceivedDislikesMember Member }
Leaderboard represents the Slack user(s) with the most likes and dislikes for a particular month in a given year.
type LeaderboardService ¶
type LeaderboardService interface { // FindLeaderboard retrives a Leadboard by its date (year and month). // Returns ErrNotFound if no matches are found. FindLeaderboard(Date MonthYear) (*Leaderboard, error) }
LeaderboardService represents a service for managing a Leaderboard.
type Member ¶
type Member struct { ID int `json:"id"` Date MonthYear `json:"date"` SlackUID string `json:"slackUID"` ReceivedLikes int `json:"receivedLikes"` ReceivedDislikes int `json:"receivedDislikes"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `jons:"updatedAt"` }
Member represents reactions pertaining to a particular member of the slack organization within a given month and year.
type MemberService ¶
type MemberService interface { // FindMemberByID retrieves a Member by ID. // Returns ErrNotFound if the ID does not exist. FindMemberByID(id int) (*Member, error) // FindMember retrives a Member by his Slack User ID, and date (month and year). // Returns ErrNotFound if no matches found. FindMember(SlackUID string, date MonthYear) (*Member, error) // CreateMember creates a new Member. CreateMember(m *Member) error // UpdateMember updates a Member. // Returns ErrNotFound if the member does not exist. UpdateMember(id int, upd MemberUpdate) (*Member, error) // DeleteMember permanently deletes a Member DeleteMember(id int) error }
MemberService represents a service for managing a Member.
type MemberUpdate ¶
MemberUpdate represents a set of fields to be updated via UpdateMember().
type MonthYear ¶
type MonthYear string
MonthYear represents a string with the following format: <month>-<year>. I.e. `02-2024` represents February 2024.
func NewMonthYear ¶
NewMonthYear returns a new instance of MonthYear.
func NewMonthYearString ¶
NewMonthYearString returns a new instance of MonthYear.