Gå til innholdet

Modeller, enums og egenskaper

Modellene beskriver dataene til API-et ditt. En modell bærer typede egenskaper, og disse egenskapene kan referere til andre modeller eller til enums.

Seksjonen Modeller: listen over egenskapene til en modell med typen deres, flaggene deres og et eksempel

En enum er et lukket sett med verdier (for eksempel en status draft / published / archived). Et design håndterer dem på to måter:

  • Navngitte enums — gjenbrukbare og av første klasse. Fra seksjonen Enums, bruk Legg til en enum, gi den et navn og en beskrivelse, og deretter Legg til en verdi for hver oppføring. En egenskap (eller en ruteparameter) refererer den deretter via typen sin.
  • Inline-enums — et anonymt sett som erklæres direkte på en egenskap. På en egenskap av typen string / integer / number lar en chip-editor Enum-verdier deg liste opp de tillatte verdiene på stedet, uten å opprette en navngitt type.

Når en inline-enum fortjener å deles, forfremmer Trekk ut til en navngitt enum den: den oppretter den navngitte enumen (og gjenbruker en eksisterende enum med de samme verdiene for å unngå duplikater) og skriver om egenskapen slik at den refererer den. Ruteparametrene bærer også inline-enums og den samme Trekk ut-handlingen — se Ruter & CRUD.

Velg en modell i seksjonen Modeller: egenskapene dens vises i en tabell (Egenskap, Type, Flagg, Eksempel). Bruk Legg til en egenskap for å opprette en.

En egenskap kan være av typen:

  • en primitiv: string, integer, number, boolean;
  • et array (array<…>) eller et map (map<…>) av en annen type;
  • en referanse til en annen modell;
  • en referanse til en enum.

For en string kan du angi et format: email, uuid, date, date-time, uri, hostname, ipv4, password eller byte.

Utover typen aksepterer en egenskap tallrike felt: Beskrivelse, Eksempel, Standardverdi, Minimum / Maksimum, Minimumslengde / Maksimumslengde, Mønster (regex), Avviklingsmelding, og — for referanser — en atferd On delete.

Flagg kvalifiserer egenskapen og vises i form av merker: påkrevd, nullable, unik, uforanderlig, searchable (søkbar — se Ruter & CRUD), avviklet, skrivebeskyttet, kun skrivbar, og PII (personopplysninger).

Hver modell har sine egne innstillinger:

  • Identitet — den identifiserende egenskapen og dens genererings-strategi (uuid, autoIncrement eller ulid). Det er denne identifikatoren som er knyttet til parametrene {{id}} i de genererte rutene.
  • Arv — en modell kan arve fra en forelder; barnet viser forelderens egenskaper skrivebeskyttet, i tillegg til sine egne.
  • Lagring & livssyklus — forventet volum, tidsstempler (created / updated) og myk sletting (soft delete).

Det er også fra disse innstillingene at man starter Generer CRUD og Generer søkerutene — beskrevet på neste side.