From ab66b143d9acca14ac6ca26cf13cd2ec4a34c010 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 24 Oct 2021 11:21:11 +0200 Subject: Split model definition into multiple modules Signed-off-by: Matthias Beyer --- service-person/src/main.rs | 2 +- service-person/src/model.rs | 32 -------------------------------- service-person/src/model/address.rs | 11 +++++++++++ service-person/src/model/age.rs | 5 +++++ service-person/src/model/city.rs | 5 +++++ service-person/src/model/country.rs | 5 +++++ service-person/src/model/mod.rs | 20 ++++++++++++++++++++ service-person/src/model/name.rs | 6 ++++++ service-person/src/model/person.rs | 9 +++++++++ service-person/src/model/street.rs | 5 +++++ 10 files changed, 67 insertions(+), 33 deletions(-) delete mode 100644 service-person/src/model.rs create mode 100644 service-person/src/model/address.rs create mode 100644 service-person/src/model/age.rs create mode 100644 service-person/src/model/city.rs create mode 100644 service-person/src/model/country.rs create mode 100644 service-person/src/model/mod.rs create mode 100644 service-person/src/model/name.rs create mode 100644 service-person/src/model/person.rs create mode 100644 service-person/src/model/street.rs diff --git a/service-person/src/main.rs b/service-person/src/main.rs index 001888f..1983c28 100644 --- a/service-person/src/main.rs +++ b/service-person/src/main.rs @@ -14,7 +14,7 @@ use diesel::r2d2::Pool; mod model; -use model::*; +use crate::model::*; embed_migrations!("migrations"); diff --git a/service-person/src/model.rs b/service-person/src/model.rs deleted file mode 100644 index aa81312..0000000 --- a/service-person/src/model.rs +++ /dev/null @@ -1,32 +0,0 @@ -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, -} - diff --git a/service-person/src/model/address.rs b/service-person/src/model/address.rs new file mode 100644 index 0000000..d09240d --- /dev/null +++ b/service-person/src/model/address.rs @@ -0,0 +1,11 @@ +use serde::Deserialize; + +use crate::model::*; + +#[derive(Debug, Deserialize)] +pub struct Address { + country: Country, + city: City, + street: Street, + number: usize, +} diff --git a/service-person/src/model/age.rs b/service-person/src/model/age.rs new file mode 100644 index 0000000..7c7420c --- /dev/null +++ b/service-person/src/model/age.rs @@ -0,0 +1,5 @@ +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct Age(usize); + diff --git a/service-person/src/model/city.rs b/service-person/src/model/city.rs new file mode 100644 index 0000000..3c82e73 --- /dev/null +++ b/service-person/src/model/city.rs @@ -0,0 +1,5 @@ +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct City(String); + diff --git a/service-person/src/model/country.rs b/service-person/src/model/country.rs new file mode 100644 index 0000000..b642bf7 --- /dev/null +++ b/service-person/src/model/country.rs @@ -0,0 +1,5 @@ +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct Country(String); + diff --git a/service-person/src/model/mod.rs b/service-person/src/model/mod.rs new file mode 100644 index 0000000..48eeeed --- /dev/null +++ b/service-person/src/model/mod.rs @@ -0,0 +1,20 @@ +pub mod address; +pub use address::*; + +pub mod age; +pub use age::*; + +pub mod city; +pub use city::*; + +pub mod country; +pub use country::*; + +pub mod name; +pub use name::*; + +pub mod person; +pub use person::*; + +pub mod street; +pub use street::*; diff --git a/service-person/src/model/name.rs b/service-person/src/model/name.rs new file mode 100644 index 0000000..5b5c6d6 --- /dev/null +++ b/service-person/src/model/name.rs @@ -0,0 +1,6 @@ +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct Name(String); + + diff --git a/service-person/src/model/person.rs b/service-person/src/model/person.rs new file mode 100644 index 0000000..338d6ff --- /dev/null +++ b/service-person/src/model/person.rs @@ -0,0 +1,9 @@ +use serde::Deserialize; +use crate::model::*; + +#[derive(Debug, Deserialize)] +pub struct Person { + name: Name, + age: Age, + addr: Address, +} diff --git a/service-person/src/model/street.rs b/service-person/src/model/street.rs new file mode 100644 index 0000000..3b132fa --- /dev/null +++ b/service-person/src/model/street.rs @@ -0,0 +1,5 @@ +use serde::Deserialize; + +#[derive(Debug, Deserialize)] +pub struct Street(String); + -- cgit v1.2.3