50 lines
1.2 KiB
Rust
Executable File
50 lines
1.2 KiB
Rust
Executable File
use actix_web::web;
|
|
|
|
use crate::views::path::Path;
|
|
mod add;
|
|
mod delete_feed;
|
|
pub mod feeds;
|
|
mod get;
|
|
mod list_feeds;
|
|
mod mark_read;
|
|
pub mod net;
|
|
mod read;
|
|
mod scraper;
|
|
pub mod structs;
|
|
mod sync;
|
|
|
|
pub fn feed_factory(app: &mut web::ServiceConfig) {
|
|
let base_path: Path = Path {
|
|
prefix: String::from("/article"),
|
|
backend: true,
|
|
};
|
|
app.route(
|
|
&base_path.define(String::from("/get/{user_id}")),
|
|
web::get().to(get::get),
|
|
);
|
|
app.route(
|
|
&base_path.define(String::from("/feeds/{user_id}")),
|
|
web::get().to(list_feeds::list_feeds),
|
|
);
|
|
app.route(
|
|
&base_path.define(String::from("/feed/{feed_id}")),
|
|
web::delete().to(delete_feed::delete_feed),
|
|
);
|
|
app.route(
|
|
&base_path.define(String::from("/add")),
|
|
web::post().to(add::add),
|
|
);
|
|
app.route(
|
|
&base_path.define(String::from("/sync")),
|
|
actix_web::Route::to(web::post(), sync::sync),
|
|
);
|
|
app.route(
|
|
&base_path.define(String::from("/read")),
|
|
actix_web::Route::to(web::post(), read::read),
|
|
);
|
|
app.route(
|
|
&base_path.define(String::from("/read/{id}")),
|
|
actix_web::Route::to(web::put(), mark_read::mark_read),
|
|
);
|
|
}
|