İçeriğe geç

Veri modeli

Alan modeli src/lib/types.ts dosyasındadır. Bu sayfa bir özettir, asıl kaynak dosyanın kendisidir. Alan ve değer adları koddaki gibi İngilizce bırakılmıştır.

Alan Tip Notlar
id ID
name string
prefix string Kodlarda kullanılır: gps → gps_001
icon, category, description string
fields FieldDef[] Özellik şeması
slots Slot[] Beklenen bileşenler
nextNumber number Sonraki kod numarası; hiç azalmaz

FieldDef: key, label, type (text · number · select · date · boolean), isteğe bağlı options, unit, required.

Slot: id, typeId, isteğe bağlı label, isteğe bağlı qty (boş = istenen sayıda).

Alan Tip Notlar
id ID
typeId ID
code string drone_001
name string?
status Status operational · attention · maintenance · faulty · retired
parentId ID | null Takılı olduğu ekipman
slotId ID? Üst ekipmanda doldurduğu yuva
custodianId ID? Zimmetli
location string?
labels Record<string, string | number | boolean> Anahtar: FieldDef.key
watchers ID[] Takipçiler

name, kind (pdf · image · sheet · text · archive · other), size, isteğe bağlı description ve bir scope (kapsam):

type DocScope =
| { kind: 'item'; itemId: ID }
| { kind: 'type'; typeId: ID }
| { kind: 'variant'; typeId: ID; field: string; value: string }

target ({ kind: 'item' | 'type'; id }), authorId, body, via (web · email · qr), isteğe bağlı replyTo.

Alan Notlar
itemId
fromId Devir başladığındaki zimmetli; boş = depodan
toId Alan kişi
requestedBy Devri başlatan. Karşı taraf onaylar.
status pending · accepted · declined · cancelled
note, responseNote
checked, missing Yerinde olduğu onaylanan / eksik bildirilen bileşen ID’leri
condition Alan kişinin onayladığı durum

İkisi de hazır cümle olarak değil, veri olarak (kind ve ID’ler) saklanır. Böylece görüntüleyenin dilinde gösterilir. Etkinlik türleri: created, status, assigned, unassigned, comment, document, labels, custody, handover, type.

action (delete · restore), entity (item · type · doc · comment · user), label (işlem anındaki kod veya ad), actorId, reason ve geri yükleme için gereken her şeyi içeren bir snapshot.

name, email, role (admin · editor · viewer), team, status (active · invited · disabled).