parent
31bc5f91b0
commit
6065c734f7
30
validation/src/create_mapfix.rs
Normal file
30
validation/src/create_mapfix.rs
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
use crate::nats_types::CreateMapfixRequest;
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub enum Error{
|
||||||
|
Get(rbx_asset::cookie::GetError),
|
||||||
|
ApiActionMapfixCreate(submissions_api::Error),
|
||||||
|
}
|
||||||
|
impl std::fmt::Display for Error{
|
||||||
|
fn fmt(&self,f:&mut std::fmt::Formatter<'_>)->std::fmt::Result{
|
||||||
|
write!(f,"{self:?}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl std::error::Error for Error{}
|
||||||
|
|
||||||
|
impl crate::message_handler::MessageHandler{
|
||||||
|
pub async fn create_mapfix(&self,create_info:CreateMapfixRequest)->Result<(),Error>{
|
||||||
|
// download the map model version
|
||||||
|
let model_data=self.cookie_context.get_asset(rbx_asset::cookie::GetAssetRequest{
|
||||||
|
asset_id:create_info.ModelID,
|
||||||
|
version:None,
|
||||||
|
}).await.map_err(Error::Get)?;
|
||||||
|
|
||||||
|
// parse create fields out of asset
|
||||||
|
|
||||||
|
// call create on api
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
30
validation/src/create_submission.rs
Normal file
30
validation/src/create_submission.rs
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
use crate::nats_types::CreateSubmissionRequest;
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub enum Error{
|
||||||
|
Get(rbx_asset::cookie::GetError),
|
||||||
|
ApiActionSubmissionCreate(submissions_api::Error),
|
||||||
|
}
|
||||||
|
impl std::fmt::Display for Error{
|
||||||
|
fn fmt(&self,f:&mut std::fmt::Formatter<'_>)->std::fmt::Result{
|
||||||
|
write!(f,"{self:?}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl std::error::Error for Error{}
|
||||||
|
|
||||||
|
impl crate::message_handler::MessageHandler{
|
||||||
|
pub async fn create_submission(&self,create_info:CreateSubmissionRequest)->Result<(),Error>{
|
||||||
|
// download the map model version
|
||||||
|
let model_data=self.cookie_context.get_asset(rbx_asset::cookie::GetAssetRequest{
|
||||||
|
asset_id:create_info.ModelID,
|
||||||
|
version:None,
|
||||||
|
}).await.map_err(Error::Get)?;
|
||||||
|
|
||||||
|
// parse create fields out of asset
|
||||||
|
|
||||||
|
// call create on api
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,8 @@ use futures::StreamExt;
|
|||||||
mod message_handler;
|
mod message_handler;
|
||||||
mod nats_types;
|
mod nats_types;
|
||||||
mod types;
|
mod types;
|
||||||
|
mod create_mapfix;
|
||||||
|
mod create_submission;
|
||||||
mod upload_mapfix;
|
mod upload_mapfix;
|
||||||
mod upload_submission;
|
mod upload_submission;
|
||||||
mod validator;
|
mod validator;
|
||||||
|
@ -5,6 +5,8 @@ pub enum HandleMessageError{
|
|||||||
DoubleAck(async_nats::Error),
|
DoubleAck(async_nats::Error),
|
||||||
Json(serde_json::Error),
|
Json(serde_json::Error),
|
||||||
UnknownSubject(String),
|
UnknownSubject(String),
|
||||||
|
CreateMapfix(crate::create_mapfix::Error),
|
||||||
|
CreateSubmission(crate::create_submission::Error),
|
||||||
UploadMapfix(crate::upload_mapfix::Error),
|
UploadMapfix(crate::upload_mapfix::Error),
|
||||||
UploadSubmission(crate::upload_submission::Error),
|
UploadSubmission(crate::upload_submission::Error),
|
||||||
ValidateMapfix(crate::validate_mapfix::Error),
|
ValidateMapfix(crate::validate_mapfix::Error),
|
||||||
@ -45,6 +47,8 @@ impl MessageHandler{
|
|||||||
let message=message_result.map_err(HandleMessageError::Messages)?;
|
let message=message_result.map_err(HandleMessageError::Messages)?;
|
||||||
message.double_ack().await.map_err(HandleMessageError::DoubleAck)?;
|
message.double_ack().await.map_err(HandleMessageError::DoubleAck)?;
|
||||||
match message.subject.as_str(){
|
match message.subject.as_str(){
|
||||||
|
"maptest.mapfixes.create"=>self.create_mapfix(from_slice(&message.payload)?).await.map_err(HandleMessageError::CreateMapfix),
|
||||||
|
"maptest.submissions.create"=>self.create_submission(from_slice(&message.payload)?).await.map_err(HandleMessageError::CreateSubmission),
|
||||||
"maptest.mapfixes.upload"=>self.upload_mapfix(from_slice(&message.payload)?).await.map_err(HandleMessageError::UploadMapfix),
|
"maptest.mapfixes.upload"=>self.upload_mapfix(from_slice(&message.payload)?).await.map_err(HandleMessageError::UploadMapfix),
|
||||||
"maptest.submissions.upload"=>self.upload_submission(from_slice(&message.payload)?).await.map_err(HandleMessageError::UploadSubmission),
|
"maptest.submissions.upload"=>self.upload_submission(from_slice(&message.payload)?).await.map_err(HandleMessageError::UploadSubmission),
|
||||||
"maptest.mapfixes.validate"=>self.validate_mapfix(from_slice(&message.payload)?).await.map_err(HandleMessageError::ValidateMapfix),
|
"maptest.mapfixes.validate"=>self.validate_mapfix(from_slice(&message.payload)?).await.map_err(HandleMessageError::ValidateMapfix),
|
||||||
|
@ -4,6 +4,22 @@
|
|||||||
// Requests are sent from maps-service to validator
|
// Requests are sent from maps-service to validator
|
||||||
// Validation invokes the REST api to update the submissions
|
// Validation invokes the REST api to update the submissions
|
||||||
|
|
||||||
|
#[allow(nonstandard_style)]
|
||||||
|
#[derive(serde::Deserialize)]
|
||||||
|
pub struct CreateSubmissionRequest{
|
||||||
|
// operation_id is passed back in the response message
|
||||||
|
pub OperationID:i64,
|
||||||
|
pub ModelID:u64,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(nonstandard_style)]
|
||||||
|
#[derive(serde::Deserialize)]
|
||||||
|
pub struct CreateMapfixRequest{
|
||||||
|
pub OperationID:i64,
|
||||||
|
pub ModelID:u64,
|
||||||
|
pub TargetAssetID:u64,
|
||||||
|
}
|
||||||
|
|
||||||
#[allow(nonstandard_style)]
|
#[allow(nonstandard_style)]
|
||||||
#[derive(serde::Deserialize)]
|
#[derive(serde::Deserialize)]
|
||||||
pub struct ValidateSubmissionRequest{
|
pub struct ValidateSubmissionRequest{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user