create db.is_media_group_exists
This commit is contained in:
parent
539b5ee48b
commit
0950ccb150
@ -228,6 +228,23 @@ impl DB {
|
|||||||
Ok(media_items)
|
Ok(media_items)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn is_media_group_exists(
|
||||||
|
&mut self,
|
||||||
|
media_group: &str,
|
||||||
|
) -> Result<bool, Box<dyn std::error::Error>> {
|
||||||
|
use self::schema::media::dsl::*;
|
||||||
|
let conn = &mut self.pool.get().await.unwrap();
|
||||||
|
|
||||||
|
let is_exists = media
|
||||||
|
.filter(media_group_id.eq(media_group))
|
||||||
|
.count()
|
||||||
|
.get_result::<i64>(conn)
|
||||||
|
.await?
|
||||||
|
> 0;
|
||||||
|
|
||||||
|
Ok(is_exists)
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn drop_media(&mut self, literal: &str) -> Result<usize, Box<dyn std::error::Error>> {
|
pub async fn drop_media(&mut self, literal: &str) -> Result<usize, Box<dyn std::error::Error>> {
|
||||||
use self::schema::media::dsl::*;
|
use self::schema::media::dsl::*;
|
||||||
let conn = &mut self.pool.get().await.unwrap();
|
let conn = &mut self.pool.get().await.unwrap();
|
||||||
|
|||||||
@ -89,3 +89,31 @@ async fn test_drop_media() {
|
|||||||
// Clean up after test
|
// Clean up after test
|
||||||
let result = db.drop_media("test_drop_media_literal").await.unwrap();
|
let result = db.drop_media("test_drop_media_literal").await.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn test_is_media_group_exists() {
|
||||||
|
let mut db = setup_db().await;
|
||||||
|
|
||||||
|
let media_group = "test_media_group";
|
||||||
|
|
||||||
|
let exists = db.is_media_group_exists(media_group).await.unwrap();
|
||||||
|
assert!(!exists);
|
||||||
|
|
||||||
|
let _ = db
|
||||||
|
.add_media(
|
||||||
|
"test_media_group_literal",
|
||||||
|
"photo",
|
||||||
|
"file_id_1",
|
||||||
|
Some(media_group),
|
||||||
|
)
|
||||||
|
.await
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let exists = db.is_media_group_exists(media_group).await.unwrap();
|
||||||
|
assert!(exists);
|
||||||
|
|
||||||
|
let _ = db.drop_media("test_media_group_literal").await.unwrap();
|
||||||
|
|
||||||
|
let exists = db.is_media_group_exists(media_group).await.unwrap();
|
||||||
|
assert!(!exists);
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user