You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
1.5 KiB
25 lines
1.5 KiB
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)
|
|
ListByTags(ctx context.Context, scopeID int, tags []string) ([]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)
|
|
ListRequirementsByScope(ctx context.Context, scopeID 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
|
|
}
|