From 71cae5c0894d93a847a2ed353d5e705e0ec0cd32 Mon Sep 17 00:00:00 2001
From: Quaternions <krakow20@gmail.com>
Date: Sat, 5 Apr 2025 13:09:25 -0700
Subject: [PATCH] rbx_asset: cloud: tweak asset info requests, remove get_asset

---
 rbx_asset/src/cloud.rs | 31 +++++--------------------------
 1 file changed, 5 insertions(+), 26 deletions(-)

diff --git a/rbx_asset/src/cloud.rs b/rbx_asset/src/cloud.rs
index 30ee5f3..9e2f89d 100644
--- a/rbx_asset/src/cloud.rs
+++ b/rbx_asset/src/cloud.rs
@@ -119,7 +119,7 @@ impl std::error::Error for UpdateError{}
 struct GetAssetOperationRequest{
 	operation_id:String,
 }
-pub struct GetAssetInfoRequest{
+pub struct GetAssetLatestRequest{
 	pub asset_id:u64,
 }
 /*
@@ -164,11 +164,6 @@ pub struct GetAssetVersionRequest{
 	pub asset_id:u64,
 	pub version:u64,
 }
-#[allow(nonstandard_style,dead_code)]
-pub struct GetAssetRequest{
-	pub asset_id:u64,
-	pub version:Option<u64>,
-}
 #[derive(Debug)]
 pub enum GetError{
 	ParseError(url::ParseError),
@@ -394,7 +389,7 @@ impl Context{
 		).await.map_err(GetError::Response)?
 		.json::<RobloxOperation>().await.map_err(GetError::Reqwest)
 	}
-	pub async fn get_asset_info(&self,config:GetAssetInfoRequest)->Result<AssetResponse,GetError>{
+	pub async fn get_asset_info(&self,config:GetAssetLatestRequest)->Result<AssetResponse,GetError>{
 		let raw_url=format!("https://apis.roblox.com/assets/v1/assets/{}",config.asset_id);
 		let url=reqwest::Url::parse(raw_url.as_str()).map_err(GetError::ParseError)?;
 
@@ -403,30 +398,14 @@ impl Context{
 		).await.map_err(GetError::Response)?
 		.json::<AssetResponse>().await.map_err(GetError::Reqwest)
 	}
-	pub async fn get_asset_version(&self,config:GetAssetVersionRequest)->Result<Vec<u8>,GetError>{
+	pub async fn get_asset_version_info(&self,config:GetAssetVersionRequest)->Result<AssetResponse,GetError>{
 		let raw_url=format!("https://apis.roblox.com/assets/v1/assets/{}/versions/{}",config.asset_id,config.version);
 		let url=reqwest::Url::parse(raw_url.as_str()).map_err(GetError::ParseError)?;
 
-		let body=crate::response_ok(
+		crate::response_ok(
 			self.get(url).await.map_err(GetError::Reqwest)?
 		).await.map_err(GetError::Response)?
-		.bytes().await.map_err(GetError::Reqwest)?;
-
-		match maybe_gzip_decode(&mut std::io::Cursor::new(body)){
-			Ok(ReaderType::GZip(readable))=>read_readable(readable),
-			Ok(ReaderType::Raw(readable))=>read_readable(readable),
-			Err(e)=>Err(e),
-		}.map_err(GetError::IO)
-	}
-	pub async fn get_asset(&self,config:GetAssetRequest)->Result<Vec<u8>,GetError>{
-		let version=match config.version{
-			Some(version)=>version,
-			None=>self.get_asset_info(GetAssetInfoRequest{asset_id:config.asset_id}).await?.revisionId.parse().unwrap(),
-		};
-		self.get_asset_version(GetAssetVersionRequest{
-			asset_id:config.asset_id,
-			version,
-		}).await
+		.json::<AssetResponse>().await.map_err(GetError::Reqwest)
 	}
 	pub async fn get_asset_versions(&self,config:AssetVersionsRequest)->Result<AssetVersionsResponse,AssetVersionsError>{
 		let raw_url=format!("https://apis.roblox.com/assets/v1/assets/{}/versions",config.asset_id);