Doku-Vollausbau: 62 Seiten (Projekt/Admin/Anwender/Referenz), Hook-Referenz mit Signaturen, Corporate-Screenshots, Coverage-Inventar
Deploy tibi-docs / build-and-deploy (push) Failing after 38s
Deploy tibi-docs / build-and-deploy (push) Failing after 38s
- Einstieg: Schnellstart + Neues Projekt aus Starter-Skill, Was-ist-Tibi mit Backend/Website-Trennung - Projekt: Sammlungen, Felder, Abfragen, Rechte, Hooks, Dateien, i18n, Suche, SSR, Pagebuilder, Jobs, Audit, Deploy, LLM, MCP - Hook-Referenz: 66 Symbole mit Signatur + Beispiel + Fehlerfall (5 Kapitel) - Admin: Ansichten, Editor, Medien, Exporte, Aktionen, Rechte, KI, Setup, Customizing - Anwender: 11 Anleitungen im professionellen Du-Ton, 30 Corporate-Screenshots - Referenz: Schemas, Token-Köpfe, Fehlerbilder, Shortcuts, OpenAPI-Platzhalter - ADR-0001 bis 0003, Coverage-Skript (282 Items) + Map, Plan-Dateien
This commit is contained in:
1 parent
acb1d32355
commit
1897bb50d9
101 files changed
+8980
-68
No files matched your search
@@ -0,0 +1,81 @@
|
||||
---
|
||||
title: 'Schemas als Quelle'
|
||||
description: 'Welche tibi-types-Schemas wofür gelten und wie du sie liest.'
|
||||
---
|
||||
|
||||
import { Aside, Tabs, TabItem } from '@astrojs/starlight/components';
|
||||
|
||||
Deine `api/*.yml`-Dateien sind durch JSON-Schemas geprüft. Die Schemas liegen in `tibi-types/schemas/config/`. Jede YML-Datei verweist oben per `$schema`-Zeile auf ihr Schema.
|
||||
|
||||
## Schema-Liste
|
||||
|
||||
Das Verzeichnis enthält 16 Dateien (nicht 15, wie ältere Docs behaupten):
|
||||
|
||||
| Schema | Gilt für | Pflichtfelder |
|
||||
| --- | --- | --- |
|
||||
| `project.schema.json` | `api/config.yml` | `namespace` |
|
||||
| `collection.schema.json` | `api/collections/*.yml` | `name`, `permissions` |
|
||||
| `field.schema.json` | einzelnes Feld | Typ-abhängig |
|
||||
| `field-list.schema.json` | Feld-Listen | — |
|
||||
| `field-meta.schema.json` | `meta:` an Feldern | keine (alle optional) |
|
||||
| `collection-meta.schema.json` | `meta:` an Collections | keine (alle optional) |
|
||||
| `permissions.schema.json` | `permissions:`-Block | `public`, `user` |
|
||||
| `hooks.schema.json` | `hooks:`-Block | keine (`get`, `post`, `put`, `delete`, `audit` optional) |
|
||||
| `job.schema.json` | Jobs in `config.yml` | `type`, `file` |
|
||||
| `action.schema.json` | Actions in `config.yml` | `name` |
|
||||
| `asset.schema.json` | Assets in `config.yml` | `name`, `path` |
|
||||
| `image-filter.schema.json` | `imageFilter:` an Collections | — |
|
||||
| `projections.schema.json` | `projections:`-Block | — |
|
||||
| `snapshot.schema.json` | Snapshots in `config.yml` | `name` |
|
||||
| `openapi.schema.json` | OpenAPI-Metadaten je Collection | keine |
|
||||
| `defs.schema.json` | nur `$ref`-Bausteine, kein eigenes Ziel | — |
|
||||
|
||||
## Lesart
|
||||
|
||||
<Tabs>
|
||||
<TabItem label="Kopfzeile">
|
||||
|
||||
```yaml title="api/collections/content.yml"
|
||||
# yaml-language-server: $schema=../../tibi-types/schemas/config/collection.schema.json
|
||||
name: content
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: true
|
||||
```
|
||||
|
||||
Der Editor prüft live gegen das Schema. Tippfehler in Schlüsseln meldet er sofort.
|
||||
</TabItem>
|
||||
<TabItem label="Pflicht gegen Code prüfen">
|
||||
|
||||
Das Schema prüft die **Form**. Ob der Server die Werte so versteht, steht im Code:
|
||||
|
||||
- `collection.schema.json` verlangt `permissions` — was `public` und `user` dürfen, entscheidet `internal/models/permission.go` im tibi-server.
|
||||
- `field.schema.json` kennt Typen wie `string`, `number`, `date` — was davon wirklich validiert wird, steht in `internal/controller/validator.go`.
|
||||
- `project.schema.json` kennt `admin.tokens` — was diese Tokens dürfen, steht in `internal/config/admin_token.go`.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
<Aside type="caution" title="Schema deckt nicht alles ab">
|
||||
Ein grünes Schema heißt nur: die Datei ist wohlgeformt. Falsche Token-Namen oder fehlende Berechtigungen meldet erst der Server zur Laufzeit. Lies dazu die Seiten zu Token-Köpfen und Fehlerbildern.
|
||||
</Aside>
|
||||
|
||||
## Text-Diagramm: Wo was geprüft wird
|
||||
|
||||
```text title="Prüfebenen im Überblick"
|
||||
api/config.yml ──$schema──▶ project.schema.json (Form)
|
||||
│
|
||||
▼
|
||||
tibi-server beim Reload (Bedeutung)
|
||||
├── permission.go → wer darf was?
|
||||
├── validator.go → ist der Datensatz gültig?
|
||||
└── admin_token.go → welches Token gilt wofür?
|
||||
```
|
||||
|
||||
## Nächste Schritte
|
||||
|
||||
- Lege ein neues Projekt an: Einstieg Neues Projekt.
|
||||
- Schlage einen Hook-Kontext nach: Hook-Kontexte.
|
||||
- Verstehe Fehlermeldungen: Fehlerbilder.
|
||||
|
||||
Verifiziert am 4c55f82 2026-10-12 (tibi-types)
|
||||
Reference in new issue
Block a user