diff --git a/validation/src/validator.rs b/validation/src/validator.rs index 75742fe..1654f26 100644 --- a/validation/src/validator.rs +++ b/validation/src/validator.rs @@ -175,7 +175,7 @@ impl crate::message_handler::MessageHandler{ .await?; // make the replacements - let mut modified=true; + let mut modified=false; for &script_ref in &script_refs{ if let Some(script)=dom.get_by_ref_mut(script_ref){ if let Some(rbx_dom_weak::types::Variant::String(source))=script.properties.get_mut("Source"){ @@ -211,10 +211,8 @@ impl crate::message_handler::MessageHandler{ } } - println!("[Validator] Forcing model upload! modified=true"); - // if the model was validated, the submission must be changed to use the modified model - if modified{ + let (validated_model_id,validated_model_version)=if modified{ // serialize model (slow!) let mut data=Vec::new(); let &[map_ref]=dom.root().children()else{ @@ -223,7 +221,7 @@ impl crate::message_handler::MessageHandler{ rbx_binary::to_writer(&mut data,&dom,&[map_ref]).map_err(Error::ModelFileEncode)?; // upload a model lol - let model_id=if let Some(model_id)=validate_info.ValidatedModelID{ + if let Some(model_id)=validate_info.ValidatedModelID{ // upload to existing id let response=self.cookie_context.upload(rbx_asset::cookie::UploadRequest{ assetid:model_id, @@ -234,9 +232,10 @@ impl crate::message_handler::MessageHandler{ groupId:None, },data).await.map_err(Error::AssetUpload)?; - response.AssetId + // TODO: figure out model version + (response.AssetId,1) }else{ - // grab the map instance from the map re + // grab the map instance from the map ref let Some(map_instance)=dom.get_by_ref(map_ref)else{ return Err(Error::ModelFileChildRefIsNil); }; @@ -249,27 +248,29 @@ impl crate::message_handler::MessageHandler{ groupId:None, },data).await.map_err(Error::AssetCreate)?; - response.AssetId - }; - - match validate_info.ResourceID{ - ResourceID::Mapfix(mapfix_id)=>{ - // update the mapfix to use the validated model - self.api.update_mapfix_validated_model(submissions_api::types::UpdateMapfixModelRequest{ - MapfixID:mapfix_id, - ModelID:model_id, - ModelVersion:1, //TODO - }).await.map_err(Error::ApiUpdateMapfixModel)?; - }, - ResourceID::Submission(submission_id)=>{ - // update the submission to use the validated model - self.api.update_submission_validated_model(submissions_api::types::UpdateSubmissionModelRequest{ - SubmissionID:submission_id, - ModelID:model_id, - ModelVersion:1, //TODO - }).await.map_err(Error::ApiUpdateSubmissionModel)?; - }, + (response.AssetId,1) } + }else{ + (validate_info.ModelID,validate_info.ModelVersion) + }; + + match validate_info.ResourceID{ + ResourceID::Mapfix(mapfix_id)=>{ + // update the mapfix to use the validated model + self.api.update_mapfix_validated_model(submissions_api::types::UpdateMapfixModelRequest{ + MapfixID:mapfix_id, + ModelID:validated_model_id, + ModelVersion:validated_model_version, + }).await.map_err(Error::ApiUpdateMapfixModel)?; + }, + ResourceID::Submission(submission_id)=>{ + // update the submission to use the validated model + self.api.update_submission_validated_model(submissions_api::types::UpdateSubmissionModelRequest{ + SubmissionID:submission_id, + ModelID:validated_model_id, + ModelVersion:validated_model_version, + }).await.map_err(Error::ApiUpdateSubmissionModel)?; + }, } Ok(())