feat(bd): ServicioFavoritos SQLite — PluriWave Fase 1 #1
Reference in New Issue
Block a user
Delete Branch "feature/bd-favoritos"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
PluriWave — ServicioFavoritos (SQLite, sqflite)
Qué incluye este PR
lib/modelos/emisora.dartEmisoracon todos los campos pedidos:id,uuid,nombre,url,favicon,pais,idioma,tags,ordenfromMap()/toMap()para serialización SQLitecopyWith()para mutaciones inmutables==yhashCodeporuuid(identidad de negocio)lib/servicios/servicio_favoritos.dartServicioFavoritoscon inicialización lazy (DB se abre en el primer acceso)favoritoscreada conCREATE TABLE IF NOT EXISTS— idempotenteuuid+ índice enorden_onUpgradepreparado para futuras versiones sin perder datosMétodos implementados
obtenerTodos()List<Emisora>ordenado pororden ASCagregar(Emisora)uuid; orden auto al final si viene en 0eliminar(uuid)esFavorito(uuid)bool— query ligera solo conidreordenar(uuid, nuevoOrden)ordende una emisorareordenarLista(uuids)contarFavoritos()int— helper de utilidadDecisiones de diseño
pathpackage:servicio_favoritos.dartusapackage:path/path.dartpara construir la ruta de la BD — ya es dependencia transitiva de sqflite en el sdk de Flutter, no requiere añadir nada al pubspecagregar()conorden = 0y la emisora es nueva, se asignaMAX(orden) + 1para que aparezca al final de la lista sin necesidad de recalcular todos los índiceseliminado BOOLEANen la migraciónTests sugeridos para QA
Pull request closed