From 6e21447d4b5b53d5b76699a824b6811ec5d7a22c Mon Sep 17 00:00:00 2001 From: Quaternions <krakow20@gmail.com> Date: Fri, 28 Mar 2025 15:37:46 -0700 Subject: [PATCH 1/3] validation: update deps --- Cargo.lock | 120 +++++++++++++++++------------------------- validation/Cargo.toml | 2 +- 2 files changed, 48 insertions(+), 74 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 667f43c..2f71fec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,9 +55,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "async-nats" -version = "0.38.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76433c4de73442daedb3a59e991d94e85c14ebfc33db53dfcd347a21cd6ef4f8" +checksum = "e23419d455dc57d3ae60a2f4278cf561fc74fe866e548e14d2b0ad3e1b8ca0b2" dependencies = [ "base64 0.22.1", "bytes", @@ -71,7 +71,7 @@ dependencies = [ "rand", "regex", "ring", - "rustls-native-certs 0.7.3", + "rustls-native-certs", "rustls-pemfile", "rustls-webpki 0.102.8", "serde", @@ -191,9 +191,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.16" +version = "1.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" dependencies = [ "shlex", ] @@ -241,16 +241,6 @@ dependencies = [ "libc", ] -[[package]] -name = "core-foundation" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -330,9 +320,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +checksum = "28cfac68e08048ae1883171632c2aef3ebc555621ae56fbccce1cbf22dd7f058" dependencies = [ "powerfmt", "serde", @@ -725,14 +715,15 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.61" +version = "0.1.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +checksum = "b2fd658b06e56721792c5df4475705b6cda790e9298d19d2f8af083457bcd127" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -787,9 +778,9 @@ dependencies = [ [[package]] name = "icu_locid_transform_data" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" +checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" [[package]] name = "icu_normalizer" @@ -811,9 +802,9 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" [[package]] name = "icu_properties" @@ -832,9 +823,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" [[package]] name = "icu_provider" @@ -943,9 +934,9 @@ checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" [[package]] name = "log" -version = "0.4.26" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lz4" @@ -1038,7 +1029,7 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework 2.11.1", + "security-framework", "security-framework-sys", "tempfile", ] @@ -1093,9 +1084,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.1" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "openssl" @@ -1542,7 +1533,7 @@ dependencies = [ "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.103.0", + "rustls-webpki 0.103.1", "subtle", "zeroize", ] @@ -1557,19 +1548,7 @@ dependencies = [ "rustls-pemfile", "rustls-pki-types", "schannel", - "security-framework 2.11.1", -] - -[[package]] -name = "rustls-native-certs" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" -dependencies = [ - "openssl-probe", - "rustls-pki-types", - "schannel", - "security-framework 3.2.0", + "security-framework", ] [[package]] @@ -1593,16 +1572,15 @@ version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ - "ring", "rustls-pki-types", "untrusted", ] [[package]] name = "rustls-webpki" -version = "0.103.0" +version = "0.103.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" +checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" dependencies = [ "ring", "rustls-pki-types", @@ -1637,20 +1615,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.9.0", - "core-foundation 0.9.4", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" -dependencies = [ - "bitflags 2.9.0", - "core-foundation 0.10.0", + "core-foundation", "core-foundation-sys", "libc", "security-framework-sys", @@ -1886,7 +1851,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ "bitflags 2.9.0", - "core-foundation 0.9.4", + "core-foundation", "system-configuration-sys", ] @@ -1902,9 +1867,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.19.0" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ "fastrand", "getrandom 0.3.2", @@ -1935,9 +1900,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.40" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -1956,9 +1921,9 @@ checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", @@ -2049,11 +2014,11 @@ dependencies = [ "httparse", "rand", "ring", - "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", "tokio-rustls", "tokio-util", + "webpki-roots", ] [[package]] @@ -2295,6 +2260,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "0.26.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -2538,18 +2512,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.23" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.23" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" dependencies = [ "proc-macro2", "quote", diff --git a/validation/Cargo.toml b/validation/Cargo.toml index fa7e9c1..28ce533 100644 --- a/validation/Cargo.toml +++ b/validation/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" [dependencies] submissions-api = { path = "api", features = ["internal"], default-features = false, registry = "strafesnet" } -async-nats = "0.38.0" +async-nats = "0.40.0" futures = "0.3.31" rbx_asset = { version = "0.2.5", registry = "strafesnet" } rbx_binary = { version = "0.7.4", registry = "strafesnet"} -- 2.47.1 From e855ace2292b4d44015d866781fc187f21565954 Mon Sep 17 00:00:00 2001 From: Quaternions <krakow20@gmail.com> Date: Fri, 28 Mar 2025 15:50:43 -0700 Subject: [PATCH 2/3] rename part 1: move files --- validation/src/main.rs | 4 ++-- validation/src/message_handler.rs | 12 ++++++------ validation/src/{publish_fix.rs => upload_fix.rs} | 0 validation/src/{publish_new.rs => upload_new.rs} | 0 4 files changed, 8 insertions(+), 8 deletions(-) rename validation/src/{publish_fix.rs => upload_fix.rs} (100%) rename validation/src/{publish_new.rs => upload_new.rs} (100%) diff --git a/validation/src/main.rs b/validation/src/main.rs index 5daeb8a..2ee02e1 100644 --- a/validation/src/main.rs +++ b/validation/src/main.rs @@ -2,8 +2,8 @@ use futures::StreamExt; mod nats_types; mod validator; -mod publish_new; -mod publish_fix; +mod upload_new; +mod upload_fix; mod message_handler; #[allow(dead_code)] diff --git a/validation/src/message_handler.rs b/validation/src/message_handler.rs index 1c0cfe6..498b5f6 100644 --- a/validation/src/message_handler.rs +++ b/validation/src/message_handler.rs @@ -5,8 +5,8 @@ pub enum HandleMessageError{ DoubleAck(async_nats::Error), Json(serde_json::Error), UnknownSubject(String), - PublishNew(crate::publish_new::PublishError), - PublishFix(crate::publish_fix::PublishError), + PublishNew(crate::upload_new::PublishError), + PublishFix(crate::upload_fix::PublishError), Validation(crate::validator::ValidateError), } impl std::fmt::Display for HandleMessageError{ @@ -23,8 +23,8 @@ fn from_slice<'a,T:serde::de::Deserialize<'a>>(slice:&'a [u8])->Result<T,HandleM } pub struct MessageHandler{ - publish_new:crate::publish_new::Publisher, - publish_fix:crate::publish_fix::Publisher, + publish_new:crate::upload_new::Publisher, + publish_fix:crate::upload_fix::Publisher, validator:crate::validator::Validator, } @@ -35,8 +35,8 @@ impl MessageHandler{ api:submissions_api::internal::Context, )->Self{ Self{ - publish_new:crate::publish_new::Publisher::new(cookie_context.clone(),group_id,api.clone()), - publish_fix:crate::publish_fix::Publisher::new(cookie_context.clone(),group_id,api.clone()), + publish_new:crate::upload_new::Publisher::new(cookie_context.clone(),group_id,api.clone()), + publish_fix:crate::upload_fix::Publisher::new(cookie_context.clone(),group_id,api.clone()), validator:crate::validator::Validator::new(cookie_context,api), } } diff --git a/validation/src/publish_fix.rs b/validation/src/upload_fix.rs similarity index 100% rename from validation/src/publish_fix.rs rename to validation/src/upload_fix.rs diff --git a/validation/src/publish_new.rs b/validation/src/upload_new.rs similarity index 100% rename from validation/src/publish_new.rs rename to validation/src/upload_new.rs -- 2.47.1 From f3689f49166ffc486581886c4cf9997039082dce Mon Sep 17 00:00:00 2001 From: Quaternions <krakow20@gmail.com> Date: Fri, 28 Mar 2025 15:51:39 -0700 Subject: [PATCH 3/3] rename part 2: rename all occurrences of "publish" to "upload" --- pkg/model/nats.go | 4 ++-- pkg/service/submissions.go | 14 +++++++------- validation/src/message_handler.rs | 16 ++++++++-------- validation/src/nats_types.rs | 4 ++-- validation/src/upload_fix.rs | 28 ++++++++++++++-------------- validation/src/upload_new.rs | 28 ++++++++++++++-------------- 6 files changed, 47 insertions(+), 47 deletions(-) diff --git a/pkg/model/nats.go b/pkg/model/nats.go index e193d10..1da2918 100644 --- a/pkg/model/nats.go +++ b/pkg/model/nats.go @@ -14,14 +14,14 @@ type ValidateRequest struct { } // Create a new map -type PublishNewRequest struct { +type UploadNewRequest struct { SubmissionID int64 ModelID int64 ModelVersion int64 ModelName string } -type PublishFixRequest struct { +type UploadFixRequest struct { SubmissionID int64 ModelID int64 ModelVersion int64 diff --git a/pkg/service/submissions.go b/pkg/service/submissions.go index 0ae7eeb..e8cf082 100644 --- a/pkg/service/submissions.go +++ b/pkg/service/submissions.go @@ -424,35 +424,35 @@ func (svc *Service) ActionSubmissionTriggerUpload(ctx context.Context, params ap // sentinel value because we are not using rust if submission.TargetAssetID == 0 { // this is a new map - publish_new_request := model.PublishNewRequest{ + upload_new_request := model.UploadNewRequest{ SubmissionID: submission.ID, ModelID: submission.ValidatedAssetID, ModelVersion: submission.ValidatedAssetVersion, - // publish as displayname, whatever + // upload as displayname, whatever ModelName: submission.DisplayName, } - j, err := json.Marshal(publish_new_request) + j, err := json.Marshal(upload_new_request) if err != nil { return err } - svc.Nats.Publish("maptest.submissions.publishnew", []byte(j)) + svc.Nats.Publish("maptest.submissions.uploadnew", []byte(j)) } else { // this is a map fix - publish_fix_request := model.PublishFixRequest{ + upload_fix_request := model.UploadFixRequest{ SubmissionID: submission.ID, ModelID: submission.ValidatedAssetID, ModelVersion: submission.ValidatedAssetVersion, TargetAssetID: submission.TargetAssetID, } - j, err := json.Marshal(publish_fix_request) + j, err := json.Marshal(upload_fix_request) if err != nil { return err } - svc.Nats.Publish("maptest.submissions.publishfix", []byte(j)) + svc.Nats.Publish("maptest.submissions.uploadfix", []byte(j)) } return nil diff --git a/validation/src/message_handler.rs b/validation/src/message_handler.rs index 498b5f6..c0a5dc2 100644 --- a/validation/src/message_handler.rs +++ b/validation/src/message_handler.rs @@ -5,8 +5,8 @@ pub enum HandleMessageError{ DoubleAck(async_nats::Error), Json(serde_json::Error), UnknownSubject(String), - PublishNew(crate::upload_new::PublishError), - PublishFix(crate::upload_fix::PublishError), + UploadNew(crate::upload_new::UploadError), + UploadFix(crate::upload_fix::UploadError), Validation(crate::validator::ValidateError), } impl std::fmt::Display for HandleMessageError{ @@ -23,8 +23,8 @@ fn from_slice<'a,T:serde::de::Deserialize<'a>>(slice:&'a [u8])->Result<T,HandleM } pub struct MessageHandler{ - publish_new:crate::upload_new::Publisher, - publish_fix:crate::upload_fix::Publisher, + upload_new:crate::upload_new::Uploader, + upload_fix:crate::upload_fix::Uploader, validator:crate::validator::Validator, } @@ -35,8 +35,8 @@ impl MessageHandler{ api:submissions_api::internal::Context, )->Self{ Self{ - publish_new:crate::upload_new::Publisher::new(cookie_context.clone(),group_id,api.clone()), - publish_fix:crate::upload_fix::Publisher::new(cookie_context.clone(),group_id,api.clone()), + upload_new:crate::upload_new::Uploader::new(cookie_context.clone(),group_id,api.clone()), + upload_fix:crate::upload_fix::Uploader::new(cookie_context.clone(),group_id,api.clone()), validator:crate::validator::Validator::new(cookie_context,api), } } @@ -44,8 +44,8 @@ impl MessageHandler{ let message=message_result.map_err(HandleMessageError::Messages)?; message.double_ack().await.map_err(HandleMessageError::DoubleAck)?; match message.subject.as_str(){ - "maptest.submissions.publishnew"=>self.publish_new.publish(from_slice(&message.payload)?).await.map_err(HandleMessageError::PublishNew), - "maptest.submissions.publishfix"=>self.publish_fix.publish(from_slice(&message.payload)?).await.map_err(HandleMessageError::PublishFix), + "maptest.submissions.uploadnew"=>self.upload_new.upload(from_slice(&message.payload)?).await.map_err(HandleMessageError::UploadNew), + "maptest.submissions.uploadfix"=>self.upload_fix.upload(from_slice(&message.payload)?).await.map_err(HandleMessageError::UploadFix), "maptest.submissions.validate"=>self.validator.validate(from_slice(&message.payload)?).await.map_err(HandleMessageError::Validation), other=>Err(HandleMessageError::UnknownSubject(other.to_owned())) } diff --git a/validation/src/nats_types.rs b/validation/src/nats_types.rs index 6e2360b..de41e7d 100644 --- a/validation/src/nats_types.rs +++ b/validation/src/nats_types.rs @@ -17,7 +17,7 @@ pub struct ValidateRequest{ // Create a new map #[allow(nonstandard_style)] #[derive(serde::Deserialize)] -pub struct PublishNewRequest{ +pub struct UploadNewRequest{ pub SubmissionID:i64, pub ModelID:u64, pub ModelVersion:u64, @@ -26,7 +26,7 @@ pub struct PublishNewRequest{ #[allow(nonstandard_style)] #[derive(serde::Deserialize)] -pub struct PublishFixRequest{ +pub struct UploadFixRequest{ pub SubmissionID:i64, pub ModelID:u64, pub ModelVersion:u64, diff --git a/validation/src/upload_fix.rs b/validation/src/upload_fix.rs index 34bf7c4..8aa3bac 100644 --- a/validation/src/upload_fix.rs +++ b/validation/src/upload_fix.rs @@ -1,26 +1,26 @@ -use crate::nats_types::PublishFixRequest; +use crate::nats_types::UploadFixRequest; #[allow(dead_code)] #[derive(Debug)] -pub enum PublishError{ +pub enum UploadError{ Get(rbx_asset::cookie::GetError), Json(serde_json::Error), Upload(rbx_asset::cookie::UploadError), ApiActionSubmissionUploaded(submissions_api::Error), } -impl std::fmt::Display for PublishError{ +impl std::fmt::Display for UploadError{ fn fmt(&self,f:&mut std::fmt::Formatter<'_>)->std::fmt::Result{ write!(f,"{self:?}") } } -impl std::error::Error for PublishError{} +impl std::error::Error for UploadError{} -pub struct Publisher{ +pub struct Uploader{ roblox_cookie:rbx_asset::cookie::CookieContext, group_id:Option<u64>, api_internal:submissions_api::internal::Context, } -impl Publisher{ +impl Uploader{ pub const fn new( roblox_cookie:rbx_asset::cookie::CookieContext, group_id:Option<u64>, @@ -32,30 +32,30 @@ impl Publisher{ api_internal, } } - pub async fn publish(&self,publish_info:PublishFixRequest)->Result<(),PublishError>{ + pub async fn upload(&self,upload_info:UploadFixRequest)->Result<(),UploadError>{ // download the map model version let model_data=self.roblox_cookie.get_asset(rbx_asset::cookie::GetAssetRequest{ - asset_id:publish_info.ModelID, - version:Some(publish_info.ModelVersion), - }).await.map_err(PublishError::Get)?; + asset_id:upload_info.ModelID, + version:Some(upload_info.ModelVersion), + }).await.map_err(UploadError::Get)?; // upload the map to the strafesnet group let _upload_response=self.roblox_cookie.upload(rbx_asset::cookie::UploadRequest{ - assetid:publish_info.TargetAssetID, + assetid:upload_info.TargetAssetID, groupId:self.group_id, name:None, description:None, ispublic:None, allowComments:None, - },model_data).await.map_err(PublishError::Upload)?; + },model_data).await.map_err(UploadError::Upload)?; // that's it, the database entry does not need to be changed. // mark submission as uploaded, TargetAssetID is unchanged self.api_internal.action_submission_uploaded(submissions_api::types::ActionSubmissionUploadedRequest{ - SubmissionID:publish_info.SubmissionID, + SubmissionID:upload_info.SubmissionID, TargetAssetID:None, - }).await.map_err(PublishError::ApiActionSubmissionUploaded)?; + }).await.map_err(UploadError::ApiActionSubmissionUploaded)?; Ok(()) } diff --git a/validation/src/upload_new.rs b/validation/src/upload_new.rs index fc6ad5e..6e4f074 100644 --- a/validation/src/upload_new.rs +++ b/validation/src/upload_new.rs @@ -1,27 +1,27 @@ -use crate::nats_types::PublishNewRequest; +use crate::nats_types::UploadNewRequest; #[allow(dead_code)] #[derive(Debug)] -pub enum PublishError{ +pub enum UploadError{ Get(rbx_asset::cookie::GetError), Json(serde_json::Error), Create(rbx_asset::cookie::CreateError), SystemTime(std::time::SystemTimeError), ApiActionSubmissionUploaded(submissions_api::Error), } -impl std::fmt::Display for PublishError{ +impl std::fmt::Display for UploadError{ fn fmt(&self,f:&mut std::fmt::Formatter<'_>)->std::fmt::Result{ write!(f,"{self:?}") } } -impl std::error::Error for PublishError{} +impl std::error::Error for UploadError{} -pub struct Publisher{ +pub struct Uploader{ roblox_cookie:rbx_asset::cookie::CookieContext, group_id:Option<u64>, api:submissions_api::internal::Context, } -impl Publisher{ +impl Uploader{ pub const fn new( roblox_cookie:rbx_asset::cookie::CookieContext, group_id:Option<u64>, @@ -33,27 +33,27 @@ impl Publisher{ api, } } - pub async fn publish(&self,publish_info:PublishNewRequest)->Result<(),PublishError>{ + pub async fn upload(&self,upload_info:UploadNewRequest)->Result<(),UploadError>{ // download the map model version let model_data=self.roblox_cookie.get_asset(rbx_asset::cookie::GetAssetRequest{ - asset_id:publish_info.ModelID, - version:Some(publish_info.ModelVersion), - }).await.map_err(PublishError::Get)?; + asset_id:upload_info.ModelID, + version:Some(upload_info.ModelVersion), + }).await.map_err(UploadError::Get)?; // upload the map to the strafesnet group let upload_response=self.roblox_cookie.create(rbx_asset::cookie::CreateRequest{ - name:publish_info.ModelName.clone(), + name:upload_info.ModelName.clone(), description:"".to_owned(), ispublic:false, allowComments:false, groupId:self.group_id, - },model_data).await.map_err(PublishError::Create)?; + },model_data).await.map_err(UploadError::Create)?; // note the asset id of the created model for later release, and mark the submission as uploaded self.api.action_submission_uploaded(submissions_api::types::ActionSubmissionUploadedRequest{ - SubmissionID:publish_info.SubmissionID, + SubmissionID:upload_info.SubmissionID, TargetAssetID:Some(upload_response.AssetId), - }).await.map_err(PublishError::ApiActionSubmissionUploaded)?; + }).await.map_err(UploadError::ApiActionSubmissionUploaded)?; Ok(()) } -- 2.47.1