Documentation ¶
Index ¶
- func AddSchedule(r ScheduleRepo, s *schedule.Schedule, checkSchedule chan<- bool) (ScheduleID, Error)
- func AddTask(r TaskRepo, t *task.Task) (*TaskData, Error)
- func CheckSchedules(taskRepo TaskRepo, scheduleRepo ScheduleRepo) (time.Time, error)
- func GetSchedule(r ScheduleRepo, id ScheduleID, uid user.ID) (*ScheduleData, Error)
- func GetTask(r TaskRepo, id TaskID, uid user.ID) (*TaskData, Error)
- type Error
- func AddOrUpdateExternalUser(r UserRepo, providerID string, externalID string, displayname string) (*user.User, Error)
- func AddRecurringTask(r ScheduleRepo, id ScheduleID, uid user.ID, rt schedule.RecurringTask) Error
- func ClearCompletedTasks(r TaskRepo, uid user.ID) (int, Error)
- func ClearTask(r TaskRepo, id TaskID, uid user.ID) (bool, Error)
- func CompleteTask(r TaskRepo, id TaskID, uid user.ID) (bool, Error)
- func GetExternalUser(r UserRepo, providerID string, externalID string) (*user.User, Error)
- func ListSchedules(r ScheduleRepo, uid user.ID) (map[ScheduleID]*schedule.Schedule, Error)
- func ListTasks(r TaskRepo, uid user.ID) (map[TaskID]*task.Task, Error)
- func NewError(code ErrorCode, format string, a ...interface{}) Error
- func PauseSchedule(r ScheduleRepo, id ScheduleID, uid user.ID, checkSchedule chan<- bool) Error
- func RemoveRecurringTask(r ScheduleRepo, id ScheduleID, uid user.ID, rt schedule.RecurringTask) Error
- func RemoveSchedule(r ScheduleRepo, id ScheduleID, uid user.ID, checkSchedule chan<- bool) Error
- func UnpauseSchedule(r ScheduleRepo, id ScheduleID, uid user.ID, checkSchedule chan<- bool) Error
- type ErrorCode
- type ScheduleData
- type ScheduleID
- type ScheduleRepo
- type TaskData
- type TaskID
- type TaskRepo
- type UserRepo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddSchedule ¶
func AddSchedule(r ScheduleRepo, s *schedule.Schedule, checkSchedule chan<- bool) (ScheduleID, Error)
AddSchedule adds a new schedule
func CheckSchedules ¶
func CheckSchedules(taskRepo TaskRepo, scheduleRepo ScheduleRepo) (time.Time, error)
CheckSchedules checks all schedules, determines all recurrences that have occurred, and when the next run is needed
func GetSchedule ¶
func GetSchedule(r ScheduleRepo, id ScheduleID, uid user.ID) (*ScheduleData, Error)
GetSchedule returns a single schedule
Types ¶
type Error ¶
type Error interface { Code() ErrorCode Error() string Prefix(format string, a ...interface{}) Error }
Error defines the custom use case error interface
func AddOrUpdateExternalUser ¶
func AddOrUpdateExternalUser(r UserRepo, providerID string, externalID string, displayname string) (*user.User, Error)
AddOrUpdateExternalUser looks up a user by an external provider's ID, then either adds them or updates their displayname if needed
func AddRecurringTask ¶
func AddRecurringTask(r ScheduleRepo, id ScheduleID, uid user.ID, rt schedule.RecurringTask) Error
AddRecurringTask adds a new recurring task to the schedule
func ClearCompletedTasks ¶
ClearCompletedTasks clears all completed tasks, returning the number completed and an error
func ClearTask ¶
ClearTask clears (removes) a single task, regardless of whether it has been completed
func CompleteTask ¶
CompleteTask completes an existing task
func GetExternalUser ¶
GetExternalUser looks up a user by an external provider's ID, then returns it
func ListSchedules ¶
func ListSchedules(r ScheduleRepo, uid user.ID) (map[ScheduleID]*schedule.Schedule, Error)
ListSchedules returns all schedules
func PauseSchedule ¶
func PauseSchedule(r ScheduleRepo, id ScheduleID, uid user.ID, checkSchedule chan<- bool) Error
PauseSchedule pauses the schedule
func RemoveRecurringTask ¶
func RemoveRecurringTask(r ScheduleRepo, id ScheduleID, uid user.ID, rt schedule.RecurringTask) Error
RemoveRecurringTask removes the recurring task at the specified index from the schedule
func RemoveSchedule ¶
func RemoveSchedule(r ScheduleRepo, id ScheduleID, uid user.ID, checkSchedule chan<- bool) Error
RemoveSchedule removes a schedule
func UnpauseSchedule ¶
func UnpauseSchedule(r ScheduleRepo, id ScheduleID, uid user.ID, checkSchedule chan<- bool) Error
UnpauseSchedule unpauses the schedule
type ErrorCode ¶
type ErrorCode uint8
ErrorCode use case error type
type ScheduleData ¶
type ScheduleData struct { ScheduleID ScheduleID Schedule *schedule.Schedule }
ScheduleData contains application-level task info
type ScheduleRepo ¶
type ScheduleRepo interface { Get(ScheduleID) (*schedule.Schedule, Error) GetForUser(ScheduleID, user.ID) (*schedule.Schedule, Error) GetAll() (map[ScheduleID]*schedule.Schedule, Error) GetAllForUser(user.ID) (map[ScheduleID]*schedule.Schedule, Error) GetAllScheduled() (map[ScheduleID]*schedule.Schedule, Error) Add(*schedule.Schedule) (ScheduleID, Error) Update(ScheduleID, *schedule.Schedule) Error }
ScheduleRepo defines the task repository interface required by use cases
type TaskRepo ¶
type TaskRepo interface { GetForUser(TaskID, user.ID) (*task.Task, Error) GetAll() (map[TaskID]*task.Task, Error) GetAllForUser(user.ID) (map[TaskID]*task.Task, Error) Add(*task.Task) (TaskID, Error) Update(TaskID, *task.Task) Error }
TaskRepo defines the task repository interface required by use cases