WIP: Añade nueva extensión para dar soporte a bases de datos #12

Draft
manuelcillero wants to merge 24 commits from pagetop-seaorm-support into main

Nueva extensión basada en SeaORM para dar soporte a bases de datos desde PageTop.

Nueva extensión basada en SeaORM para dar soporte a bases de datos desde PageTop.
manuelcillero added 9 commits 2026-05-10 00:45:57 +02:00
manuelcillero added 1 commit 2026-05-10 21:42:24 +02:00
manuelcillero added 2 commits 2026-05-15 00:23:03 +02:00
- `db::*` queda como API de consultas (connection, fetch_*).
- `migration::*` sube a primer nivel con su propia documentación.
- `DBCONN` y `run_now` se trasladan a la raíz de la extensión.
- Actualiza README.md y docs para reflejar la nueva estructura.
manuelcillero added 4 commits 2026-05-31 23:38:58 +02:00
Sustituye el módulo `service` por `web` y adapta toda la API al modelo
de Axum: router inmutable, extractores via `FromRequestParts` y
servicios Tower para archivos estáticos.

- `HttpRequest` pasa a ser un tipo propio, mínimo y clonable.
- `configure_services` pasa a `configure_routes`.
- `EmbeddedFilesService` pasa a `ServeEmbedded`.
- Elimina `session_lifetime` de `Server` (va a `pagetop-auth`).
- Actualiza tests y ejemplos a la nueva API.
Los CSS e imágenes propios de PageTop se sirven bajo `/pagetop/`, por lo
que las referencias a `/css/` e `/img/` deben incluir ese prefijo.
- `configure_service` como `configure_router(Router) -> Router`.
- Macro `static_files_service!` como `serve_static_files!`.
- `ResultPage<M, E>` eliminado; handlers devuelven `Result<M, E>`.
- `ErrorPage` implementa `IntoResponse` en lugar de `ResponseError`.
- Registro con `OnceLock`; eliminados `drop_extensions` y `app.welcome`.
- `Redirect` devuelve `Response`; docs y ejemplos actualizados.
manuelcillero added 1 commit 2026-05-31 23:43:21 +02:00
`#[pagetop::main]` y `#[pagetop::test]` expanden ahora a
`#[tokio::main]` y `#[tokio::test]`, eliminando la dependencia de
Actix-web.
manuelcillero added 2 commits 2026-06-01 02:04:09 +02:00
`ResourceFiles` y `UriSegmentError` quedaron sin uso al migrar de
actix-web a axum/tower.
- Sustituye `service::test::*` por `web::test::*` (migración de actix-web a
  axum).
- Extrae `setup()` en los módulos que sólo renderizan componentes,
  evitando levantar un router completo en cada test.
- Elimina los `env::set_var("PAGETOP_RUN_MODE", "test")` manuales, ya
  cubiertos por la *feature* `testing`.
manuelcillero added 2 commits 2026-06-01 22:02:34 +02:00
Clarifica la distinción entre un fichero estático individual
(`StaticFile`) y el contenedor de varios ficheros (`StaticResources`).
manuelcillero added 1 commit 2026-06-01 22:06:00 +02:00
manuelcillero added 1 commit 2026-06-01 23:32:36 +02:00
`///` debe preceder a `#[derive(...)]` al ser azúcar de `#[doc = "..."]`.
manuelcillero added 1 commit 2026-06-02 00:24:53 +02:00
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin pagetop-seaorm-support:pagetop-seaorm-support
git checkout pagetop-seaorm-support

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git checkout main
git merge --no-ff pagetop-seaorm-support
git checkout pagetop-seaorm-support
git rebase main
git checkout main
git merge --ff-only pagetop-seaorm-support
git checkout pagetop-seaorm-support
git rebase main
git checkout main
git merge --no-ff pagetop-seaorm-support
git checkout main
git merge --squash pagetop-seaorm-support
git checkout main
git merge --ff-only pagetop-seaorm-support
git checkout main
git merge pagetop-seaorm-support
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: manuelcillero/pagetop#12
No description provided.