mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-04 17:38:10 +00:00
executor
This commit is contained in:
1 parent
f8d08903dd
commit
67d381daa7
1 file changed
+9
-7
+9
-7
@@ -1,19 +1,18 @@
|
||||
use enums::by_table::media_files::media_file_class::MediaFileClass;
|
||||
use sqlx::MySqlPool;
|
||||
use sqlx::{Executor, MySql};
|
||||
use tokens::tokens::media_files::MediaFileToken;
|
||||
|
||||
const DEFAULT_PAGE_SIZE: i64 = 100;
|
||||
|
||||
const DEFAULT_MAX_LOOKBACK_HOURS: i32 = 4;
|
||||
|
||||
pub struct ListVideoMediaFilesWithoutThumbnailsArgs<'a> {
|
||||
pub struct ListVideoMediaFilesWithoutThumbnailsArgs {
|
||||
/// Override the maximum number of hours in our lookback window.
|
||||
pub custom_max_lookback_hours: Option<i32>,
|
||||
/// Override how many results to fetch (given a full page of results)
|
||||
pub custom_page_size: Option<i64>,
|
||||
/// Cursor to continue paginating with
|
||||
pub maybe_id_cursor: Option<i64>,
|
||||
pub pool: &'a MySqlPool,
|
||||
}
|
||||
|
||||
pub struct VideoMediaFileWithoutThumbnail {
|
||||
@@ -30,9 +29,12 @@ pub struct VideoMediaFilesWithoutThumbnails {
|
||||
pub next_cursor: Option<i64>,
|
||||
}
|
||||
|
||||
pub async fn list_video_media_files_without_thumbnails_for_job(
|
||||
args: ListVideoMediaFilesWithoutThumbnailsArgs<'_>,
|
||||
) -> Result<VideoMediaFilesWithoutThumbnails, sqlx::Error> {
|
||||
pub async fn list_video_media_files_without_thumbnails_for_job<'e, 'c, E>(
|
||||
args: ListVideoMediaFilesWithoutThumbnailsArgs,
|
||||
executor: E,
|
||||
) -> Result<VideoMediaFilesWithoutThumbnails, sqlx::Error>
|
||||
where E: 'e + Executor<'c, Database = MySql>
|
||||
{
|
||||
let cursor = args.maybe_id_cursor.unwrap_or(i64::MAX);
|
||||
|
||||
let page_size = args.custom_page_size.unwrap_or(DEFAULT_PAGE_SIZE);
|
||||
@@ -68,7 +70,7 @@ LIMIT ?
|
||||
MEDIA_CLASS_VIDEO,
|
||||
page_size,
|
||||
)
|
||||
.fetch_all(args.pool)
|
||||
.fetch_all(executor)
|
||||
.await?;
|
||||
|
||||
let next_cursor = if media_files.len() as i64 == page_size {
|
||||
|
||||
Reference in new issue
Block a user