Documentation
¶
Overview ¶
Package domain provides domain services and their dependency injection setup. This module is responsible for providing domain services and interfaces, while keeping implementation details in the infrastructure layer.
The domain layer follows clean architecture principles: - Entities: Core business objects - Services: Business logic and use cases - Repositories: Data access interfaces - Events: Domain events for cross-cutting concerns
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Module = fx.Module("domain", fx.Provide( fx.Annotate( NewUserService, fx.As(new(user.Service)), ), fx.Annotate( NewFormService, fx.As(new(form.Service)), ), NewStores, ), )
Module provides all domain layer dependencies
Functions ¶
func NewFormService ¶
func NewFormService(p FormServiceParams) (form.Service, error)
NewFormService creates a new form service with dependencies
func NewUserService ¶
func NewUserService(p UserServiceParams) (user.Service, error)
NewUserService creates a new user service with dependencies
Types ¶
type FormServiceParams ¶
type FormServiceParams struct {
fx.In
Repository form.Repository
EventBus events.EventBus
Logger logging.Logger
}
FormServiceParams contains dependencies for creating a form service
type StoreParams ¶ added in v0.1.5
StoreParams groups store dependencies
type Stores ¶ added in v0.1.5
type Stores struct {
fx.Out
UserRepository user.Repository
FormRepository form.Repository
FormSubmissionRepository form.SubmissionRepository
}
Stores groups all store implementations
func NewStores ¶ added in v0.1.5
func NewStores(p StoreParams) (Stores, error)
NewStores creates new store instances with proper validation and error handling
type UserServiceParams ¶
UserServiceParams contains dependencies for creating a user service
Directories
¶
| Path | Synopsis |
|---|---|
|
common
|
|
|
errors
Package errors provides domain-specific error types and utilities for consistent error handling across the application.
|
Package errors provides domain-specific error types and utilities for consistent error handling across the application. |
|
events
Package events provides event handling infrastructure for the domain layer.
|
Package events provides event handling infrastructure for the domain layer. |
|
interfaces
Package interfaces provides common interfaces used throughout the domain layer for validation, repositories, and other cross-cutting concerns.
|
Package interfaces provides common interfaces used throughout the domain layer for validation, repositories, and other cross-cutting concerns. |
|
repository
Package repository provides common repository interfaces and utilities for data access patterns used throughout the domain layer.
|
Package repository provides common repository interfaces and utilities for data access patterns used throughout the domain layer. |
|
Package entities provides domain entities that represent the core business objects in the application, including users, forms, and other domain models.
|
Package entities provides domain entities that represent the core business objects in the application, including users, forms, and other domain models. |
|
Package form provides form-related domain services and business logic.
|
Package form provides form-related domain services and business logic. |
|
event
Package event defines domain events and event interfaces for form-related actions.
|
Package event defines domain events and event interfaces for form-related actions. |
|
events
Package form provides form-related domain events and event handling functionality for managing form lifecycle and state changes.
|
Package form provides form-related domain events and event handling functionality for managing form lifecycle and state changes. |
|
model
Package model contains domain models and error definitions for forms.
|
Package model contains domain models and error definitions for forms. |
|
Package user provides user repository interfaces for domain persistence.
|
Package user provides user repository interfaces for domain persistence. |