Entitatea cu nume

Este o entitate care implementează entitatea descriptibilă și include un câmp de tip string numit name.

Poate fi folosită pentru implementarea enumerărilor (vezi mai jos).

Enums

Postgres și TypeORM acceptă enumerări.

Logica de business va utiliza enumerări pentru identificarea anumitor condiții.

Vor exista două tipuri principale de enumerări:

  • enumerări de sistem sau de business, folosite în logica de business (exemplu: tipuri de parteneri)
  • enumerări definite de utilizator (exemplu: etichete pentru produse)

Enumerările de sistem vor fi doar pentru citire. Acestea nu pot fi șterse sau editate, cu excepția traducerilor.

Colecțiile de enumerări ar trebui să fie cât mai scurte, pentru a nu încărca interfața cu valori neutilizate.

La inițializarea colecției de enumerări, identificatorii ar trebui să urmeze ordinea opțiunilor din colecție. Astfel, un identificator poate fi obținut prin funcția GetGuidFor(enum.item), fără citirea colecției din baza de date. Comportamentul ar trebui configurabil, pentru a permite acces local sau prin baza de date.

O altă opțiune ar fi utilizarea proprietății name drept cheie primară pentru enumerări.

Folosește serviciul de traducere pentru descriere. Câmpul name al enumerărilor ar trebui inițializat din colecția utilizată de logica de business și să conțină exact denumirile din colecție.

Câmpul name ar trebui să fie doar pentru citire în enumerările utilizate de logica de business.