# Functions
ExtractJobFromActionID extracts the job type from a Slack action ID.
FormatSlackActionID creates a pipe ("|") separated Slack action ID string consisting of the job type as the key and an arbitrary value to uniquely identify an interactive Slack component.
JobRequiresSlackChannel ...
NewJob creates a new *Job that will be scheduled with standard execution priority.
ParseConnectionMode parses a connection mode given by its name.
ParseGender parses a gender given by its name.
ParseInterval parses a chat roulette interval given by its name.
# Constants
Biweekly is every 2 weeks, 14 days.
Female represents the female gender.
HybridConnectionMode represents both a virtual or physical connection.
No description provided by the author
JobPriority are the priorities to use for jobs.
No description provided by the author
No description provided by the author
No description provided by the author
JobStatusCanceled is the status when a job is canceled.
JobStatusErrored is the status for a job that has hit an error, but can be retried.
JobStatusFailed is the status when a job has failed and would not succeed even if retried.
JobStatusPending is the default status for new jobs and jobs waiting to be retried.
JobStatusSucceeded is the status when a job has completed successfully.
JobStatusUnknown is reserved and unused.
JobTypeAddChannel is the job for adding a new Slack channel.
JobTypeAddMember is the job for adding a new Slack member for a channel.
JobTypeCheckPair is the job for checking if a pair has met for a round of chat roulette.
JobTypeCreateMatches is the job for creating matches for a round of chat roulette.
JobTypeCreatePair is the job for creating a pair for a round of chat roulette.
JobTypeCreateRound is the job for starting a new chat roulette round for a channel.
JobTypeDeleteChannel is the job for deleting a Slack channel.
JobTypeDeleteMember is the job for deleting a Slack member for a channel.
JobTypeEndRound is the job for ending a running chat roulette round for a channel.
JobTypeGreetAdmin is the job for greeting the admin of a new Slack channel.
JobTypeGreetMember is the job for greeting a new Slack member for a channel.
JobTypeNotifyMember is the job for notifying a Slack member that they have not been matched in a round of chat roulette.
JobTypeNotifyPair is the job for notifying a pair for a round of chat roulette.
JobTypeReportStats is the job for generating report for a chat roulette round.
JobTypeSyncChannels is the job for syncing Slack channels with the database.
JobTypeSyncMembers is the job for syncing Slack members with the database.
JobTypeUnknown is reserved and unused.
JobTypeUpdateChannel is the job for updating settings for a Slack channel.
JobTypeUpdateMatch is the job for updating the status of a match at the end of a round of chat roulette.
JobTypeUpdateMember is the job for updating a Slack member for a channel.
Male represents the male gender.
Monthly is every month on the same week.
PhysicalConnectionMode represents a physical connection in the real world.
Quadweekly is every 4 weeks, 28 days.
Triweekly is every 3 weeks, 21 days.
VirtualConnectionMode represents a virtual connection over Zoom, Meet, etc.
Weekly is every 7 days.
# Variables
ErrInvalidConnectionMode is returned when an invalid chat-roulette connection mode is used.
ErrInvalidGender is returned when an invalid gender is used.
ErrInvalidInterval is returned when an invalid chat roulette interval is used.
ErrInvalidJobStatus is returned when an invalid job status is used.
ErrInvalidJobType is returned when an invalid job type is used.
ErrNilGender is returned when gender is nil.
# Structs
Channel represents a row in the channels table.
GenericJob is the generic representation of a background job with job parameters, priority, and execution time.
Job represents a row in the jobs table.
Match represents a row in the matches table.
Member represents a row in the members table.
Pairing represents a row in the pairings table.
Round represents a row in the rounds table.
# Type aliases
ConnectionMode is an enum for connection modes.
Gender is an enum for gender values.
IntervalEnum is an enum for chat roulette intervals.