crawlnicle/src/handlers/feed.rs

24 lines
616 B
Rust
Raw Normal View History

2023-05-08 01:25:22 +00:00
use axum::{
extract::{Path, State},
Json,
};
use sqlx::PgPool;
use crate::error::{Error, Result};
use crate::models::feed::{create_feed, get_feed, delete_feed, CreateFeed, Feed};
2023-05-08 01:25:22 +00:00
pub async fn get(State(pool): State<PgPool>, Path(id): Path<i32>) -> Result<Json<Feed>> {
Ok(Json(get_feed(&pool, id).await?))
2023-05-08 01:25:22 +00:00
}
pub async fn post(
State(pool): State<PgPool>,
Json(payload): Json<CreateFeed>,
) -> Result<Json<Feed>, Error> {
Ok(Json(create_feed(&pool, payload).await?))
}
pub async fn delete(State(pool): State<PgPool>, Path(id): Path<i32>) -> Result<()> {
delete_feed(&pool, id).await
2023-05-08 01:25:22 +00:00
}