Files
stufflog3/usecases/projects/repository.go
T
gisle 3a8bb9709f
continuous-integration/drone/push Build is passing
improve sprint item picker.
2022-07-06 19:56:10 +02:00

24 lines
1.3 KiB
Go

package projects
import (
"context"
"git.aiterp.net/stufflog3/stufflog3/entities"
"git.aiterp.net/stufflog3/stufflog3/models"
)
type Repository interface {
Find(ctx context.Context, scopeID, projectID int) (*entities.Project, error)
List(ctx context.Context, scopeID int) ([]entities.Project, error)
FetchProjects(ctx context.Context, scopeID int, ids ...int) ([]entities.Project, error)
Insert(ctx context.Context, project entities.Project) (*entities.Project, error)
Update(ctx context.Context, project entities.Project, update models.ProjectUpdate) error
Delete(ctx context.Context, project entities.Project) error
FetchRequirements(ctx context.Context, scopeID int, requirementIDs ...int) ([]entities.Requirement, []entities.RequirementStat, error)
ListRequirements(ctx context.Context, projectID int) ([]entities.Requirement, []entities.RequirementStat, error)
CreateRequirement(ctx context.Context, requirement entities.Requirement) (*entities.Requirement, error)
UpdateRequirement(ctx context.Context, requirement entities.Requirement, update models.RequirementUpdate) error
DeleteRequirement(ctx context.Context, requirement entities.Requirement) error
UpsertRequirementStat(ctx context.Context, stat entities.RequirementStat) error
DeleteRequirementStat(ctx context.Context, stat entities.RequirementStat) error
}