all new
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
use actix_web::{web, HttpResponse};
|
||||
use diesel::RunQueryDsl;
|
||||
|
||||
use crate::{
|
||||
database::establish_connection, json_serialization::new_feed::NewFeedSchema,
|
||||
models::feed::new_feed::NewFeed, schema::feed,
|
||||
};
|
||||
|
||||
pub async fn add(new_feed: web::Json<NewFeedSchema>) -> HttpResponse {
|
||||
let mut connection = establish_connection();
|
||||
let title: String = new_feed.title.clone();
|
||||
let url: String = new_feed.url.clone();
|
||||
|
||||
let new_feed = NewFeed::new(title, url);
|
||||
|
||||
let insert_result = diesel::insert_into(feed::table)
|
||||
.values(&new_feed)
|
||||
.execute(&mut connection);
|
||||
|
||||
match insert_result {
|
||||
Ok(_) => HttpResponse::Created().await.unwrap(),
|
||||
Err(_) => HttpResponse::Conflict().await.unwrap(),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user