feat(nakui): Fase 1 del ERP — FieldKind Select + AutoId, seed inyecta id
Primera fase del plan maestro. La metainterfaz gana dos tipos de campo: Select (chips de un conjunto cerrado, con options validadas) y AutoId (UUID autogenerado read-only). NakuiBackend::seed inyecta el id de la entity = clave del store. El módulo CRM los adopta: etapa/canal son selects, los ids de idempotencia se autogeneran, el form de cliente ya no pide id. Ningún formulario pide un UUID a mano. Tests en meta-schema, meta-runtime y nakui-ui verdes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -282,6 +282,11 @@ impl MetaBackend for NakuiBackend {
|
||||
data: serde_json::Map<String, Value>,
|
||||
) -> Result<WriteOutcome, String> {
|
||||
let id = Uuid::new_v4();
|
||||
// El `id` de la entity = la clave del store. Inyectarlo en el
|
||||
// record hace que `data.id` y la clave coincidan — los schemas
|
||||
// Nickel suelen declarar `id | String` y los morfismos lo leen.
|
||||
let mut data = data;
|
||||
data.insert("id".to_string(), Value::String(id.to_string()));
|
||||
let value = Value::Object(data);
|
||||
// WAL: log primero, store después.
|
||||
if self.event_log.is_some() {
|
||||
|
||||
Reference in New Issue
Block a user