domain

package
v1.2.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Entity

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

Entity is a specific definition of an object/entity/thing inside a domain

func NewEntity

func NewEntity(
	id string,
	name string,
	singularName string,
	pluralName string,
	fields []field.Field,
	collection string,
) (*Entity, error)

NewEntity creates an instance of Entity

func (*Entity) Collection added in v1.1.0

func (e *Entity) Collection() string

Collection returns entity collection name

func (*Entity) Fields

func (e *Entity) Fields() []field.Field

Fields returns entity fields

func (*Entity) Id

func (e *Entity) Id() string

Id returns entity id

func (*Entity) IsZero

func (e *Entity) IsZero() bool

IsZero defines whether Entity is empty

func (*Entity) Name

func (e *Entity) Name() string

Name returns entity name

func (*Entity) PluralName

func (e *Entity) PluralName() string

PluralName returns entity plural name

func (*Entity) RecordIsValid

func (e *Entity) RecordIsValid(record *Record) ([]*RecordValidationError, error)

RecordIsValid checks that every attribute from the record passes validation with its respective field and rules

func (*Entity) SingularName

func (e *Entity) SingularName() string

SingularName returns entity singular name

func (*Entity) String

func (e *Entity) String() string

String defines the string interface

type Record

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

Record defines the data that holds the mapping between the name of the field and its value

func NewRecord

func NewRecord() *Record

NewRecord creates a new instance of Record

func (*Record) Data

func (rrd *Record) Data() recordData

Data returns all data of the record

func (*Record) GetValueByKey

func (rrd *Record) GetValueByKey(key string) interface{}

GetValueByKey returns the value of a specific key from the data

func (*Record) IsZero

func (rrd *Record) IsZero() bool

IsZero defines whether Record is empty

func (*Record) SetData

func (rrd *Record) SetData(data recordData)

SetData sets completely the data attribute Be careful using this method since it can modify original data

func (*Record) SetValueByKey

func (rrd *Record) SetValueByKey(key string, value interface{})

SetValueByKey sets the value of a specific key for the data

type RecordValidationError

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

RecordValidationError glues the rule type and message when a validation didn't pass

func NewRecordValidationError

func NewRecordValidationError(
	field string,
	message string,
) (*RecordValidationError, error)

NewRecordValidationError creates a new instance of RecordValidationError

func (*RecordValidationError) Field

func (rv *RecordValidationError) Field() string

Message returns the name of the field that didn't pass validation

func (*RecordValidationError) Message

func (rv *RecordValidationError) Message() string

Message returns a string describing the reason why the rule that didn't pass validation

Directories

Path Synopsis
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rule/mocks
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