Documentation
¶
Index ¶
- Variables
- type Application
- func (app *Application) CreateEntity(ctx context.Context, entity *domain.Entity) (*domain.Entity, error)
- func (app *Application) CreateRecord(ctx context.Context, entity *domain.Entity, record *domain.Record) (*domain.Record, error)
- func (app *Application) GetEntityByName(ctx context.Context, entityId string) (*domain.Entity, error)
- func (app *Application) IsZero() bool
- type EntityRepository
- type RecordRepository
Constants ¶
This section is empty.
Variables ¶
var ErrNoEntitiesFound = errors.New("no entities found")
ErrNoEntitiesFound occurs when fetching entities in the repositoty none was returned. This is mainly used to decouple the error from any type of repository
Functions ¶
This section is empty.
Types ¶
type Application ¶
type Application struct {
// contains filtered or unexported fields
}
Application glues different layers of the service in order to perform actions
func NewApplication ¶
func NewApplication( entityRepository EntityRepository, recordRepository RecordRepository, ) (*Application, error)
NewApplication creates an instance of Application
func (*Application) CreateEntity ¶
func (app *Application) CreateEntity(ctx context.Context, entity *domain.Entity) (*domain.Entity, error)
CreateEntity creates an entity with fields and rules
func (*Application) CreateRecord ¶ added in v1.3.0
func (app *Application) CreateRecord( ctx context.Context, entity *domain.Entity, record *domain.Record, ) (*domain.Record, error)
CreateRecord creates a new record in the data store related to an entity
func (*Application) GetEntityByName ¶
func (app *Application) GetEntityByName(ctx context.Context, entityId string) (*domain.Entity, error)
GetEntityByName returns an entity related to its name
func (*Application) IsZero ¶
func (app *Application) IsZero() bool
IsZero defines if the entity application is empty
type EntityRepository ¶
type EntityRepository interface { // GetEntityByName returns one single entity defined by its name GetEntityByName(context.Context, string) (*domain.Entity, error) // CreateEntity creates an entity with fields and rules CreateEntity(context.Context, *domain.Entity) (*domain.Entity, error) }
EntityRepository defines the repository that stores, modifies and deletes entities in a data store or db
type RecordRepository ¶ added in v1.3.0
type RecordRepository interface { // CreateRecord creates a new record in the data store related to an entity CreateRecord(context.Context, *domain.Entity, *domain.Record) (*domain.Record, error) }
RecordRepository defines the repository that stores, modifies and deletes record in a data store or db