İçeriğe geç

Modeller, enum'lar ve özellikler

Modeller, API’nizin verilerini tanımlar. Bir model, tipli özellikler taşır ve bu özellikler başka modellere ya da enum’lara referans verebilir.

Modeller bölümü: bir modelin özellik listesi; tipleri, bayrakları ve bir örnek ile

Bir enum, kapalı bir değer kümesidir (örneğin bir durum draft / published / archived). Bir tasarım bunları iki şekilde ele alır:

  • Adlandırılmış enum’lar — yeniden kullanılabilir, birinci sınıf. Enum’lar bölümünden Enum ekle’yi kullanın, ona bir ad ve açıklama verin, ardından her giriş için Değer ekle ile değer ekleyin. Bir özellik (ya da bir rota parametresi) daha sonra ona tipi üzerinden referans verir.
  • Satır içi (inline) enum’lar — doğrudan bir özellik üzerinde tanımlanan anonim bir küme. Bir string / integer / number özelliğinde, bir Enum değerleri chip düzenleyicisi, adlandırılmış bir tip oluşturmadan izin verilen değerleri orada listelemenizi sağlar.

Bir satır içi enum paylaşılmayı hak ettiğinde, Adlandırılmış enum’a çıkar onu yükseltir: adlandırılmış enum’u oluşturur (yinelenenleri önlemek için aynı değerlere sahip mevcut bir enum’u yeniden kullanarak) ve özelliği ona referans verecek şekilde yeniden yazar. Rota parametreleri de satır içi enum’lar ve aynı Çıkar eylemini taşır — bkz. Rotalar & CRUD.

Modeller bölümünde bir model seçin: özellikleri bir tabloda görünür (Özellik, Tip, Bayraklar, Örnek). Yeni bir özellik oluşturmak için Özellik ekle’yi kullanın.

Bir özellik şu tiplerden biri olabilir:

  • bir ilkel (primitive): string, integer, number, boolean ;
  • başka bir tipin dizisi (array<…>) veya haritası (map<…>) ;
  • başka bir modele yapılan bir referans ;
  • bir enum’a yapılan bir referans.

Bir string için bir format belirtebilirsiniz: email, uuid, date, date-time, uri, hostname, ipv4, password ya da byte.

Tipin ötesinde, bir özellik pek çok alan kabul eder: Açıklama, Örnek, Varsayılan değer, Minimum / Maksimum, Min uzunluk / Maks uzunluk, Desen (regex), Kullanımdan kaldırma mesajı ve — referanslar için — bir On delete davranışı.

Bayraklar, özelliği niteler ve rozetler halinde görünür: zorunlu, nullable, benzersiz, değiştirilemez, searchable (sorgulanabilir — bkz. Rotalar & CRUD), kullanımdan kaldırılmış, salt okunur, salt yazılır ve PII (kişisel veri).

Her modelin kendine ait ayarları vardır:

  • Kimlik — kimliklendirici özellik ve onun üretim stratejisi (uuid, autoIncrement ya da ulid). Üretilen rotalardaki {{id}} parametrelerine bağlanan işte bu kimliktir.
  • Kalıtım — bir model bir üstten (parent) miras alabilir; alt model, kendi özelliklerine ek olarak üstün özelliklerini salt okunur biçimde gösterir.
  • Depolama & yaşam döngüsü — beklenen hacim, zaman damgaları (created / updated) ve yumuşak silme (soft delete).

Yine bu ayarlardan CRUD üret ve Arama rotalarını üret işlemleri başlatılır — bir sonraki sayfada açıklanmıştır.