A HTTP server for syncing podcast app state, mirroring the [gpodder API]. Designed for use with [AntennaPod]'s [sync service].
podsync doesn't cover the [full gpodder API], just enough to get AntennaPod to work:
POST api/2/auth/{username}/login.json
POST api/2/auth/{username}/logout.json
GET api/2/devices/{username}.json
POST api/2/devices/{username}/{device}.json
GET api/2/subscriptions/{username}/{device}.json
POST api/2/subscriptions/{username}/{device}.json
GET api/2/episodes/{username}.json
POST api/2/episodes/{username}.json
podsync uses the RUST_LOG
environment variable for logging. To generate logs similar to a webserver:
```sh
export RUST_LOG=podsync=info
export RUST_LOG=podsync=trace
export RUST_LOG=podsync=info,warp=info ```
See the [log crate] for more details
podsync uses sqlx in [offline mode] for builds (see build.rs
for more).
To update the schema:
sh
export DATABASE_URL=sqlite://pod.sql
cargo install sqlx-cli
cargo sqlx prepare -- --tests
git commit -m 'Update sqlx snapshot' sqlx-data.json