rbx_asset: accept reference in get_asset_versions_page
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-08-25 16:04:47 -07:00
parent 24f50de2ae
commit 7665ccc5d1
2 changed files with 13 additions and 7 deletions

View File

@@ -590,7 +590,7 @@ impl Context{
).await.map_err(GetError::Response)? ).await.map_err(GetError::Response)?
.json().await.map_err(GetError::Reqwest) .json().await.map_err(GetError::Reqwest)
} }
pub async fn get_asset_versions_page(&self,config:AssetVersionsPageRequest)->Result<AssetVersionsPageResponse,PageError>{ pub async fn get_asset_versions_page(&self,config:&AssetVersionsPageRequest)->Result<AssetVersionsPageResponse,PageError>{
let mut url=reqwest::Url::parse(format!("https://develop.roblox.com/v1/assets/{}/saved-versions",config.asset_id).as_str()).map_err(PageError::ParseError)?; let mut url=reqwest::Url::parse(format!("https://develop.roblox.com/v1/assets/{}/saved-versions",config.asset_id).as_str()).map_err(PageError::ParseError)?;
//url borrow scope //url borrow scope
{ {

View File

@@ -1301,15 +1301,18 @@ async fn download_user_inventory_json(cookie:Cookie,user_id:u64,output_folder:Pa
} }
async fn get_version_history(context:&CookieContext,asset_id:AssetID)->AResult<Vec<AssetVersion>>{ async fn get_version_history(context:&CookieContext,asset_id:AssetID)->AResult<Vec<AssetVersion>>{
let mut cursor:Option<String>=None; let mut page_request=rbx_asset::cookie::AssetVersionsPageRequest{
asset_id,
cursor:None,
};
let mut asset_list=Vec::new(); let mut asset_list=Vec::new();
loop{ loop{
let mut page=context.get_asset_versions_page(rbx_asset::cookie::AssetVersionsPageRequest{asset_id,cursor}).await?; let mut page=context.get_asset_versions_page(&page_request).await?;
asset_list.append(&mut page.data); asset_list.append(&mut page.data);
if page.nextPageCursor.is_none(){ if page.nextPageCursor.is_none(){
break; break;
} }
cursor=page.nextPageCursor; page_request.cursor=page.nextPageCursor;
} }
asset_list.sort_by_key(|a|a.assetVersionNumber); asset_list.sort_by_key(|a|a.assetVersionNumber);
Ok(asset_list) Ok(asset_list)
@@ -1367,9 +1370,12 @@ async fn download_history(mut config:DownloadHistoryConfig)->AResult<()>{
let mut join_set=tokio::task::JoinSet::new(); let mut join_set=tokio::task::JoinSet::new();
//poll paged list of all asset versions //poll paged list of all asset versions
let mut cursor:Option<String>=None; let mut page_request=rbx_asset::cookie::AssetVersionsPageRequest{
asset_id:config.asset_id,
cursor:None,
};
loop{ loop{
let mut page=context.get_asset_versions_page(rbx_asset::cookie::AssetVersionsPageRequest{asset_id:config.asset_id,cursor}).await?; let mut page=context.get_asset_versions_page(&page_request).await?;
let context=&context; let context=&context;
let output_folder=config.output_folder.clone(); let output_folder=config.output_folder.clone();
let data=&page.data; let data=&page.data;
@@ -1428,7 +1434,7 @@ async fn download_history(mut config:DownloadHistoryConfig)->AResult<()>{
}else{ }else{
asset_list.append(&mut page.data); asset_list.append(&mut page.data);
} }
cursor=page.nextPageCursor; page_request.cursor=page.nextPageCursor;
} }
asset_list.sort_by_key(|a|a.assetVersionNumber); asset_list.sort_by_key(|a|a.assetVersionNumber);