From 513e07b46a4119e9df2cb58dc29e6e0e4114399d Mon Sep 17 00:00:00 2001 From: SquidSpirit Date: Mon, 28 Jul 2025 09:49:22 +0800 Subject: [PATCH] BLOG-85 init: `auth` crate --- backend/Cargo.lock | 12 ++++++++++++ backend/Cargo.toml | 3 ++- backend/feature/auth/Cargo.toml | 12 ++++++++++++ backend/feature/auth/src/adapter.rs | 2 ++ backend/feature/auth/src/adapter/delivery.rs | 0 backend/feature/auth/src/adapter/gateway.rs | 0 backend/feature/auth/src/application.rs | 3 +++ backend/feature/auth/src/application/error.rs | 0 backend/feature/auth/src/application/gateway.rs | 0 backend/feature/auth/src/application/use_case.rs | 0 backend/feature/auth/src/domain.rs | 1 + backend/feature/auth/src/domain/entity.rs | 0 backend/feature/auth/src/framework.rs | 2 ++ backend/feature/auth/src/framework/db.rs | 0 backend/feature/auth/src/framework/web.rs | 0 backend/feature/auth/src/lib.rs | 4 ++++ 16 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 backend/feature/auth/Cargo.toml create mode 100644 backend/feature/auth/src/adapter.rs create mode 100644 backend/feature/auth/src/adapter/delivery.rs create mode 100644 backend/feature/auth/src/adapter/gateway.rs create mode 100644 backend/feature/auth/src/application.rs create mode 100644 backend/feature/auth/src/application/error.rs create mode 100644 backend/feature/auth/src/application/gateway.rs create mode 100644 backend/feature/auth/src/application/use_case.rs create mode 100644 backend/feature/auth/src/domain.rs create mode 100644 backend/feature/auth/src/domain/entity.rs create mode 100644 backend/feature/auth/src/framework.rs create mode 100644 backend/feature/auth/src/framework/db.rs create mode 100644 backend/feature/auth/src/framework/web.rs create mode 100644 backend/feature/auth/src/lib.rs diff --git a/backend/Cargo.lock b/backend/Cargo.lock index 9c5f4b0..8072969 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -353,6 +353,18 @@ dependencies = [ "num-traits", ] +[[package]] +name = "auth" +version = "0.2.0" +dependencies = [ + "actix-web", + "async-trait", + "chrono", + "log", + "serde", + "sqlx", +] + [[package]] name = "autocfg" version = "1.4.0" diff --git a/backend/Cargo.toml b/backend/Cargo.toml index 7b4f8db..3cd0116 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -members = ["server", "feature/image", "feature/post"] +members = ["server", "feature/auth", "feature/image", "feature/post"] resolver = "2" [workspace.package] @@ -26,5 +26,6 @@ sqlx = { version = "0.8.5", features = [ tokio = { version = "1.45.0", features = ["full"] } server.path = "server" +auth.path = "feature/auth" image.path = "feature/image" post.path = "feature/post" diff --git a/backend/feature/auth/Cargo.toml b/backend/feature/auth/Cargo.toml new file mode 100644 index 0000000..5cebbca --- /dev/null +++ b/backend/feature/auth/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "auth" +version.workspace = true +edition.workspace = true + +[dependencies] +actix-web.workspace = true +async-trait.workspace = true +chrono.workspace = true +log.workspace = true +serde.workspace = true +sqlx.workspace = true diff --git a/backend/feature/auth/src/adapter.rs b/backend/feature/auth/src/adapter.rs new file mode 100644 index 0000000..a37dc94 --- /dev/null +++ b/backend/feature/auth/src/adapter.rs @@ -0,0 +1,2 @@ +pub mod delivery; +pub mod gateway; \ No newline at end of file diff --git a/backend/feature/auth/src/adapter/delivery.rs b/backend/feature/auth/src/adapter/delivery.rs new file mode 100644 index 0000000..e69de29 diff --git a/backend/feature/auth/src/adapter/gateway.rs b/backend/feature/auth/src/adapter/gateway.rs new file mode 100644 index 0000000..e69de29 diff --git a/backend/feature/auth/src/application.rs b/backend/feature/auth/src/application.rs new file mode 100644 index 0000000..f24625e --- /dev/null +++ b/backend/feature/auth/src/application.rs @@ -0,0 +1,3 @@ +pub mod error; +pub mod gateway; +pub mod use_case; diff --git a/backend/feature/auth/src/application/error.rs b/backend/feature/auth/src/application/error.rs new file mode 100644 index 0000000..e69de29 diff --git a/backend/feature/auth/src/application/gateway.rs b/backend/feature/auth/src/application/gateway.rs new file mode 100644 index 0000000..e69de29 diff --git a/backend/feature/auth/src/application/use_case.rs b/backend/feature/auth/src/application/use_case.rs new file mode 100644 index 0000000..e69de29 diff --git a/backend/feature/auth/src/domain.rs b/backend/feature/auth/src/domain.rs new file mode 100644 index 0000000..bccca66 --- /dev/null +++ b/backend/feature/auth/src/domain.rs @@ -0,0 +1 @@ +pub mod entity; \ No newline at end of file diff --git a/backend/feature/auth/src/domain/entity.rs b/backend/feature/auth/src/domain/entity.rs new file mode 100644 index 0000000..e69de29 diff --git a/backend/feature/auth/src/framework.rs b/backend/feature/auth/src/framework.rs new file mode 100644 index 0000000..1f54796 --- /dev/null +++ b/backend/feature/auth/src/framework.rs @@ -0,0 +1,2 @@ +pub mod db; +pub mod web; diff --git a/backend/feature/auth/src/framework/db.rs b/backend/feature/auth/src/framework/db.rs new file mode 100644 index 0000000..e69de29 diff --git a/backend/feature/auth/src/framework/web.rs b/backend/feature/auth/src/framework/web.rs new file mode 100644 index 0000000..e69de29 diff --git a/backend/feature/auth/src/lib.rs b/backend/feature/auth/src/lib.rs new file mode 100644 index 0000000..062f800 --- /dev/null +++ b/backend/feature/auth/src/lib.rs @@ -0,0 +1,4 @@ +pub mod adapter; +pub mod application; +pub mod domain; +pub mod framework;