feat: 支持筛选视频的有效性 (#673)
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
use std::borrow::Borrow;
|
||||
|
||||
use bili_sync_entity::video;
|
||||
use bili_sync_migration::SimpleExpr;
|
||||
use itertools::Itertools;
|
||||
use sea_orm::{Condition, ConnectionTrait, DatabaseTransaction};
|
||||
use sea_orm::{ColumnTrait, Condition, ConnectionTrait, DatabaseTransaction};
|
||||
|
||||
use crate::api::request::StatusFilter;
|
||||
use crate::api::request::{StatusFilter, ValidationFilter};
|
||||
use crate::api::response::{PageInfo, SimplePageInfo, SimpleVideoInfo, VideoInfo};
|
||||
use crate::utils::status::VideoStatus;
|
||||
|
||||
@@ -18,6 +20,20 @@ impl StatusFilter {
|
||||
}
|
||||
}
|
||||
|
||||
impl ValidationFilter {
|
||||
pub fn to_video_query(&self) -> SimpleExpr {
|
||||
match self {
|
||||
ValidationFilter::Invalid => video::Column::Valid.eq(false),
|
||||
ValidationFilter::Skipped => video::Column::Valid
|
||||
.eq(true)
|
||||
.and(video::Column::ShouldDownload.eq(false)),
|
||||
ValidationFilter::Normal => video::Column::Valid
|
||||
.eq(true)
|
||||
.and(video::Column::ShouldDownload.eq(true)),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub trait VideoRecord {
|
||||
fn as_id_status_tuple(&self) -> (i32, u32);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user