26 lines
970 B
Go
26 lines
970 B
Go
package items
|
|
|
|
import (
|
|
"context"
|
|
"git.aiterp.net/stufflog3/stufflog3/entities"
|
|
"git.aiterp.net/stufflog3/stufflog3/models"
|
|
)
|
|
|
|
type Repository interface {
|
|
Find(ctx context.Context, scopeID, itemID int) (*entities.Item, error)
|
|
Fetch(ctx context.Context, filter models.ItemFilter) ([]entities.Item, error)
|
|
Insert(ctx context.Context, item entities.Item) (*entities.Item, error)
|
|
Update(ctx context.Context, item entities.Item, update models.ItemUpdate) error
|
|
Delete(ctx context.Context, item entities.Item) error
|
|
ListStat(ctx context.Context, items ...entities.Item) ([]entities.ItemStat, error)
|
|
UpdateStat(ctx context.Context, progress entities.ItemStat) error
|
|
}
|
|
|
|
type ProjectFetcher interface {
|
|
FetchProjects(ctx context.Context, scopeID int, ids ...int) ([]entities.Project, error)
|
|
}
|
|
|
|
type RequirementFetcher interface {
|
|
FetchRequirements(ctx context.Context, scopeID int, requirementIDs ...int) ([]entities.Requirement, []entities.RequirementStat, error)
|
|
}
|