services

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateFeatureInput

type CreateFeatureInput struct {
	Name        string
	Description string
	Mission     string
	KittySpec   string
	CreatedBy   string
}

CreateFeatureInput represents the input for creating a feature.

type FeatureService

type FeatureService struct {
	// contains filtered or unexported fields
}

FeatureService handles feature-related use cases. Following Clean Architecture + DDD + CQRS principles.

Application Layer contains: - Use cases (orchestration logic) - Input/Output DTOs - Transaction boundaries - Cross-cutting concerns (logging, observability)

func NewFeatureService

NewFeatureService creates a new FeatureService. Following Dependency Injection pattern.

func (*FeatureService) CreateFeature

func (s *FeatureService) CreateFeature(ctx context.Context, input CreateFeatureInput) (*entities.Feature, error)

CreateFeature creates a new feature. Following TDD and BDD patterns - use case returns Result type.

func (*FeatureService) GetFeature

func (s *FeatureService) GetFeature(ctx context.Context, id string) (*entities.Feature, error)

GetFeature returns a single feature by ID.

func (*FeatureService) ListFeatures

func (s *FeatureService) ListFeatures(ctx context.Context, filter map[string]any) ([]entities.Feature, error)

ListFeatures returns all features with optional filtering. Following CQRS - read model query.

func (*FeatureService) TransitionFeature

func (s *FeatureService) TransitionFeature(ctx context.Context, featureID string, targetStatus entities.FeatureStatus, actor string) (*entities.Feature, error)

TransitionFeature transitions a feature to a new status. Following State Machine pattern.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL