application

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2023 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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