Nesne alanları
Nesne alanları bir nesne türünün sütunlarıdır. Bunları türün fieldSchema’sında yapılandırırsınız (yönetim paneli, API veya MCP), ayrı bir alanlar uç noktası yoktur. Anahtarlar snake_case; etiketler görünen adlardır. Üst sınır: tür başına 20 alan.
Alan türleri
Alan eklemek, değiştirmek veya kaldırmak için bir nesne türü tanımını fieldSchema ile oluşturun veya PATCH edin. Kayıt oluşturma/güncelleme gövdeleri fieldValues altında alan anahtarlarını kullanır (yerelleştirilebilir alanlar için localizedValuesByLocale).
Her alanın aşağıdaki listeden bir type değeri vardır. Uygun yerlerde ortak seçenekler: required, default (atlanırsa oluşturmada uygulanır), sensitive (bazı okumalarda gizlenir), multiple / minItems / maxItems (liste destekleyen türler) ve localizable (text, multilineText, richText; image da yerelleştirilebilir işaretlenebilir).
text
Tek satırlık metin. minLength / maxLength, isteğe bağlı unique (unique metin alanları required zorlar) ve dil başına değerler için localizable destekler. Tipik kullanım: başlıklar, slug’lar, kısa etiketler.
multilineText
Zengin biçimlendirme olmadan çok satırlı düz metin. minLength / maxLength ve localizable destekler. Tipik kullanım: açıklamalar, notlar, biyografiler.
richText
Sayfalarda ve nesne bileşenlerinde göstermek için biçimlendirilmiş zengin metin. Yerelleştirilebilir. Ziyaretçilerin başlık, bağlantı veya vurguya ihtiyacı olduğunda bunu kullanın, düz metin olarak sorgulayacağınız yapılandırılmış veri için değil.
image
Sitede yüklenmiş bir görsel dosyasına referans. Birden fazla görsel, minItems / maxItems, maxFileSizeBytes, allowedMimeTypes ve her dil için farklı varlık gösterecek isteğe bağlı yerelleştirme destekler.
file
Genel yüklenmiş dosya referansı (PDF, belgeler vb.). multiple, minItems / maxItems, maxFileSizeBytes ve allowedMimeTypes destekler.
url
Bağlantı olarak doğrulanan URL metni. Yapılandırılmış socialLink listesine ihtiyaç duymadığınızda dış siteler, CTA’lar veya profil bağlantıları için kullanın.
number
Sayısal değer. İsteğe bağlı min / max / step ve integer (yalnızca tam sayı). Hesaplanan alanlarda matematik ve formlarda miktar, fiyat, puan için kullanılır.
boolean
Doğru/yanlış bayrağı. Tipik kullanım: anahtarlar, kayıt üzerinde özellik bayrakları veya form ve filtrelerde evet/hayır öznitelikleri.
enum
enumOptions içinden tek seçim (en fazla 20 kısa metin seçeneği). Değerler bir seçenekle tam eşleşmelidir. Tipik kullanım: durum, kategori veya ayrı nesne türü olmadan sabit sözlük.
date
Yalnızca takvim tarihi (YYYY-MM-DD). Rezervasyon yuvası veya günün saati değildir. Tipik kullanım: doğum günleri, son tarihler ve “bu günde” alanları. Yaşam döngüsü çizelgeleri date alanlarından ofset alabilir.
dateTime
Tarih-saat veya rezerve edilebilir yuva değerleri. İsteğe bağlı dateTimeConfig hafta günü açık saatleri, engellenen tarihler, geçerlilik sonu ve maxEntriesPerSlot tanımlar. scheduleFromRelation, açık saatleri ilgili kaydın schedule alanından statik yapılandırma yerine (veya yanında) çekebilir.
schedule
Kaydın kendisinde saklanan haftalık çalışma saatleri çizelgesi (dateTime müsaitlik yapılandırmasıyla aynı şekil). Genellikle scheduleFromRelation ile dateTime alanlarıyla eşleştirilir; böylece bir kaynağın saatleri başka yerdeki rezervasyon yuvalarını yönetir.
password
Yazma odaklı gizli değer. Normal okunabilir metin gibi işlenmez; user türlerinde kimlik bilgileri için kullanılır (email gibi sistem alanlarıyla birlikte). Parola saklarken text yerine bunu tercih edin.
relation_user
Site üyesi kayıtlarına (user türü) bağlantı. İsteğe bağlı multiple. notifyLinkedUsersOnCreate, genel oluşturmadan sonra bağlı kullanıcılara e-posta gönderebilir (aktör hariç). Tipik kullanım: atananlar, sahipler veya “takip eden”.
relation_object
Başka bir içerik nesne türünün kayıtlarına bağlantı (relationObjectTypeId gerekir). İsteğe bağlı multiple. Hedef soft-delete edildiğinde onDelete soft_cascade, nullify veya restrict olabilir. bumpRelatedMutatedAt ilgili hedeflerin mutated_at değerini yeniler (örneğin gönderilerden konu etkinliği).
relation_role
Sitenin user türüne ait bir site kullanıcı rolü kimliğine bağlantı. Tipik kullanım: üye rol atama API’lerinin ötesinde bir kayıtta rol kimliği saklamak veya seçmek.
calculated
Salt okunur türetilmiş değer. resultType (number, date, dateTime veya boolean) ve seçiciyle kurulan calculatedFormula gerekir (serbest ifade dizesi yoktur). required, default, localizable, unique veya multiple olamaz. Oluşturma/güncellemede yeniden hesaplanır ve saklanır; yönetim editörlerinde ve genel formlarda canlı salt okunur gösterilir. Aşağıdaki Hesaplanan alanlar bölümüne bakın.
Hesaplanan alanlar
Hesaplanan alan, aynı kayıttaki (ve desteklenen yerlerde ilişkili kayıtlardaki) diğer alanlardan türetilen bir değeri saklar. Formül dizesi yazmazsınız: yönetim arayüzü seçicilerle yapılandırılmış bir ifade ağacı kurar. API ve MCP’nin fieldSchema.calculatedFormula üzerinde kabul ettiği de aynı ağaçtır. Son kullanıcılar için ifade DSL’i yoktur.
Her hesaplanan alan resultType bildirir: number, date, dateTime veya boolean. İfade kökü bu türe değerlendirilmelidir. Hesaplanan alanlar required olamaz, default alamaz, localizable / unique / multiple olamaz; istemciler onları doğrudan yazmaz.
İfadeler iç içe düğümlerdir. Her düğümün bir kind değeri vardır. Ağaç genelinde üst sınırlar: derinlik 8, 40 düğüm, number ifadesinde 8 terim, 6 mantık argümanı, 12 switch durumu ve 3 lookup where koşulu.
literal
Ağaçta sabit olarak kullanılan string, number, boolean veya null.
path
Bu kayıttan veya bir ilişki zinciri boyunca değer okur. Yollar nokta ile birleşen snake_case parçalardır (örneğin price veya product.tax_rate), en fazla beş parça. İlişki adımları relation_object / relation_user alanlarını izler.
number
Bir veya daha fazla terim kaynağı üzerinde + − * / aritmetiği (ilk terimin op’si yoktur). Her terimin source’u kendi başına bir ifadedir. Tipik kullanım: toplamlar, vergi, miktar × birim fiyat.
dateOffset
Bir date veya dateTime taban ifadesini alır ve bir days ifadesini ekler veya çıkarır (plus / minus). Son tarihler ve çizelge ofsetleri için yararlıdır.
compare
left ile isteğe bağlı right ifadelerinin boolean karşılaştırması. Ops: eq, neq, lt, gt, before, after, empty, not_empty, contains, doesNotContain. empty / not_empty right’ı yok sayar.
logic
Boolean argümanları and veya or ile birleştirir (1–6 argüman). Bileşik koşullar için compare ve diğer logic düğümlerini iç içe kullanın.
not
Tek bir boolean argüman ifadesini değiller.
if
when (boolean) then veya else seçer. Formül kökü olarak kullanıldığında dallar hesaplanan alanın resultType’ı ile uyumlu olmalıdır.
switch
on’u değerlendirir, match’i o değere eşit olan ilk case’i seçer, aksi halde else. En fazla 12 case. İç içe if ağaçları olmadan durum → sayı/tarih eşlemeleri için uygundur.
lookup
Başka bir nesne türünde (slug ile) eşleşen ilk kaydı bulur. where 1–3 koşudur (leftFieldKey + compare op + right ifadesi). select döndürülecek alan anahtarıdır. mode yalnızca first’tir.
aggregate
Bir koleksiyon üzerinde sum, count, min veya max. forward bu kayıttaki bir ilişki alanını kullanır; inverse, viaField’i bu kayda işaret eden başka türdeki kayıtları bulur. op’un değere ihtiyacı olduğunda leaf toplanacak sayı/tarih alanıdır (yalnızca count için gerekmez).
Değerler ne zaman güncellenir
Oluşturma ve güncellemede sunucu istemcinin gönderdiği hesaplanan değerleri ayıklar, formülleri bağımlılık sırasına göre değerlendirir ve sonuçları saklar. Yönetim kaydı editörleri ve genel formlar hesaplanan alanları salt okunur gösterir ve bağımlılık alanlarını düzenlerken önizlemeyi yeniler. Hesaplanan alanlar, bağımlılık grafiği döngüsüz olduğu sürece diğer hesaplanan alanlara başvurabilir, döngüler tür şeması kaydedilirken reddedilir.
Hesaplanan alan sınırları
Formül ağacı: en fazla derinlik 8, en fazla 40 düğüm, en fazla 8 number terimi, en fazla 6 mantık argümanı, en fazla 12 switch durumu, en fazla 3 lookup filtresi. Nesne türü toplamda hâlâ en fazla 20 alandır (hesaplananlar dahil). Yollar ve formüller tanımı kaydederken türün fieldSchema’sına göre doğrulanır.
Şema üst sınırları
Tür başına en fazla 20 alan, her enum alanında en fazla 20 seçenek ve tür başına 10 yaşam döngüsü olayı. Hesaplanan formüller aynı alan şemasına göre doğrulanır.
socialLink
Sosyal profil bağlantılarının sıralı listesi (platform + URL); isteğe bağlı minItems / maxItems. Tutarlı sosyal ikonlar ve doğrulama istediğinizde serbest URL listelerinden daha iyidir.