Skip to content

feat: CMS-024M — Delete saved PGN position persistence API - #33

Merged
levallem merged 1 commit into
mainfrom
feat/cms-024m-delete-pgn-position-persistence
Sep 23, 2026
Merged

levallem merged 1 commit into
mainfrom
feat/cms-024m-delete-pgn-position-persistence

Conversation

@levallem

Copy link
Copy Markdown
Owner

Resumen

  • Añade una API de persistencia para eliminar exactamente una posición PGN guardada.
  • Reutiliza la identidad persistida del Chapter, FEN inicial, línea principal y ply; distingue Deleted de NotFound.
  • Valida el snapshot antes de borrar y conserva rollback transaccional si se afectaran más de una fila.

Motivación

Implementa la Issue aprobada #32 sin anticipar la UI de borrado.

Cambios y alcance

Archivo Cambio
src/project.rs Nuevo resultado y función de borrado; 7 tests de persistencia y aislamiento.

No cambia UI, caché, dominio PGN, schema, migraciones, traducciones, README ni Cargo. PROJECT_SCHEMA_VERSION permanece en 4.

Semántica de persistencia

Identidad del DELETE: chapter_id + initial_fen + main_line_uci + ply_index.

  • 0 filas: NotFound.
  • 1 fila: Deleted.
  • Más de 1 fila: error y rollback de la transacción.
  • Chapter inexistente o snapshot inválido: error; no se elimina ninguna fila.

Validación

  • cargo fmt --check ✅
  • cargo clippy --all-targets --all-features -- -D warnings ✅
  • cargo test ✅ — 603 passed, 0 failed, 0 ignored
  • cargo check ✅
  • cargo build ✅
  • git diff --check ✅

Riesgos e impacto de base de datos

No hay riesgos relevantes identificados en el scope revisado. No hay cambios de schema ni migraciones. No toca producción, Docker, MongoDB, VPS, .env ni deploy.

Tipo

  • Nueva funcionalidad (type:feature)

Closes #32

@levallem levallem added the type:feature Feature work label Sep 23, 2026
@levallem
levallem merged commit 9478ed3 into main Sep 23, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature Feature work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CMS-024M — Delete saved PGN position persistence API

1 participant