AmberDB
view release on metacpan or search on metacpan
docs/en/AmberDB_User-Guide.en.md view on Meta::CPAN
Each block definition inside the `blocks` array supports the following attributes:
#### 1. Core Block Attributes
| Attribute | Type | Description | Example |
| :--- | :--- | :--- | :--- |
| `id` | `string` | Programmatic field identifier | `id => "email"` |
| `name` | `string` | Display label for UI forms and table headers | `name => "Email Address"` |
| `type` | `string` | Data storage and indexing type | `type => "text"` |
| `input` | `string` | HTML/UI Form input component type | `input => "select"` |
| `valid` | `string` | Automated data validation rule | `valid => "not_null;email"` |
| `option` | `string` | Enumerated choice options (`value:label` pairs) | `option => "1:Active,0:Inactive"` |
| `rdbm` | `string / HASH`| Foreign table lookup mapping (`foreign_table;display_block`) | `rdbm => "catalog_category;2"` |
| `extend` | `HASH` | 1:1 vertical table extension | `extend => { table => "catalog_price", join => "id" }` |
#### 2. Supported Field Types (`type`)
| Type (`type`) | Label | Description & Engine Behavior |
| :--- | :--- | :--- |
| `auto_id` | Auto ID | Auto-incrementing 64-bit primary key (Mandatory for Block 0). |
| `text` | Text | Standard scalar UTF-8 string data. |
docs/en/AmberDB_User-Guide.en.md view on Meta::CPAN
| `ascii` | ASCII Field | User/code input box constrained to ASCII charset. |
| `number` | Number Input | Numeric stepper `<input type="number">`. |
| `date` | Date Picker | Interactive date calendar selector `<input type="date">`. |
| `password` | Password Field | Obscured security input `<input type="password">`. |
| `search_block` | Search Box | Search-assisted dynamic filter input. |
| `selectbyfind` | SelectByFind | Foreign relation selector populated via dynamic search. |
| `selectbylist` | SelectByList | Multi-item picker component from list. |
#### 4. Automated Validation Rules (`valid`)
Multiple validation rules can be chained using semicolon (`;`) (e.g. `valid => "not_null;email"`):
| Rule (`valid`) | Description | Validation Check |
| :--- | :--- | :--- |
| `none` | No Validation | Field accepts any input without validation (default). |
| `not_null` | Required | Field cannot be null, undefined, or empty string. |
| `unique` | Unique Value | Asserts that no other record in the table contains this value. |
| `email` | Email Format | Validates RFC-compliant email pattern. |
| `telefon` | Phone Number | Validates national/international phone format. |
| `ascii` | ASCII Only | Restricts character set strictly to ASCII [0-127]. |
| `regex` | Regular Expression | Tests against custom regex pattern rule. |
| `auto_num` | Auto Number | Automatically assigns an incrementing numerical sequence. |
| `auto_pass` | Auto Password | Generates random secure password and stores salted hash. |
| `auto_date` | Auto Date | Automatically populates with current system timestamp. |
| `auto_str` | Template String | Pre-populates predefined template text. |
docs/tr/AmberDB_Veritabani_Sistemi.md view on Meta::CPAN
cache_ttl => 3600,
keep_deleted => 1,
log_owner => 1,
min_char => 2,
blocks => [
{ id => "id", name => "Ãrün ID", type => "auto_id", input => "hidden" },
{ id => "category_id", name => "Kategori", type => "text", input => "select", rdbm => "catalog_category;2" },
{ id => "brand_id", name => "Marka", type => "text", input => "select", rdbm => "catalog_brand;2" },
{ id => "author_id", name => "Yazar", type => "text", input => "text" },
{ id => "title", name => "Ãrün Adı", type => "text", input => "text", valid => "not_null" },
{ id => "subtitle", name => "Alt BaÅlık", type => "text", input => "text" },
{ id => "supplier", name => "Tedarikçi", type => "text", input => "text" },
{ id => "description", name => "Açıklama", type => "html", input => "textarea" },
{ id => "stock", name => "Stok Adedi", type => "num", input => "text" },
{ id => "barcode", name => "Barkod", type => "text", input => "text" },
{ id => "price", name => "Fiyat", type => "num", input => "text" },
{ id => "status", name => "SatıŠDurumu",type => "option", input => "select", option => "1:SatıÅta,0:Pasif" },
],
}
```
docs/tr/AmberDB_Veritabani_Sistemi.md view on Meta::CPAN
Åema içerisindeki `blocks` dizisinde her bir veri alanı (sütun) için aÅaÄıdaki nitelikler tanımlanabilir:
#### 1. Temel Blok Nitelikleri
| Nitelik | Tip | Açıklama | Ãrnek |
| :--- | :--- | :--- | :--- |
| `id` | `string` | Alanın programatik benzersiz anahtar adı | `id => "email"` |
| `name` | `string` | Formlarda ve arayüzlerde görünen etiket adı | `name => "E-Posta Adresi"` |
| `type` | `string` | Alanın veri saklama ve indeksleme tipi | `type => "text"` |
| `input` | `string` | HTML/UI Form giriÅ bileÅeni tipi | `input => "select"` |
| `valid` | `string` | Otomatik veri doÄrulama kuralı | `valid => "not_null;email"` |
| `option` | `string` | `select`/`radio`/`checkbox` için hazır seçenekler listesi | `option => "1:Aktif,0:Pasif"` |
| `rdbm` | `string / HASH`| BaÅka bir tablodan ID $\rightarrow$ Metin eÅleme | `rdbm => "catalog_category;2"` |
| `extend` | `HASH` | 1:1 dikey geniÅleme tablosu baÄlama | `extend => { table => "catalog_price", join => "id" }` |
#### 2. Desteklenen Alan Tipleri (`type`)
| Tip (`type`) | Tanım | Açıklama ve Kullanım |
| :--- | :--- | :--- |
| `auto_id` | Otomatik ID | Otomatik artan 64-bit birincil anahtar (Blok 0 için zorunludur). |
| `text` | Metin | Standart tek satırlı UTF-8 metin veya alfanümerik dize. |
docs/tr/AmberDB_Veritabani_Sistemi.md view on Meta::CPAN
| `ascii` | Kullanıcı / ASCII | Kullanıcı adı veya kod giriÅi için ASCII kısıtlamalı metin kutusu. |
| `number` | Numara | Sayısal giriŠkutusu `<input type="number">`. |
| `date` | Tarih | Tarih seçici bileÅeni `<input type="date">`. |
| `password` | Password | ÅifrelenmiÅ giriÅ alanı `<input type="password">`. |
| `search_block` | Search | Arama destekli dinamik filtre giriÅ kutusu. |
| `selectbyfind` | SelectByFind | Arama ile dinamik veri getiren iliÅkili seçim kutusu. |
| `selectbylist` | SelectByList | Liste üzerinden çoklu eleman seçimine izin veren bileÅen. |
#### 4. Otomatik DoÄrulama Kuralları (`valid`)
Birden fazla doÄrulama kuralı noktalı virgül (`;`) ile zincirlenebilir (örn: `valid => "not_null;email"`):
| DoÄrulama Kuralı (`valid`) | Tanım | Kontrol ve DavranıŠ|
| :--- | :--- | :--- |
| `none` | DoÄrulama Yok | Herhangi bir kural uygulanmaz (varsayılan). |
| `not_null` | BoŠOlamaz | Alanın boŠ(`undef` veya `""`) geçilmesini engeller. |
| `unique` | Benzersiz | DeÄerin tabloda baÅka hiçbir kayıtta bulunmadıÄını doÄrular. |
| `email` | E-posta | Geçerli bir RFC e-posta deseni kontrolü yapar. |
| `telefon` | Telefon | Geçerli sabit/GSM telefon numarası formatı kontrolü yapar. |
| `ascii` | ASCII | DeÄerin yalnızca ASCII karakterler içermesini zorunlu kılar. |
| `regex` | Regex | Ãzel tanımlı düzenli ifade desenine uyumu denetler. |
| `auto_num` | Otomatik Sayı | DeÄeri otomatik artan sayı olarak üretir. |
| `auto_pass` | Otomatik Åifre | Rastgele güvenli Åifre üretir ve tuzlu hash olarak kaydeder. |
| `auto_date` | Otomatik Tarih | O anki sistem tarih/zaman damgasını otomatik atar. |
| `auto_str` | Hazır Metin | Ãnceden tanımlı Åablon metnini otomatik uygular. |
( run in 1.563 second using v1.01-cache-2.11-cpan-0fb53d1c279 )