Documentation
¶
Index ¶
- Variables
- func DefaultTemplateNames() []string
- type CreateInput
- type DeleteResult
- type ListResult
- type Optional
- type Repository
- type Service
- func (s *Service) Create(ctx context.Context, input CreateInput) (Status, error)
- func (s *Service) Delete(ctx context.Context, statusID uuid.UUID) (DeleteResult, error)
- func (s *Service) Get(ctx context.Context, statusID uuid.UUID) (Status, error)
- func (s *Service) List(ctx context.Context, projectID uuid.UUID) (ListResult, error)
- func (s *Service) ResetToDefaultTemplate(ctx context.Context, projectID uuid.UUID) ([]Status, error)
- func (s *Service) ResolveStatusIDByName(ctx context.Context, projectID uuid.UUID, name string) (uuid.UUID, error)
- func (s *Service) Update(ctx context.Context, input UpdateInput) (Status, error)
- type Status
- type StatusRuntimeSnapshot
- type UpdateInput
Constants ¶
This section is empty.
Variables ¶
var ( // Ticket status service errors describe invalid or conflicting status operations. ErrProjectNotFound = domain.ErrProjectNotFound ErrStatusNotFound = domain.ErrStatusNotFound ErrDuplicateStatusName = domain.ErrDuplicateStatusName ErrDefaultStatusRequired = domain.ErrDefaultStatusRequired ErrDefaultStatusStage = domain.ErrDefaultStatusStage ErrCannotDeleteLastStatus = domain.ErrCannotDeleteLastStatus ErrReplacementStatusAbsent = domain.ErrReplacementStatusAbsent )
Functions ¶
func DefaultTemplateNames ¶
func DefaultTemplateNames() []string
DefaultTemplateNames returns the built-in default status names in display order.
Types ¶
type CreateInput ¶
type CreateInput = domain.CreateInput
CreateInput carries the fields required to create a ticket status.
type DeleteResult ¶
type DeleteResult = domain.DeleteResult
DeleteResult reports which status was deleted and which status replaced it.
type ListResult ¶
type ListResult = domain.ListResult
ListResult is the ordered ticket status board payload.
type Repository ¶
type Repository interface {
List(ctx context.Context, projectID uuid.UUID) ([]domain.Status, error)
ResolveStatusIDByName(ctx context.Context, projectID uuid.UUID, name string) (uuid.UUID, error)
Get(ctx context.Context, statusID uuid.UUID) (domain.Status, error)
Create(ctx context.Context, input domain.CreateInput) (domain.Status, error)
Update(ctx context.Context, input domain.UpdateInput) (domain.Status, error)
Delete(ctx context.Context, statusID uuid.UUID) (domain.DeleteResult, error)
ResetToDefaultTemplate(ctx context.Context, projectID uuid.UUID, template []domain.TemplateStatus) ([]domain.Status, error)
ListProjectStatusRuntimeSnapshots(ctx context.Context, projectID uuid.UUID) ([]domain.StatusRuntimeSnapshot, error)
ListStatusRuntimeSnapshots(ctx context.Context) ([]domain.StatusRuntimeSnapshot, error)
}
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service provides project ticket status management.
func NewService ¶
func NewService(repo Repository) *Service
NewService constructs a ticket status service backed by the provided repository.
func (*Service) Delete ¶
Delete removes a ticket status and reassigns affected tickets when required.
func (*Service) ResetToDefaultTemplate ¶
func (s *Service) ResetToDefaultTemplate(ctx context.Context, projectID uuid.UUID) ([]Status, error)
ResetToDefaultTemplate replaces project statuses with the built-in default template.
type StatusRuntimeSnapshot ¶
type StatusRuntimeSnapshot = domain.StatusRuntimeSnapshot
StatusRuntimeSnapshot describes the live active-run occupancy for a ticket status.
func ListProjectStatusRuntimeSnapshots ¶
func ListProjectStatusRuntimeSnapshots(ctx context.Context, repo Repository, projectID uuid.UUID) ([]StatusRuntimeSnapshot, error)
ListProjectStatusRuntimeSnapshots returns ordered runtime occupancy for all statuses in a project.
func ListStatusRuntimeSnapshots ¶
func ListStatusRuntimeSnapshots(ctx context.Context, repo Repository) ([]StatusRuntimeSnapshot, error)
ListStatusRuntimeSnapshots returns ordered runtime occupancy for all statuses across projects.
type UpdateInput ¶
type UpdateInput = domain.UpdateInput
UpdateInput carries a partial ticket status update request.