rbx_asset: accept reference in get_asset_versions_page
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -590,7 +590,7 @@ impl Context{
|
||||
).await.map_err(GetError::Response)?
|
||||
.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)?;
|
||||
//url borrow scope
|
||||
{
|
||||
|
||||
18
src/main.rs
18
src/main.rs
@@ -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>>{
|
||||
let mut cursor:Option<String>=None;
|
||||
let mut page_request=rbx_asset::cookie::AssetVersionsPageRequest{
|
||||
asset_id,
|
||||
cursor:None,
|
||||
};
|
||||
let mut asset_list=Vec::new();
|
||||
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);
|
||||
if page.nextPageCursor.is_none(){
|
||||
break;
|
||||
}
|
||||
cursor=page.nextPageCursor;
|
||||
page_request.cursor=page.nextPageCursor;
|
||||
}
|
||||
asset_list.sort_by_key(|a|a.assetVersionNumber);
|
||||
Ok(asset_list)
|
||||
@@ -1367,9 +1370,12 @@ async fn download_history(mut config:DownloadHistoryConfig)->AResult<()>{
|
||||
let mut join_set=tokio::task::JoinSet::new();
|
||||
|
||||
//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{
|
||||
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 output_folder=config.output_folder.clone();
|
||||
let data=&page.data;
|
||||
@@ -1428,7 +1434,7 @@ async fn download_history(mut config:DownloadHistoryConfig)->AResult<()>{
|
||||
}else{
|
||||
asset_list.append(&mut page.data);
|
||||
}
|
||||
cursor=page.nextPageCursor;
|
||||
page_request.cursor=page.nextPageCursor;
|
||||
}
|
||||
|
||||
asset_list.sort_by_key(|a|a.assetVersionNumber);
|
||||
|
||||
Reference in New Issue
Block a user