create db.is_media_group_exists
This commit is contained in:
parent
539b5ee48b
commit
0950ccb150
@ -228,6 +228,23 @@ impl DB {
|
||||
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>> {
|
||||
use self::schema::media::dsl::*;
|
||||
let conn = &mut self.pool.get().await.unwrap();
|
||||
|
||||
@ -89,3 +89,31 @@ async fn test_drop_media() {
|
||||
// Clean up after test
|
||||
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