From a57dd557851fa79cd3d243844683da8462a1e07b Mon Sep 17 00:00:00 2001 From: lkness Date: Mon, 15 Jul 2024 22:23:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.toml | 2 ++ .../mod.rs => src/apps/account/api/account.pb | 0 src/apps/account/domain/entity/mod.rs | 0 src/apps/account/domain/repo/mod.rs | 0 src/apps/account/domain/service/mod.rs | 0 src/apps/account/mod.rs | 6 ++++++ src/apps/account/server/mod.rs | 5 +++++ src/apps/account/server/server.rs | 16 ++++++++++++++++ src/apps/account/service/mod.rs | 1 + src/apps/account/service/service.rs | 0 src/apps/order/api/order.pb | 0 src/apps/order/domain/entity/entity.rs | 0 src/apps/order/domain/repo/repo.rs | 0 src/apps/order/domain/service/service.rs | 0 src/apps/order/mod.rs | 0 src/apps/order/server/http.rs | 0 src/apps/order/server/mod.rs | 0 src/apps/order/server/server.rs | 0 src/apps/order/service/mod.rs | 0 src/apps/order/service/service.rs | 0 src/cmd/all_in_one/boot.rs | 5 +++++ src/cmd/all_in_one/mod.rs | 1 + src/lib.rs | 2 ++ src/main.rs | 6 +++++- 24 files changed, 43 insertions(+), 1 deletion(-) rename apps/account/domain/entity/mod.rs => src/apps/account/api/account.pb (100%) create mode 100644 src/apps/account/domain/entity/mod.rs create mode 100644 src/apps/account/domain/repo/mod.rs create mode 100644 src/apps/account/domain/service/mod.rs create mode 100644 src/apps/account/mod.rs create mode 100644 src/apps/account/server/mod.rs create mode 100644 src/apps/account/server/server.rs create mode 100644 src/apps/account/service/mod.rs create mode 100644 src/apps/account/service/service.rs create mode 100644 src/apps/order/api/order.pb create mode 100644 src/apps/order/domain/entity/entity.rs create mode 100644 src/apps/order/domain/repo/repo.rs create mode 100644 src/apps/order/domain/service/service.rs create mode 100644 src/apps/order/mod.rs create mode 100644 src/apps/order/server/http.rs create mode 100644 src/apps/order/server/mod.rs create mode 100644 src/apps/order/server/server.rs create mode 100644 src/apps/order/service/mod.rs create mode 100644 src/apps/order/service/service.rs create mode 100644 src/cmd/all_in_one/boot.rs create mode 100644 src/cmd/all_in_one/mod.rs create mode 100644 src/lib.rs diff --git a/Cargo.toml b/Cargo.toml index 6180f83..10c7ed9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,3 +1,4 @@ +workspace = { members = ["apps/account/domain/repo"] } [package] name = "sold" version = "0.1.0" @@ -6,3 +7,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +actix-web = "4" diff --git a/apps/account/domain/entity/mod.rs b/src/apps/account/api/account.pb similarity index 100% rename from apps/account/domain/entity/mod.rs rename to src/apps/account/api/account.pb diff --git a/src/apps/account/domain/entity/mod.rs b/src/apps/account/domain/entity/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/account/domain/repo/mod.rs b/src/apps/account/domain/repo/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/account/domain/service/mod.rs b/src/apps/account/domain/service/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/account/mod.rs b/src/apps/account/mod.rs new file mode 100644 index 0000000..5b6b20e --- /dev/null +++ b/src/apps/account/mod.rs @@ -0,0 +1,6 @@ +mod service; +mod server; + +pub fn boot() { + start_server(); +} \ No newline at end of file diff --git a/src/apps/account/server/mod.rs b/src/apps/account/server/mod.rs new file mode 100644 index 0000000..7a54be7 --- /dev/null +++ b/src/apps/account/server/mod.rs @@ -0,0 +1,5 @@ +mod server; + +pub fn start_server() { + server::start_server() +} \ No newline at end of file diff --git a/src/apps/account/server/server.rs b/src/apps/account/server/server.rs new file mode 100644 index 0000000..4d95c35 --- /dev/null +++ b/src/apps/account/server/server.rs @@ -0,0 +1,16 @@ +use actix_web::{get, web, App, HttpServer, Responder}; + +#[get("/hello/{name}")] +async fn greet(name: web::Path) -> impl Responder { + format!("Hello {name}!") +} + + +pub fn start_server() -> std::io::Result<()> { + HttpServer::new(|| { + App::new().service(greet) + }) + .bind(("127.0.0.1", 8080))? + .run() + .await +} \ No newline at end of file diff --git a/src/apps/account/service/mod.rs b/src/apps/account/service/mod.rs new file mode 100644 index 0000000..17a8960 --- /dev/null +++ b/src/apps/account/service/mod.rs @@ -0,0 +1 @@ +mod service; \ No newline at end of file diff --git a/src/apps/account/service/service.rs b/src/apps/account/service/service.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/api/order.pb b/src/apps/order/api/order.pb new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/domain/entity/entity.rs b/src/apps/order/domain/entity/entity.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/domain/repo/repo.rs b/src/apps/order/domain/repo/repo.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/domain/service/service.rs b/src/apps/order/domain/service/service.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/mod.rs b/src/apps/order/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/server/http.rs b/src/apps/order/server/http.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/server/mod.rs b/src/apps/order/server/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/server/server.rs b/src/apps/order/server/server.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/service/mod.rs b/src/apps/order/service/mod.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/apps/order/service/service.rs b/src/apps/order/service/service.rs new file mode 100644 index 0000000..e69de29 diff --git a/src/cmd/all_in_one/boot.rs b/src/cmd/all_in_one/boot.rs new file mode 100644 index 0000000..2656ba4 --- /dev/null +++ b/src/cmd/all_in_one/boot.rs @@ -0,0 +1,5 @@ +use crate::apps::account as account; + +fn start_apps() { + account::boot() +} \ No newline at end of file diff --git a/src/cmd/all_in_one/mod.rs b/src/cmd/all_in_one/mod.rs new file mode 100644 index 0000000..246fb44 --- /dev/null +++ b/src/cmd/all_in_one/mod.rs @@ -0,0 +1 @@ +pub mod boot; \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..60020e7 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,2 @@ +pub mod all_in_one; +use apps::account; \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index e7a11a9..5aa916c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,7 @@ -fn main() { +use crate::account; +use apps::account; + +#[actix_web::main] // or #[tokio::main] +async fn main() -> std::io::Result<()> { println!("Hello, world!"); }