Sari la conținut

Modele, enum-uri și proprietăți

Modelele descriu datele API-ului dumneavoastră. Un model poartă proprietăți tipizate, iar aceste proprietăți pot referenția alte modele sau enum-uri.

Secțiunea Modele: lista proprietăților unui model cu tipul, indicatorii și un exemplu

Un enum este un set de valori închis (de exemplu un status draft / published / archived). Un design le gestionează în două moduri:

  • Enum-uri denumite — reutilizabile, de prim rang. Din secțiunea Enum-uri, folosiți Adăugați un enum, dați-i un nume și o descriere, apoi Adăugați o valoare pentru fiecare intrare. O proprietate (sau un parametru de rută) îl referențiază apoi prin tipul său.
  • Enum-uri inline — un set anonim declarat direct pe o proprietate. Pe o proprietate string / integer / number, un editor de jetoane Valori de enumerare vă permite să enumerați valorile permise pe loc, fără a crea un tip denumit.

Când un enum inline merită să fie partajat, Extrageți către un enum denumit îl promovează: creează enum-ul denumit (reutilizând un enum existent cu aceleași valori, pentru a evita duplicatele) și rescrie proprietatea astfel încât să îl referențieze. Parametrii de rută poartă de asemenea enum-uri inline și aceeași acțiune Extrageți — vedeți Rute și CRUD.

În secțiunea Modele, selectați un model: proprietățile sale se afișează într-un tabel (Proprietate, Tip, Indicatori, Exemplu). Folosiți Adăugați o proprietate pentru a crea una.

O proprietate poate fi de tip:

  • un primitiv: string, integer, number, boolean;
  • un array (array<…>) sau o map (map<…>) de alt tip;
  • o referință către un alt model;
  • o referință către un enum.

Pentru un string, puteți preciza un format: email, uuid, date, date-time, uri, hostname, ipv4, password sau byte.

Dincolo de tip, o proprietate acceptă numeroase câmpuri: Descriere, Exemplu, Valoare implicită, Minim / Maxim, Lungime min / Lungime max, Model (regex), Mesaj de depreciere, și — pentru referințe — un comportament On delete.

Indicatori califică proprietatea și se afișează sub formă de insigne: obligatoriu, nullable, unic, imuabil, searchable (interogabil — vedeți Rute și CRUD), depreciat, doar citire, doar scriere, și PII (dată personală).

Fiecare model are propriile setări:

  • Identitate — proprietatea identificatoare și strategia sa de generare (uuid, autoIncrement sau ulid). Acest identificator este cel legat de parametrii {{id}} ai rutelor generate.
  • Moștenire — un model poate moșteni de la un părinte; copilul afișează proprietățile părintelui în doar citire, pe lângă ale sale.
  • Stocare și ciclu de viață — volumetrie așteptată, marcaje temporale (created / updated) și ștergere logică (soft delete).

Tot din aceste setări se lansează Generați CRUD-ul și Generați rutele de căutare — descrise în pagina următoare.