podsync-0.1.10 is not a library.
podsync
A HTTP server for syncing podcast app state, mirroring the gpodder API. Designed for use with AntennaPod's sync service.
Endpoints
podsync doesn't cover the full gpodder API, just enough to get AntennaPod to work:
- auth:
POST api/2/auth/{username}/login.jsonPOST api/2/auth/{username}/logout.json
- devices:
GET api/2/devices/{username}.jsonPOST api/2/devices/{username}/{device}.json
- subscriptions:
GET api/2/subscriptions/{username}/{device}.jsonPOST api/2/subscriptions/{username}/{device}.json
- episodes:
GET api/2/episodes/{username}.jsonPOST api/2/episodes/{username}.json
Logging
podsync uses the RUST_LOG environment variable for logging. To generate logs similar to a webserver:
# or for debugging:
# for warp/endpoint output:
See the log crate for more details
Building
Modes
podsync has two backends: SQL database or plain text files. The former being more scalable, the latter being easier to inspect and manipulate with Unix tools.
By default it builds in file mode, to build in sql mode, build with cargo build --features backend-sql.
SQLx offline build
podsync uses sqlx in offline mode for builds (see build.rs for more).
To update the schema: