Versions in this module Expand all Collapse all v0 v0.1.1 Jul 14, 2024 v0.1.0 Jul 13, 2024 Changes in this version + type CatBreedChecker interface + CheckBreed func(ctx context.Context, breed string) (formattedBreed string, err error) + type CatsRepository interface + All func(ctx context.Context) ([]*models.Cat, error) + Create func(ctx context.Context, params dto.CreateCatParams) (catID int, err error) + Delete func(ctx context.Context, catID int) (err error) + One func(ctx context.Context, catID int) (*models.Cat, error) + Update func(ctx context.Context, params dto.UpdateCatParams) (err error) + type MissionsRepository interface + All func(ctx context.Context, params dto.GetMissionsParams) ([]*models.Mission, error) + Create func(ctx context.Context) (missionID int, err error) + Delete func(ctx context.Context, missionID int) (err error) + One func(ctx context.Context, missionID int) (*models.Mission, error) + Update func(ctx context.Context, params dto.UpdateMissionParams) (err error) + type NotesRepository interface + All func(ctx context.Context, missionID int, targetID int) ([]*models.Note, error) + Create func(ctx context.Context, missionID int, targetID int, contents []string) error + type Service struct + func NewService(catBreedChecker CatBreedChecker, catsRepository CatsRepository, ...) *Service + func (s Service) AddCat(ctx context.Context, params dto.CreateCatParams) (catID int, err error) + func (s Service) AddMissionTargets(ctx context.Context, missionID int, newTargets []dto.CreateTargetParams) (err error) + func (s Service) AddTargetNote(ctx context.Context, missionID, targetID int, contents []string) (err error) + func (s Service) CompleteTargetByID(ctx context.Context, missionID, targetID int) (err error) + func (s Service) CreateMission(ctx context.Context, params dto.CreateMissionParams) (missionID int, err error) + func (s Service) DeleteCatByID(ctx context.Context, catID int) error + func (s Service) DeleteMissionByID(ctx context.Context, missionID int) (err error) + func (s Service) DeleteTargetByID(ctx context.Context, missionID, targetID int) (err error) + func (s Service) GetCatByID(ctx context.Context, catID int) (*models.Cat, error) + func (s Service) GetCats(ctx context.Context) ([]*models.Cat, error) + func (s Service) GetMissionByID(ctx context.Context, missionID int) (out *models.MissionFull, err error) + func (s Service) GetMissions(ctx context.Context, params dto.GetMissionsParams) ([]*models.Mission, error) + func (s Service) GetTargetByID(ctx context.Context, missionID, targetID int) (out *models.TargetFull, err error) + func (s Service) GetTargetsByMissionID(ctx context.Context, missionID int) (out []*models.TargetFull, err error) + func (s Service) UpdateCatByID(ctx context.Context, params dto.UpdateCatParams) error + func (s Service) UpdateMissionByID(ctx context.Context, params dto.UpdateMissionParams) (err error) + type TargetsRepository interface + All func(ctx context.Context, missionID int) ([]*models.Target, error) + Create func(ctx context.Context, missionID int, lastTargetID int, ...) error + Delete func(ctx context.Context, missionID int, targetID int) (err error) + One func(ctx context.Context, missionID int, targetID int) (*models.Target, error) + Update func(ctx context.Context, missionID int, targetID int, completed *bool) (err error) + type Transactor interface + WithinTransaction func(ctx context.Context, f func(ctx context.Context) error) error