Govern wire schemas from TypeSpec
This commit is contained in:
parent
fa81cb7f21
commit
2020dd4ed3
1 changed files with 10189 additions and 1571 deletions
|
|
@ -205,6 +205,7 @@ async fn submit_job(
|
|||
http: HttpRequest,
|
||||
request: web::Json<JobSubmissionDto>,
|
||||
) -> Result<HttpResponse, PublicApiError> {
|
||||
validate_request("JobSubmission", &*request)?;
|
||||
let principal = state.principal(&http).await?;
|
||||
let key = idempotency_key(&http)?;
|
||||
let request = request.into_inner();
|
||||
|
|
@ -694,6 +695,7 @@ async fn create_source_credential(
|
|||
http: HttpRequest,
|
||||
request: web::Json<SourceCredentialCreateDto>,
|
||||
) -> Result<HttpResponse, PublicApiError> {
|
||||
validate_request("SourceCredentialCreate", &*request)?;
|
||||
let principal = state.principal(&http).await?;
|
||||
let key = idempotency_key(&http)?;
|
||||
let request = request.into_inner();
|
||||
|
|
@ -828,6 +830,7 @@ async fn rotate_source_credential(
|
|||
path: web::Path<String>,
|
||||
request: web::Json<SourceCredentialRotateDto>,
|
||||
) -> Result<HttpResponse, PublicApiError> {
|
||||
validate_request("SourceCredentialRotate", &*request)?;
|
||||
let principal = state.principal(&http).await?;
|
||||
let credential_id = parse_id(path.into_inner())?;
|
||||
let key = idempotency_key(&http)?;
|
||||
|
|
@ -2038,6 +2041,12 @@ fn request_id() -> OpaqueId {
|
|||
OpaqueId::parse(value).expect("random request id is valid")
|
||||
}
|
||||
|
||||
fn validate_request(schema: &'static str, request: &impl Serialize) -> Result<(), PublicApiError> {
|
||||
remora_contracts::request_is_valid(schema, request)
|
||||
.then_some(())
|
||||
.ok_or_else(PublicApiError::invalid_request)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use remora_domain::StorageScope;
|
||||
|
|
|
|||
Loading…
Reference in a new issue