2 Commits

Author SHA1 Message Date
b352707b99 rbx_asset v0.2.5 better error info
All checks were successful
continuous-integration/drone/push Build is passing
2024-12-13 19:55:45 -08:00
81f411272f rbx_asset keep typed UploadResponse 2024-12-13 19:55:19 -08:00
4 changed files with 22 additions and 11 deletions

4
Cargo.lock generated
View File

@@ -110,7 +110,7 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
[[package]]
name = "asset-tool"
version = "0.4.7"
version = "0.4.8"
dependencies = [
"anyhow",
"clap",
@@ -1278,7 +1278,7 @@ dependencies = [
[[package]]
name = "rbx_asset"
version = "0.2.3"
version = "0.2.5"
dependencies = [
"chrono",
"flate2",

View File

@@ -1,7 +1,7 @@
workspace = { members = ["rbx_asset", "rox_compiler"] }
[package]
name = "asset-tool"
version = "0.4.7"
version = "0.4.8"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@@ -1,6 +1,6 @@
[package]
name = "rbx_asset"
version = "0.2.3"
version = "0.2.5"
edition = "2021"
publish = ["strafesnet"]
repository = "https://git.itzana.me/StrafesNET/asset-tool"

View File

@@ -58,7 +58,12 @@ impl std::fmt::Display for UploadError{
}
}
impl std::error::Error for UploadError{}
type UploadResponse=u64;
type RobloxUploadResponse=u64;
#[derive(Debug,serde::Deserialize,serde::Serialize)]
#[allow(nonstandard_style,dead_code)]
pub struct UploadResponse{
pub AssetId:u64,
}
#[allow(nonstandard_style,dead_code)]
pub struct GetAssetRequest{
@@ -267,11 +272,14 @@ impl CookieContext{
query.append_pair("groupId",group_id.to_string().as_str());
}
}
crate::response_ok(
let asset_id=crate::response_ok(
self.post(url,body).await.map_err(CreateError::PostError)?
).await.map_err(CreateError::Response)?
.json::<UploadResponse>().await.map_err(CreateError::Reqwest)
.json::<RobloxUploadResponse>().await.map_err(CreateError::Reqwest)?;
Ok(UploadResponse{
AssetId:asset_id,
})
}
pub async fn upload(&self,config:UploadRequest,body:impl Into<reqwest::Body>+Clone)->Result<UploadResponse,UploadError>{
let mut url=reqwest::Url::parse("https://data.roblox.com/Data/Upload.ashx?json=1&type=Model&genreTypeId=1").map_err(UploadError::ParseError)?;
@@ -299,11 +307,14 @@ impl CookieContext{
query.append_pair("groupId",group_id.to_string().as_str());
}
}
crate::response_ok(
let asset_id=crate::response_ok(
self.post(url,body).await.map_err(UploadError::PostError)?
).await.map_err(UploadError::Response)?
.json::<UploadResponse>().await.map_err(UploadError::Reqwest)
.json::<RobloxUploadResponse>().await.map_err(UploadError::Reqwest)?;
Ok(UploadResponse{
AssetId:asset_id,
})
}
pub async fn get_asset(&self,config:GetAssetRequest)->Result<Vec<u8>,GetError>{
let mut url=reqwest::Url::parse("https://assetdelivery.roblox.com/v1/asset/").map_err(GetError::ParseError)?;