Skip to content

Referans Veri Modelleri

Cavanshirpro edited this page Sep 19, 2026 · 1 revision

Veri modelleri: SQL, MongoDB ve kaynaklar

English · Türkçe · Languages / Diller

Kapsam: JSON API Forge 0.5.1 · İnceleme: 17 Eylül 2026 · Dil: Türkçe

Bu tablo sabit committeki Pydantic modeli ve JSON Schema’dan üretilmiştir. Kullanım açıklamaları: CRUD, veritabanı, MongoDB.

“Zorunlu” alanın JSON’da bulunma zorunluluğudur; null kabulü ayrı bir tür kuralıdır. Model() varsayılanı, ilgili modelin bu sayfalardaki varsayılanlarıyla oluşturulmasıdır. Boş liste/nesne varsayılanları her model için ayrı üretilir. —, varsayılan veya o sütunda şema sınırı olmadığını belirtir.

Tablodaki sınırlara ek olarak alanlar arası doğrulayıcılar vardır: izin/public seçimi, URL/host güvenliği, tenant/owner sütunları, cache/idempotency/transaction birlikteliği, şema çakışmaları ve güvenli regex bunlara dahildir. JSON Schema doğrulaması tek başına forge validate yerine geçmez. extra="forbid" nedeniyle bilinmeyen alanlar reddedilir.

DatabaseConfig

Alan Tür Zorunlu Varsayılan Şema sınırları
url string Evet — —
echo boolean Hayır false —
support_schema_mode enum ["create","validate"] Hayır "create" —
pool_pre_ping boolean Hayır true —
pool_size integer Hayır 10 min=1
max_overflow integer Hayır 20 min=0
pool_timeout integer Hayır 30 min=1
pool_recycle integer Hayır 1800 min=-1
isolation_level string | null Hayır null —

ColumnConfig

Alan Tür Zorunlu Varsayılan Şema sınırları
type string Hayır "string" —
nullable boolean Hayır true —
primary_key boolean Hayır false —
unique boolean Hayır false —
index boolean Hayır false —
default Any Hayır null —
max_length integer | null Hayır null min=1

ResourceConfig

Alan Tür Zorunlu Varsayılan Şema sınırları
database string Hayır "primary" —
table string Evet — —
path string Evet — —
enabled boolean Hayır true —
auto_create boolean Hayır false —
columns dict[str, ColumnConfig] Hayır {} —
primary_key string Hayır "id" —
allowed_actions list[string] Hayır ["list","read","create","update","delete"] —
permissions dict[str, string] Hayır {} —
readable_fields list[string] | null Hayır null —
writable_fields list[string] | null Hayır null —
hidden_fields list[string] Hayır [] —
default_limit integer Hayır 50 min=1
max_limit integer Hayır 200 min=1
allowed_filters list[string] Hayır [] —
filter_operators list[enum ["eq","ne","gt","gte","lt","lte","in","like","ilike","isnull"]] Hayır ["eq"] —
search_fields list[string] Hayır [] —
allowed_sort list[string] Hayır [] —
pagination_mode enum ["offset","cursor"] Hayır "offset" —
cursor_field string | null Hayır null —
soft_delete_field string | null Hayır null —
tenant_field string | null Hayır null —
owner_field string | null Hayır null —
owner_actions list[enum ["list","read","update","delete"]] Hayır [] —
owner_bypass_permission string | null Hayır null —
cache ResourceCacheConfig Hayır ResourceCacheConfig() —
create_schema object | null Hayır null —
update_schema object | null Hayır null —
batch_enabled boolean Hayır false —
max_batch_size integer Hayır 100 min=1; max=5000
count_enabled boolean Hayır true —
dependencies list[string] Hayır [] —

MongoDatabaseConfig

Alan Tür Zorunlu Varsayılan Şema sınırları
uri string Evet — —
database string Evet — —
max_pool_size integer Hayır 100 min=1
min_pool_size integer Hayır 0 min=0
server_selection_timeout_ms integer Hayır 5000 min=100

MongoResourceConfig

Alan Tür Zorunlu Varsayılan Şema sınırları
database string Hayır "primary" —
collection string Evet — —
path string Evet — —
enabled boolean Hayır true —
allowed_actions list[string] Hayır ["list","read","create","update","delete"] —
permissions dict[str, string] Hayır {} —
writable_fields list[string] | null Hayır null —
hidden_fields list[string] Hayır [] —
allowed_filters list[string] Hayır [] —
filter_operators list[enum ["eq","ne","gt","gte","lt","lte","in"]] Hayır ["eq"] —
allowed_sort list[string] Hayır [] —
default_limit integer Hayır 50 min=1
max_limit integer Hayır 200 min=1
tenant_field string | null Hayır null —
owner_field string | null Hayır null —
owner_actions list[enum ["list","read","update","delete"]] Hayır [] —
owner_bypass_permission string | null Hayır null —
soft_delete_field string | null Hayır null —
cache ResourceCacheConfig Hayır ResourceCacheConfig() —
create_schema object | null Hayır null —
update_schema object | null Hayır null —
dependencies list[string] Hayır [] —

ResourceCacheConfig

Alan Tür Zorunlu Varsayılan Şema sınırları
enabled boolean | null Hayır null —
ttl_seconds integer | null Hayır null min=1
list_ttl_seconds integer | null Hayır null min=1
read_ttl_seconds integer | null Hayır null min=1
stale_ttl_seconds integer | null Hayır null min=0

Kaynak ve doğrulama

Bu sayfa aşağıdaki sabit commitlerdeki davranışı açıklar. Yeni bir sürümde aynı davranışın sürdüğünü varsaymayın.


Wiki ana sayfa · Tüm sayfalar · Sürüm ve bakım

Clone this wiki locally