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)?
|
).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
|
||||||
{
|
{
|
||||||
|
|||||||
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>>{
|
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);
|
||||||
|
|||||||
Reference in New Issue
Block a user