4d50bfc587
- crates/modules/nakui/core/: el crate nakui-core (4 bins, tests).
Deps directas (serde, rhai, surrealdb, petgraph, sha2, uuid, tokio,
thiserror v1) — no convertidas a workspace = true en esta pasada.
- crates/modules/nakui/modules/{inventory,sales,treasury}/: datos
declarativos del dominio (nsmc.json, schema.k, morphisms/) que el
crate consume — no son crates.
cargo check -p nakui-core: 0 errores.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
36 lines
807 B
Plaintext
36 lines
807 B
Plaintext
schema Caja:
|
|
id: str
|
|
name: str
|
|
saldo: int
|
|
currency: str
|
|
|
|
check:
|
|
saldo >= 0, "saldo de caja no puede ser negativo"
|
|
len(currency) == 3, "currency debe ser ISO 4217 (3 letras)"
|
|
|
|
schema Movimiento:
|
|
id: str
|
|
caja_id: str
|
|
monto: int
|
|
tipo: str
|
|
timestamp: str
|
|
memo?: str
|
|
|
|
check:
|
|
monto > 0, "monto debe ser positivo (la direccion la fija el tipo)"
|
|
tipo in ["in", "out"], "tipo debe ser 'in' u 'out'"
|
|
|
|
schema Transferencia:
|
|
id: str
|
|
source_caja_id: str
|
|
dest_caja_id: str
|
|
monto: int
|
|
currency: str
|
|
timestamp: str
|
|
memo?: str
|
|
|
|
check:
|
|
monto > 0, "monto debe ser positivo"
|
|
len(currency) == 3, "currency ISO 4217"
|
|
source_caja_id != dest_caja_id, "source y dest no pueden ser la misma caja"
|