database support

This commit is contained in:
Simon
2025-06-05 18:50:28 +00:00
parent 6d08362937
commit 175c9b748f
15 changed files with 333 additions and 140 deletions

27
src/db.rs Normal file
View File

@@ -0,0 +1,27 @@
use diesel::prelude::*;
use dotenvy::dotenv;
use std::{env, sync::{Arc, Mutex}};
use crate::models::DBVideo;
pub fn get_video(conn: &mut SqliteConnection, video_id: String) -> Result<Option<String>, diesel::result::Error> {
use crate::schema::videos::dsl::*;
let result = videos
.filter(id.eq(video_id))
.first::<DBVideo>(conn)
.optional()?;
match result{
Some(video) => Ok(Some(video.url)),
None => Ok(None),
}
}
pub fn insert_video(conn: &mut SqliteConnection, new_id: &str, new_url: &str) -> Result<usize, diesel::result::Error> {
use crate::schema::videos::dsl::*;
diesel::insert_into(videos).values(DBVideo{
id: new_id.to_string(),
url: new_url.to_string(),
}).execute(conn)
}