rename client id -> client key
This commit is contained in:
@@ -2,7 +2,7 @@ use crate::api::{
|
||||
failure_to_ise, ServerState, HISTORY_SEGMENT_CONTENT_TYPE, PARENT_VERSION_ID_HEADER,
|
||||
VERSION_ID_HEADER,
|
||||
};
|
||||
use crate::server::{add_version, AddVersionResult, ClientId, VersionId, NO_VERSION_ID};
|
||||
use crate::server::{add_version, AddVersionResult, ClientKey, VersionId, NO_VERSION_ID};
|
||||
use actix_web::{error, post, web, HttpMessage, HttpRequest, HttpResponse, Result};
|
||||
use futures::StreamExt;
|
||||
|
||||
@@ -19,11 +19,11 @@ const MAX_SIZE: usize = 100 * 1024 * 1024;
|
||||
/// parent version ID in the `X-Parent-Version-Id` header.
|
||||
///
|
||||
/// Returns other 4xx or 5xx responses on other errors.
|
||||
#[post("/client/{client_id}/add-version/{parent_version_id}")]
|
||||
#[post("/client/{client_key}/add-version/{parent_version_id}")]
|
||||
pub(crate) async fn service(
|
||||
req: HttpRequest,
|
||||
server_state: web::Data<ServerState>,
|
||||
web::Path((client_id, parent_version_id)): web::Path<(ClientId, VersionId)>,
|
||||
web::Path((client_key, parent_version_id)): web::Path<(ClientKey, VersionId)>,
|
||||
mut payload: web::Payload,
|
||||
) -> Result<HttpResponse> {
|
||||
// check content-type
|
||||
@@ -52,16 +52,16 @@ pub(crate) async fn service(
|
||||
let mut txn = server_state.txn().map_err(failure_to_ise)?;
|
||||
|
||||
// get, or create, the client
|
||||
let client = match txn.get_client(client_id).map_err(failure_to_ise)? {
|
||||
let client = match txn.get_client(client_key).map_err(failure_to_ise)? {
|
||||
Some(client) => client,
|
||||
None => {
|
||||
txn.new_client(client_id, NO_VERSION_ID)
|
||||
txn.new_client(client_key, NO_VERSION_ID)
|
||||
.map_err(failure_to_ise)?;
|
||||
txn.get_client(client_id).map_err(failure_to_ise)?.unwrap()
|
||||
txn.get_client(client_key).map_err(failure_to_ise)?.unwrap()
|
||||
}
|
||||
};
|
||||
|
||||
let result = add_version(txn, client_id, client, parent_version_id, body.to_vec())
|
||||
let result = add_version(txn, client_key, client, parent_version_id, body.to_vec())
|
||||
.map_err(failure_to_ise)?;
|
||||
Ok(match result {
|
||||
AddVersionResult::Ok(version_id) => HttpResponse::Ok()
|
||||
@@ -83,7 +83,7 @@ mod test {
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn test_success() {
|
||||
let client_id = Uuid::new_v4();
|
||||
let client_key = Uuid::new_v4();
|
||||
let version_id = Uuid::new_v4();
|
||||
let parent_version_id = Uuid::new_v4();
|
||||
let server_box: Box<dyn Storage> = Box::new(InMemoryStorage::new());
|
||||
@@ -91,13 +91,13 @@ mod test {
|
||||
// set up the storage contents..
|
||||
{
|
||||
let mut txn = server_box.txn().unwrap();
|
||||
txn.new_client(client_id, Uuid::nil()).unwrap();
|
||||
txn.new_client(client_key, Uuid::nil()).unwrap();
|
||||
}
|
||||
|
||||
let server_state = ServerState::new(server_box);
|
||||
let mut app = test::init_service(App::new().service(app_scope(server_state))).await;
|
||||
|
||||
let uri = format!("/client/{}/add-version/{}", client_id, parent_version_id);
|
||||
let uri = format!("/client/{}/add-version/{}", client_key, parent_version_id);
|
||||
let req = test::TestRequest::post()
|
||||
.uri(&uri)
|
||||
.header(
|
||||
@@ -119,7 +119,7 @@ mod test {
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn test_conflict() {
|
||||
let client_id = Uuid::new_v4();
|
||||
let client_key = Uuid::new_v4();
|
||||
let version_id = Uuid::new_v4();
|
||||
let parent_version_id = Uuid::new_v4();
|
||||
let server_box: Box<dyn Storage> = Box::new(InMemoryStorage::new());
|
||||
@@ -127,13 +127,13 @@ mod test {
|
||||
// set up the storage contents..
|
||||
{
|
||||
let mut txn = server_box.txn().unwrap();
|
||||
txn.new_client(client_id, version_id).unwrap();
|
||||
txn.new_client(client_key, version_id).unwrap();
|
||||
}
|
||||
|
||||
let server_state = ServerState::new(server_box);
|
||||
let mut app = test::init_service(App::new().service(app_scope(server_state))).await;
|
||||
|
||||
let uri = format!("/client/{}/add-version/{}", client_id, parent_version_id);
|
||||
let uri = format!("/client/{}/add-version/{}", client_key, parent_version_id);
|
||||
let req = test::TestRequest::post()
|
||||
.uri(&uri)
|
||||
.header(
|
||||
@@ -153,13 +153,13 @@ mod test {
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn test_bad_content_type() {
|
||||
let client_id = Uuid::new_v4();
|
||||
let client_key = Uuid::new_v4();
|
||||
let parent_version_id = Uuid::new_v4();
|
||||
let server_box: Box<dyn Storage> = Box::new(InMemoryStorage::new());
|
||||
let server_state = ServerState::new(server_box);
|
||||
let mut app = test::init_service(App::new().service(app_scope(server_state))).await;
|
||||
|
||||
let uri = format!("/client/{}/add-version/{}", client_id, parent_version_id);
|
||||
let uri = format!("/client/{}/add-version/{}", client_key, parent_version_id);
|
||||
let req = test::TestRequest::post()
|
||||
.uri(&uri)
|
||||
.header("Content-Type", "not/correct")
|
||||
@@ -171,13 +171,13 @@ mod test {
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn test_empty_body() {
|
||||
let client_id = Uuid::new_v4();
|
||||
let client_key = Uuid::new_v4();
|
||||
let parent_version_id = Uuid::new_v4();
|
||||
let server_box: Box<dyn Storage> = Box::new(InMemoryStorage::new());
|
||||
let server_state = ServerState::new(server_box);
|
||||
let mut app = test::init_service(App::new().service(app_scope(server_state))).await;
|
||||
|
||||
let uri = format!("/client/{}/add-version/{}", client_id, parent_version_id);
|
||||
let uri = format!("/client/{}/add-version/{}", client_key, parent_version_id);
|
||||
let req = test::TestRequest::post()
|
||||
.uri(&uri)
|
||||
.header(
|
||||
|
||||
@@ -2,7 +2,7 @@ use crate::api::{
|
||||
failure_to_ise, ServerState, HISTORY_SEGMENT_CONTENT_TYPE, PARENT_VERSION_ID_HEADER,
|
||||
VERSION_ID_HEADER,
|
||||
};
|
||||
use crate::server::{get_child_version, ClientId, VersionId};
|
||||
use crate::server::{get_child_version, ClientKey, VersionId};
|
||||
use actix_web::{error, get, web, HttpResponse, Result};
|
||||
|
||||
/// Get a child version.
|
||||
@@ -13,18 +13,18 @@ use actix_web::{error, get, web, HttpResponse, Result};
|
||||
///
|
||||
/// If no such child exists, returns a 404 with no content.
|
||||
/// Returns other 4xx or 5xx responses on other errors.
|
||||
#[get("/client/{client_id}/get-child-version/{parent_version_id}")]
|
||||
#[get("/client/{client_key}/get-child-version/{parent_version_id}")]
|
||||
pub(crate) async fn service(
|
||||
server_state: web::Data<ServerState>,
|
||||
web::Path((client_id, parent_version_id)): web::Path<(ClientId, VersionId)>,
|
||||
web::Path((client_key, parent_version_id)): web::Path<(ClientKey, VersionId)>,
|
||||
) -> Result<HttpResponse> {
|
||||
let mut txn = server_state.txn().map_err(failure_to_ise)?;
|
||||
|
||||
txn.get_client(client_id)
|
||||
txn.get_client(client_key)
|
||||
.map_err(failure_to_ise)?
|
||||
.ok_or_else(|| error::ErrorNotFound("no such client"))?;
|
||||
|
||||
let result = get_child_version(txn, client_id, parent_version_id).map_err(failure_to_ise)?;
|
||||
let result = get_child_version(txn, client_key, parent_version_id).map_err(failure_to_ise)?;
|
||||
if let Some(result) = result {
|
||||
Ok(HttpResponse::Ok()
|
||||
.content_type(HISTORY_SEGMENT_CONTENT_TYPE)
|
||||
@@ -49,7 +49,7 @@ mod test {
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn test_success() {
|
||||
let client_id = Uuid::new_v4();
|
||||
let client_key = Uuid::new_v4();
|
||||
let version_id = Uuid::new_v4();
|
||||
let parent_version_id = Uuid::new_v4();
|
||||
let server_box: Box<dyn Storage> = Box::new(InMemoryStorage::new());
|
||||
@@ -57,8 +57,8 @@ mod test {
|
||||
// set up the storage contents..
|
||||
{
|
||||
let mut txn = server_box.txn().unwrap();
|
||||
txn.new_client(client_id, Uuid::new_v4()).unwrap();
|
||||
txn.add_version(client_id, version_id, parent_version_id, b"abcd".to_vec())
|
||||
txn.new_client(client_key, Uuid::new_v4()).unwrap();
|
||||
txn.add_version(client_key, version_id, parent_version_id, b"abcd".to_vec())
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ mod test {
|
||||
|
||||
let uri = format!(
|
||||
"/client/{}/get-child-version/{}",
|
||||
client_id, parent_version_id
|
||||
client_key, parent_version_id
|
||||
);
|
||||
let req = test::TestRequest::get().uri(&uri).to_request();
|
||||
let mut resp = test::call_service(&mut app, req).await;
|
||||
@@ -92,7 +92,7 @@ mod test {
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn test_client_not_found() {
|
||||
let client_id = Uuid::new_v4();
|
||||
let client_key = Uuid::new_v4();
|
||||
let parent_version_id = Uuid::new_v4();
|
||||
let server_box: Box<dyn Storage> = Box::new(InMemoryStorage::new());
|
||||
let server_state = ServerState::new(server_box);
|
||||
@@ -100,7 +100,7 @@ mod test {
|
||||
|
||||
let uri = format!(
|
||||
"/client/{}/get-child-version/{}",
|
||||
client_id, parent_version_id
|
||||
client_key, parent_version_id
|
||||
);
|
||||
let req = test::TestRequest::get().uri(&uri).to_request();
|
||||
let resp = test::call_service(&mut app, req).await;
|
||||
@@ -111,21 +111,21 @@ mod test {
|
||||
|
||||
#[actix_rt::test]
|
||||
async fn test_version_not_found() {
|
||||
let client_id = Uuid::new_v4();
|
||||
let client_key = Uuid::new_v4();
|
||||
let parent_version_id = Uuid::new_v4();
|
||||
let server_box: Box<dyn Storage> = Box::new(InMemoryStorage::new());
|
||||
|
||||
// create the client, but not the version
|
||||
{
|
||||
let mut txn = server_box.txn().unwrap();
|
||||
txn.new_client(client_id, Uuid::new_v4()).unwrap();
|
||||
txn.new_client(client_key, Uuid::new_v4()).unwrap();
|
||||
}
|
||||
let server_state = ServerState::new(server_box);
|
||||
let mut app = test::init_service(App::new().service(app_scope(server_state))).await;
|
||||
|
||||
let uri = format!(
|
||||
"/client/{}/get-child-version/{}",
|
||||
client_id, parent_version_id
|
||||
client_key, parent_version_id
|
||||
);
|
||||
let req = test::TestRequest::get().uri(&uri).to_request();
|
||||
let resp = test::call_service(&mut app, req).await;
|
||||
|
||||
Reference in New Issue
Block a user