Entity Attribute Value

Entity–attribute–value model (EAV) is a data model to encode, in a space-efficient manner, entities where the number of attributes (properties, parameters) that can be used to describe them is potentially vast, but the number that will actually apply to a given entity is relatively modest. Such entities correspond to the mathematical notion of a sparse matrix. See more here: … Read more

Extensions

Extending the models Extensions should only be used for customer specific implementations that don’t make sense to be added to the main default business models. Each model should have a property named extension. The extension implements the base model. The ORM will create a table with the same name followed by Extension in the database … Read more

Field types

The entity fields should be in one of the following categories: id (usually indexable) primitives (int, string, decimal) list of primitives other entity owned only by the parent (example: unit of measure) list of other owned entities (example: contact information) other common entity owned by many parents (example: person type) list of other common entities … Read more

Named entity

It is an entity that implements the descript able entity and features a field (string) called name. Use it to implement Enums (see below). Enums Postgres and TypeORM support enums. Business logic will use Enums in order to identify certain conditions. There will be 2 main types of Enums: business logic or system enums, used … Read more

Base entity

Base entity The entity base class will have the following mandatory fields: id (always primary key) deleted (soft delete flag) extension (custom fields requested by the implementation)

Cache

Some fields and entities could be marked as cacheable. Those entities will be refreshed when a modify operation took place on that specific entity. For example, an updated event is raised for an entityType with an id. If the cache contains that entity type, it removes the record with the specific id and it loads … Read more

API Authentication

The API of the ERP Core is a standardized set of API commands and endpoints present in all of its plug-ins. Swagger In order to test the API, Swagger can be used and found at this link: http://<PlugInIP>:<PlugInPort>/swagger/index.html In order to use Swagger, you need to provide a valid token. Request one as shown below, … Read more

Base entities

All entities will have the soft delete implementation. The base data access implementation will take care to only read the non-deleted entities. All entities will be implementations of a base class that will implement the generic data access through various methods such as: direct database access through the ORM API cache (some entities should be … Read more