From 63a7001165290b344898c41580332eb2095bdb65 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Thu, 14 May 2026 03:07:45 +0200 Subject: [PATCH] chore: scaffold v2 workspace --- Cargo.toml | 48 +++++++++++++++++++ crates/adapters/activitypub-base/Cargo.toml | 4 ++ crates/adapters/activitypub-base/src/lib.rs | 0 crates/adapters/activitypub/Cargo.toml | 4 ++ crates/adapters/activitypub/src/lib.rs | 0 crates/adapters/auth/Cargo.toml | 14 ++++++ crates/adapters/auth/src/lib.rs | 0 crates/adapters/event-payload/Cargo.toml | 4 ++ crates/adapters/event-payload/src/lib.rs | 0 crates/adapters/event-publisher/Cargo.toml | 4 ++ crates/adapters/event-publisher/src/lib.rs | 0 crates/adapters/nats/Cargo.toml | 4 ++ crates/adapters/nats/src/lib.rs | 0 .../adapters/postgres-federation/Cargo.toml | 4 ++ .../adapters/postgres-federation/src/lib.rs | 0 crates/adapters/postgres-search/Cargo.toml | 4 ++ crates/adapters/postgres-search/src/lib.rs | 0 crates/adapters/postgres/Cargo.toml | 17 +++++++ crates/adapters/postgres/src/lib.rs | 0 crates/api-types/Cargo.toml | 9 ++++ crates/api-types/src/lib.rs | 0 crates/application/Cargo.toml | 15 ++++++ crates/application/src/lib.rs | 0 crates/domain/Cargo.toml | 18 +++++++ crates/domain/src/lib.rs | 0 crates/presentation/Cargo.toml | 33 +++++++++++++ crates/presentation/src/main.rs | 1 + crates/worker/Cargo.toml | 4 ++ crates/worker/src/main.rs | 1 + 29 files changed, 188 insertions(+) create mode 100644 Cargo.toml create mode 100644 crates/adapters/activitypub-base/Cargo.toml create mode 100644 crates/adapters/activitypub-base/src/lib.rs create mode 100644 crates/adapters/activitypub/Cargo.toml create mode 100644 crates/adapters/activitypub/src/lib.rs create mode 100644 crates/adapters/auth/Cargo.toml create mode 100644 crates/adapters/auth/src/lib.rs create mode 100644 crates/adapters/event-payload/Cargo.toml create mode 100644 crates/adapters/event-payload/src/lib.rs create mode 100644 crates/adapters/event-publisher/Cargo.toml create mode 100644 crates/adapters/event-publisher/src/lib.rs create mode 100644 crates/adapters/nats/Cargo.toml create mode 100644 crates/adapters/nats/src/lib.rs create mode 100644 crates/adapters/postgres-federation/Cargo.toml create mode 100644 crates/adapters/postgres-federation/src/lib.rs create mode 100644 crates/adapters/postgres-search/Cargo.toml create mode 100644 crates/adapters/postgres-search/src/lib.rs create mode 100644 crates/adapters/postgres/Cargo.toml create mode 100644 crates/adapters/postgres/src/lib.rs create mode 100644 crates/api-types/Cargo.toml create mode 100644 crates/api-types/src/lib.rs create mode 100644 crates/application/Cargo.toml create mode 100644 crates/application/src/lib.rs create mode 100644 crates/domain/Cargo.toml create mode 100644 crates/domain/src/lib.rs create mode 100644 crates/presentation/Cargo.toml create mode 100644 crates/presentation/src/main.rs create mode 100644 crates/worker/Cargo.toml create mode 100644 crates/worker/src/main.rs diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..4187405 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,48 @@ +[workspace] +members = [ + "crates/domain", + "crates/application", + "crates/api-types", + "crates/presentation", + "crates/worker", + "crates/adapters/postgres", + "crates/adapters/postgres-search", + "crates/adapters/postgres-federation", + "crates/adapters/activitypub-base", + "crates/adapters/activitypub", + "crates/adapters/auth", + "crates/adapters/nats", + "crates/adapters/event-payload", + "crates/adapters/event-publisher", +] +resolver = "2" + +[workspace.dependencies] +tokio = { version = "1.0", features = ["macros", "net", "rt", "rt-multi-thread", "sync", "time"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +anyhow = "1.0" +thiserror = "2.0" +tracing = "0.1" +tracing-subscriber = { version = "0.3", features = ["env-filter"] } +async-trait = "0.1" +uuid = { version = "1.0", features = ["v4", "serde"] } +chrono = { version = "0.4", features = ["serde"] } +sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "postgres", "uuid", "chrono", "macros"] } +axum = { version = "0.8", features = ["macros"] } +tower-http = { version = "0.6", features = ["cors", "trace"] } +futures = "0.3" +dotenvy = "0.15" + +domain = { path = "crates/domain" } +application = { path = "crates/application" } +api-types = { path = "crates/api-types" } +postgres = { path = "crates/adapters/postgres" } +postgres-search = { path = "crates/adapters/postgres-search" } +postgres-federation = { path = "crates/adapters/postgres-federation" } +activitypub-base = { path = "crates/adapters/activitypub-base" } +activitypub = { path = "crates/adapters/activitypub" } +auth = { path = "crates/adapters/auth" } +nats = { path = "crates/adapters/nats" } +event-payload = { path = "crates/adapters/event-payload" } +event-publisher = { path = "crates/adapters/event-publisher" } diff --git a/crates/adapters/activitypub-base/Cargo.toml b/crates/adapters/activitypub-base/Cargo.toml new file mode 100644 index 0000000..9cf7bf7 --- /dev/null +++ b/crates/adapters/activitypub-base/Cargo.toml @@ -0,0 +1,4 @@ +[package] +name = "activitypub-base" +version = "0.1.0" +edition = "2021" diff --git a/crates/adapters/activitypub-base/src/lib.rs b/crates/adapters/activitypub-base/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/adapters/activitypub/Cargo.toml b/crates/adapters/activitypub/Cargo.toml new file mode 100644 index 0000000..5928d2e --- /dev/null +++ b/crates/adapters/activitypub/Cargo.toml @@ -0,0 +1,4 @@ +[package] +name = "activitypub" +version = "0.1.0" +edition = "2021" diff --git a/crates/adapters/activitypub/src/lib.rs b/crates/adapters/activitypub/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/adapters/auth/Cargo.toml b/crates/adapters/auth/Cargo.toml new file mode 100644 index 0000000..cf9d311 --- /dev/null +++ b/crates/adapters/auth/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "auth" +version = "0.1.0" +edition = "2021" + +[dependencies] +domain = { workspace = true } +async-trait = { workspace = true } +thiserror = { workspace = true } +uuid = { workspace = true } +chrono = { workspace = true } +tokio = { workspace = true } +jsonwebtoken = "9" +argon2 = "0.5" diff --git a/crates/adapters/auth/src/lib.rs b/crates/adapters/auth/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/adapters/event-payload/Cargo.toml b/crates/adapters/event-payload/Cargo.toml new file mode 100644 index 0000000..1057e83 --- /dev/null +++ b/crates/adapters/event-payload/Cargo.toml @@ -0,0 +1,4 @@ +[package] +name = "event-payload" +version = "0.1.0" +edition = "2021" diff --git a/crates/adapters/event-payload/src/lib.rs b/crates/adapters/event-payload/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/adapters/event-publisher/Cargo.toml b/crates/adapters/event-publisher/Cargo.toml new file mode 100644 index 0000000..0d7d213 --- /dev/null +++ b/crates/adapters/event-publisher/Cargo.toml @@ -0,0 +1,4 @@ +[package] +name = "event-publisher" +version = "0.1.0" +edition = "2021" diff --git a/crates/adapters/event-publisher/src/lib.rs b/crates/adapters/event-publisher/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/adapters/nats/Cargo.toml b/crates/adapters/nats/Cargo.toml new file mode 100644 index 0000000..a0b1380 --- /dev/null +++ b/crates/adapters/nats/Cargo.toml @@ -0,0 +1,4 @@ +[package] +name = "nats" +version = "0.1.0" +edition = "2021" diff --git a/crates/adapters/nats/src/lib.rs b/crates/adapters/nats/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/adapters/postgres-federation/Cargo.toml b/crates/adapters/postgres-federation/Cargo.toml new file mode 100644 index 0000000..0c23227 --- /dev/null +++ b/crates/adapters/postgres-federation/Cargo.toml @@ -0,0 +1,4 @@ +[package] +name = "postgres-federation" +version = "0.1.0" +edition = "2021" diff --git a/crates/adapters/postgres-federation/src/lib.rs b/crates/adapters/postgres-federation/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/adapters/postgres-search/Cargo.toml b/crates/adapters/postgres-search/Cargo.toml new file mode 100644 index 0000000..ec88563 --- /dev/null +++ b/crates/adapters/postgres-search/Cargo.toml @@ -0,0 +1,4 @@ +[package] +name = "postgres-search" +version = "0.1.0" +edition = "2021" diff --git a/crates/adapters/postgres-search/src/lib.rs b/crates/adapters/postgres-search/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/adapters/postgres/Cargo.toml b/crates/adapters/postgres/Cargo.toml new file mode 100644 index 0000000..e60faf0 --- /dev/null +++ b/crates/adapters/postgres/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "postgres" +version = "0.1.0" +edition = "2021" + +[dependencies] +domain = { workspace = true } +sqlx = { workspace = true } +uuid = { workspace = true } +chrono = { workspace = true } +async-trait = { workspace = true } +thiserror = { workspace = true } +tracing = { workspace = true } + +[dev-dependencies] +tokio = { workspace = true, features = ["full"] } +sqlx = { workspace = true, features = ["migrate"] } diff --git a/crates/adapters/postgres/src/lib.rs b/crates/adapters/postgres/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/api-types/Cargo.toml b/crates/api-types/Cargo.toml new file mode 100644 index 0000000..8793ca6 --- /dev/null +++ b/crates/api-types/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "api-types" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = { workspace = true } +uuid = { workspace = true } +chrono = { workspace = true } diff --git a/crates/api-types/src/lib.rs b/crates/api-types/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/application/Cargo.toml b/crates/application/Cargo.toml new file mode 100644 index 0000000..a8e8c59 --- /dev/null +++ b/crates/application/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "application" +version = "0.1.0" +edition = "2021" + +[dependencies] +domain = { workspace = true } +async-trait = { workspace = true } +thiserror = { workspace = true } +uuid = { workspace = true } +chrono = { workspace = true } + +[dev-dependencies] +tokio = { workspace = true, features = ["full"] } +domain = { workspace = true, features = ["test-helpers"] } diff --git a/crates/application/src/lib.rs b/crates/application/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/domain/Cargo.toml b/crates/domain/Cargo.toml new file mode 100644 index 0000000..4aea696 --- /dev/null +++ b/crates/domain/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "domain" +version = "0.1.0" +edition = "2021" + +[features] +test-helpers = [] + +[dependencies] +async-trait = { workspace = true } +thiserror = { workspace = true } +uuid = { workspace = true } +chrono = { workspace = true } +serde = { workspace = true } +futures = { workspace = true } + +[dev-dependencies] +tokio = { workspace = true, features = ["full"] } diff --git a/crates/domain/src/lib.rs b/crates/domain/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/crates/presentation/Cargo.toml b/crates/presentation/Cargo.toml new file mode 100644 index 0000000..6ac1a14 --- /dev/null +++ b/crates/presentation/Cargo.toml @@ -0,0 +1,33 @@ +[package] +name = "presentation" +version = "0.1.0" +edition = "2021" + +[[bin]] +name = "thoughts" +path = "src/main.rs" + +[dependencies] +domain = { workspace = true } +application = { workspace = true } +api-types = { workspace = true } +postgres = { workspace = true } +auth = { workspace = true } +axum = { workspace = true } +tower-http = { workspace = true } +tokio = { workspace = true, features = ["full"] } +serde = { workspace = true } +serde_json = { workspace = true } +uuid = { workspace = true } +chrono = { workspace = true } +tracing = { workspace = true } +tracing-subscriber = { workspace = true } +dotenvy = { workspace = true } +async-trait = { workspace = true } +sha2 = "0.10" +hex = "0.4" + +[dev-dependencies] +http-body-util = "0.1" +tower = "0.5" +domain = { workspace = true, features = ["test-helpers"] } diff --git a/crates/presentation/src/main.rs b/crates/presentation/src/main.rs new file mode 100644 index 0000000..f328e4d --- /dev/null +++ b/crates/presentation/src/main.rs @@ -0,0 +1 @@ +fn main() {} diff --git a/crates/worker/Cargo.toml b/crates/worker/Cargo.toml new file mode 100644 index 0000000..4901ae8 --- /dev/null +++ b/crates/worker/Cargo.toml @@ -0,0 +1,4 @@ +[package] +name = "worker" +version = "0.1.0" +edition = "2021" diff --git a/crates/worker/src/main.rs b/crates/worker/src/main.rs new file mode 100644 index 0000000..f328e4d --- /dev/null +++ b/crates/worker/src/main.rs @@ -0,0 +1 @@ +fn main() {}