The crate root held the wire types, Directory with its refresher and reloader, and every /v1 handler. It is now the module list and the re-exports ipx and the directory's main use, so their paths are as before: wire.rs Listing, FeedPage, SnapshotEntry, ... and MAX_SNAPSHOT directory.rs Directory, Shared, the refresher and the reloader api.rs the router, the token check and the /v1 handlers Directory's fields and methods are pub(crate) for the handlers beside it. Its two tests that read those fields went with it, on a scratch Directory of their own; the API tests stay with the API. Every definition and doc comment line of the old lib.rs is in exactly one of the new files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
847 B
Rust
23 lines
847 B
Rust
//! ipx's directory service (#204): a catalogue of public podcasts and blogs that ipx servers
|
|
//! share. It holds metadata only, never a file: each server still fetches its own feeds. ipx
|
|
//! servers send which public feeds their people subscribe to, the directory fetches each
|
|
//! feed's title, artwork, description and latest items on a slow schedule, and any server
|
|
//! holding a token can browse it.
|
|
//!
|
|
//! The types here are the wire format, shared with ipx, which asks the directory on its
|
|
//! people's behalf.
|
|
|
|
mod api;
|
|
pub mod apple;
|
|
pub mod config;
|
|
mod directory;
|
|
pub mod metrics;
|
|
pub mod otel;
|
|
mod site;
|
|
pub mod store;
|
|
mod wire;
|
|
|
|
pub use api::router;
|
|
pub use directory::{Directory, REFRESH_EVERY, Shared, refresher, reloader};
|
|
pub use wire::{Blocked, FeedPage, Instance, Item, Listing, MAX_SNAPSHOT, Me, SnapshotEntry, SnapshotResult};
|