Documentation ¶
Index ¶
- func ChangeStatus(adrId int, status string, repository Repository, statusManager StatusManager, ...) (string, error)
- func CreateFile(date string, title string, meta []string, supersedesTargetADRId int, ...) (string, error)
- func ValidateFilename(name string) bool
- type ADR
- type Filename
- type RelationsManager
- type Repository
- type StatusManager
- type Writer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ChangeStatus ¶
func ChangeStatus( adrId int, status string, repository Repository, statusManager StatusManager, writer Writer, ) (string, error)
ChangeStatus is the application service for changing the status in an ADR File It validates the status if there is a list of allowed statuses configured by user
func CreateFile ¶
func CreateFile( date string, title string, meta []string, supersedesTargetADRId int, amendsTargetADRId int, config config.Config, repository Repository, writer Writer, templateService template.Service, relationsManager RelationsManager, ) (string, error)
CreateFile is the application service for creating a new ADR file
func ValidateFilename ¶
ValidateFilename validates if a string is a correct filename for an ADR File
Types ¶
type ADR ¶
type ADR interface { ID() int Filename() Filename Status() string Title() string Date() string Content() string }
ADR is the domain entity representing the ADR file
type Filename ¶
type Filename interface {
Value() string
}
Filename is the domain value object for the ADR filename property
func CreateFilename ¶
CreateFilename creates the Filename value object
func CreateFilenameFromFilenameString ¶
CreateFilenameFromFilenameString creates the Filename value object from a filename string
type RelationsManager ¶
type RelationsManager interface { AddRelation(adr ADR, targetADR ADR, relation string) (ADR, ADR, error) RelationIsValid(relation string) bool }
RelationsManager service that manage the relation links between ADR files
func CreateRelationsManager ¶
func CreateRelationsManager(service template.Service, manager StatusManager) RelationsManager
CreateRelationsManager creates the RelationsManager service with its dependencies
type Repository ¶
type Repository interface { FindAll() ([]ADR, error) Query(filterParams map[string][]string) ([]ADR, error) FindById(id int) (ADR, error) GetLastId() int }
Repository is the repository for the ADR domain entity
type StatusManager ¶
type StatusManager interface { ChangeStatus(adr ADR, newStatus string) (ADR, error) ValidateStatus(targetStatus string) bool }
StatusManager is the service that manages the status change in a ADR entity
func CreateStatusManager ¶
func CreateStatusManager(configuration config.Config) StatusManager
CreateStatusManager creates the StatusManager service with its dependencies