Skip to content
This repository was archived by the owner on May 9, 2022. It is now read-only.

Commit 69026dc

Browse files
committed
refactor(rtc_data_service::data_upload): split DataUploadRequest from DataUploadMessage
1 parent 38434f5 commit 69026dc

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

rtc_data_service/src/data_upload/message.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,15 @@ use rtc_types::{DataUploadError, DataUploadResponse, EcallError, UploadMetadata}
33

44
use crate::data_enclave_actor::DataEnclaveActor;
55

6-
pub struct DataUploadMessage {
6+
pub struct DataUploadRequest {
77
pub metadata: UploadMetadata,
88
pub payload: Box<[u8]>,
99
}
1010

11+
pub struct DataUploadMessage {
12+
pub request: DataUploadRequest,
13+
}
14+
1115
impl Message for DataUploadMessage {
1216
type Result = Result<DataUploadResponse, EcallError<DataUploadError>>;
1317
}
@@ -17,6 +21,7 @@ impl Handler<DataUploadMessage> for DataEnclaveActor {
1721
type Result = <DataUploadMessage as Message>::Result;
1822

1923
fn handle(&mut self, msg: DataUploadMessage, _ctx: &mut Self::Context) -> Self::Result {
20-
self.get_enclave().upload_data(&msg.payload, msg.metadata)
24+
self.get_enclave()
25+
.upload_data(&msg.request.payload, msg.request.metadata)
2126
}
2227
}

rtc_data_service/src/data_upload/service.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ use actix_web::{post, web};
66
use models::*;
77
use rtc_types::{DataUploadError, DataUploadResponse, EcallError};
88

9-
use super::DataUploadMessage;
109
use crate::data_enclave_actor::DataEnclaveActor;
10+
use crate::data_upload::{DataUploadMessage, DataUploadRequest};
1111
use crate::merge_error::*;
1212

1313
/// Save uploaded data file using a [`DataUploadMessage`] for [`DataEnclaveActor`].
@@ -22,7 +22,8 @@ pub async fn upload_file(
2222
req_body: web::Json<RequestBody>,
2323
enclave: web::Data<Addr<DataEnclaveActor>>,
2424
) -> actix_web::Result<web::Json<ResponseBody>> {
25-
let message: DataUploadMessage = req_body.0.try_into()?;
25+
let request: DataUploadRequest = req_body.0.try_into()?;
26+
let message = DataUploadMessage { request };
2627

2728
let result: Result<DataUploadResponse, MergedError<EcallError<DataUploadError>, MailboxError>> =
2829
enclave.send(message).await.merge_err();
@@ -40,7 +41,7 @@ pub mod models {
4041
use rtc_types::{DataUploadResponse, UploadMetadata};
4142
use serde::{Deserialize, Serialize};
4243

43-
use crate::data_upload::DataUploadMessage;
44+
use crate::data_upload::DataUploadRequest;
4445
use crate::validation::ValidationError;
4546
use crate::Base64Standard;
4647

@@ -76,7 +77,7 @@ pub mod models {
7677
}
7778
}
7879

79-
impl TryFrom<RequestBody> for DataUploadMessage {
80+
impl TryFrom<RequestBody> for DataUploadRequest {
8081
type Error = ValidationError;
8182

8283
fn try_from(request_body: RequestBody) -> Result<Self, Self::Error> {
@@ -85,7 +86,7 @@ pub mod models {
8586
let nonce = TryFrom::try_from(request_body.metadata.nonce)
8687
.or(Err(ValidationError::new("Invalid nonce")))?;
8788

88-
Ok(DataUploadMessage {
89+
Ok(DataUploadRequest {
8990
metadata: UploadMetadata {
9091
uploader_pub_key,
9192
nonce,

0 commit comments

Comments
 (0)