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 )