Documentation ¶
Index ¶
- func AnyTasksModified(as map[int64]schedule.RecurringTask, bs []schedule.RecurringTask) bool
- type DBConn
- type Logger
- type ScheduleRepo
- func (r *ScheduleRepo) Add(s *schedule.Schedule) (usecase.ScheduleID, usecase.Error)
- func (r *ScheduleRepo) Get(id usecase.ScheduleID) (*schedule.Schedule, usecase.Error)
- func (r *ScheduleRepo) GetAll() (map[usecase.ScheduleID]*schedule.Schedule, usecase.Error)
- func (r *ScheduleRepo) GetAllForUser(uid user.ID) (map[usecase.ScheduleID]*schedule.Schedule, usecase.Error)
- func (r *ScheduleRepo) GetAllScheduled() (map[usecase.ScheduleID]*schedule.Schedule, usecase.Error)
- func (r *ScheduleRepo) GetForUser(id usecase.ScheduleID, uid user.ID) (*schedule.Schedule, usecase.Error)
- func (r *ScheduleRepo) Update(id usecase.ScheduleID, s *schedule.Schedule) usecase.Error
- type TaskRepo
- func (r *TaskRepo) Add(t *task.Task) (usecase.TaskID, usecase.Error)
- func (r *TaskRepo) Get(id usecase.TaskID) (*task.Task, usecase.Error)
- func (r *TaskRepo) GetAll() (map[usecase.TaskID]*task.Task, usecase.Error)
- func (r *TaskRepo) GetAllForUser(uid user.ID) (map[usecase.TaskID]*task.Task, usecase.Error)
- func (r *TaskRepo) GetForUser(id usecase.TaskID, uid user.ID) (*task.Task, usecase.Error)
- func (r *TaskRepo) Update(id usecase.TaskID, t *task.Task) usecase.Error
- type UserRepo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AnyTasksModified ¶
func AnyTasksModified(as map[int64]schedule.RecurringTask, bs []schedule.RecurringTask) bool
AnyTasksModified returns whether the map of recurring tasks contains all entries in the slice of recurring tasks
Types ¶
type DBConn ¶
type DBConn struct { Host string Port int User string Password string Name string MaxRetryAttempts int RetrySleepSeconds int DB *sql.DB AppName string // contains filtered or unexported fields }
DBConn contains DB connection data
func NewDBConn ¶
NewDBConn creates struct with default DB connection info, and overrides with environment variables if set
type Logger ¶
type Logger interface { Print(v ...interface{}) Printf(format string, v ...interface{}) Println(v ...interface{}) }
Logger interface needed for postgres log messages
type ScheduleRepo ¶
type ScheduleRepo struct {
// contains filtered or unexported fields
}
ScheduleRepo persists schedule data in a PostgreSQL DB
func NewScheduleRepo ¶
func NewScheduleRepo(conn DBConn) (repo *ScheduleRepo, err error)
NewScheduleRepo instantiates a new ScheduleRepo
func (*ScheduleRepo) Add ¶
func (r *ScheduleRepo) Add(s *schedule.Schedule) (usecase.ScheduleID, usecase.Error)
Add adds a schedule to the persisence layer
func (*ScheduleRepo) Get ¶
func (r *ScheduleRepo) Get(id usecase.ScheduleID) (*schedule.Schedule, usecase.Error)
Get retrieves a schedule aggregate, given its persistent ID
func (*ScheduleRepo) GetAll ¶
func (r *ScheduleRepo) GetAll() (map[usecase.ScheduleID]*schedule.Schedule, usecase.Error)
GetAll retrieves all schedules
func (*ScheduleRepo) GetAllForUser ¶
func (r *ScheduleRepo) GetAllForUser(uid user.ID) (map[usecase.ScheduleID]*schedule.Schedule, usecase.Error)
GetAllForUser retrieves all schedules created by the given user
func (*ScheduleRepo) GetAllScheduled ¶
func (r *ScheduleRepo) GetAllScheduled() (map[usecase.ScheduleID]*schedule.Schedule, usecase.Error)
GetAllScheduled retrieves all unpaused schedules that haven't been removed
func (*ScheduleRepo) GetForUser ¶
func (r *ScheduleRepo) GetForUser(id usecase.ScheduleID, uid user.ID) (*schedule.Schedule, usecase.Error)
GetForUser retrieves a schedule entity for a user, given its persistent ID
func (*ScheduleRepo) Update ¶
func (r *ScheduleRepo) Update(id usecase.ScheduleID, s *schedule.Schedule) usecase.Error
Update updates a schedule's persistent data to the given aggregate values
type TaskRepo ¶
type TaskRepo struct {
// contains filtered or unexported fields
}
TaskRepo handles persisting task data and maintaining an in-memory cache
func NewTaskRepo ¶
NewTaskRepo instantiates a new TaskRepo
func (*TaskRepo) GetAllForUser ¶
GetAllForUser retrieves all tasks for a user
func (*TaskRepo) GetForUser ¶
GetForUser retrieves a task entity, given its persistent ID and user ID
type UserRepo ¶
type UserRepo struct {
// contains filtered or unexported fields
}
UserRepo handles persisting user data
func NewUserRepo ¶
NewUserRepo instantiates a new UserRepo
func (*UserRepo) AddExternal ¶
AddExternal adds a user and associates it to a provider and external ID
func (*UserRepo) GetExternal ¶
GetExternal gets a user given its provider and external ID