From c658f2ed24fd672b17b077db1bd659e2be830b1d Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 22 Oct 2021 20:32:07 +0200 Subject: Move "model" types to model.rs Signed-off-by: Matthias Beyer --- service-person/src/main.rs | 22 ++-------------------- service-person/src/model.rs | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 20 deletions(-) create mode 100644 service-person/src/model.rs diff --git a/service-person/src/main.rs b/service-person/src/main.rs index 81be674..759050d 100644 --- a/service-person/src/main.rs +++ b/service-person/src/main.rs @@ -2,28 +2,10 @@ use std::str::FromStr; use anyhow::Context; use actix_web::{web, App, HttpServer, HttpResponse, Result}; -use serde::Deserialize; -#[derive(Debug, Deserialize)] -struct Name(String); +mod model; -#[derive(Debug, Deserialize)] -struct Age(usize); - -#[derive(Debug, Deserialize)] -struct Address { - street: String, - number: String, - city: String, - country: String, -} - -#[derive(Debug, Deserialize)] -struct Person { - name: Name, - age: Age, - addr: Address, -} +use model::*; async fn create_person(person: web::Json) -> Result { log::debug!("Creating person = {:?}", person); diff --git a/service-person/src/model.rs b/service-person/src/model.rs new file mode 100644 index 0000000..aa81312 --- /dev/null +++ b/service-person/src/model.rs @@ -0,0 +1,32 @@ +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct Name(String); + +#[derive(Debug, Deserialize)] +pub struct Age(usize); + +#[derive(Debug, Deserialize)] +pub struct Street(String); + +#[derive(Debug, Deserialize)] +pub struct City(String); + +#[derive(Debug, Deserialize)] +pub struct Country(String); + +#[derive(Debug, Deserialize)] +pub struct Address { + country: Country, + city: City, + street: Street, + number: usize, +} + +#[derive(Debug, Deserialize)] +pub struct Person { + name: Name, + age: Age, + addr: Address, +} + -- cgit v1.2.3