From 3b64c58198ddc47305353432026312d1957a4848 Mon Sep 17 00:00:00 2001
From: Felix Ableitner <me@nutomic.com>
Date: Wed, 20 Jan 2021 16:21:27 +0100
Subject: [PATCH] Move most code into crates/ subfolder

---
 Cargo.toml                                    | 40 +++++++++----------
 {lemmy_api => crates/api}/Cargo.toml          | 18 ++++-----
 {lemmy_api => crates/api}/src/claims.rs       |  0
 {lemmy_api => crates/api}/src/comment.rs      |  0
 {lemmy_api => crates/api}/src/community.rs    |  0
 {lemmy_api => crates/api}/src/lib.rs          |  0
 {lemmy_api => crates/api}/src/post.rs         |  0
 {lemmy_api => crates/api}/src/site.rs         |  0
 {lemmy_api => crates/api}/src/user.rs         |  0
 {lemmy_api => crates/api}/src/version.rs      |  0
 {lemmy_api => crates/api}/src/websocket.rs    |  0
 {lemmy_apub => crates/apub}/Cargo.toml        | 14 +++----
 .../apub}/src/activities/mod.rs               |  0
 .../apub}/src/activities/receive/comment.rs   |  0
 .../src/activities/receive/comment_undo.rs    |  0
 .../apub}/src/activities/receive/community.rs |  0
 .../apub}/src/activities/receive/mod.rs       |  0
 .../apub}/src/activities/receive/post.rs      |  0
 .../apub}/src/activities/receive/post_undo.rs |  0
 .../src/activities/receive/private_message.rs |  0
 .../apub}/src/activities/send/comment.rs      |  0
 .../apub}/src/activities/send/community.rs    |  0
 .../apub}/src/activities/send/mod.rs          |  0
 .../apub}/src/activities/send/post.rs         |  0
 .../src/activities/send/private_message.rs    |  0
 .../apub}/src/activities/send/user.rs         |  0
 .../apub}/src/activity_queue.rs               |  0
 .../apub}/src/extensions/context.rs           |  0
 .../apub}/src/extensions/group_extensions.rs  |  0
 .../apub}/src/extensions/mod.rs               |  0
 .../apub}/src/extensions/page_extension.rs    |  0
 .../apub}/src/extensions/signatures.rs        |  0
 .../apub}/src/fetcher/community.rs            |  0
 .../apub}/src/fetcher/fetch.rs                |  0
 .../apub}/src/fetcher/mod.rs                  |  0
 .../apub}/src/fetcher/objects.rs              |  0
 .../apub}/src/fetcher/search.rs               |  0
 .../apub}/src/fetcher/user.rs                 |  0
 .../apub}/src/http/comment.rs                 |  0
 .../apub}/src/http/community.rs               |  0
 {lemmy_apub => crates/apub}/src/http/mod.rs   |  0
 {lemmy_apub => crates/apub}/src/http/post.rs  |  0
 {lemmy_apub => crates/apub}/src/http/user.rs  |  0
 .../apub}/src/inbox/community_inbox.rs        |  0
 {lemmy_apub => crates/apub}/src/inbox/mod.rs  |  0
 .../apub}/src/inbox/receive_for_community.rs  |  0
 .../apub}/src/inbox/shared_inbox.rs           |  0
 .../apub}/src/inbox/user_inbox.rs             |  0
 {lemmy_apub => crates/apub}/src/lib.rs        |  0
 .../apub}/src/objects/comment.rs              |  0
 .../apub}/src/objects/community.rs            |  0
 .../apub}/src/objects/mod.rs                  |  0
 .../apub}/src/objects/post.rs                 |  0
 .../apub}/src/objects/private_message.rs      |  0
 .../apub}/src/objects/user.rs                 |  0
 .../db_queries}/Cargo.toml                    |  4 +-
 .../src/aggregates/comment_aggregates.rs      |  0
 .../src/aggregates/community_aggregates.rs    |  0
 .../db_queries}/src/aggregates/mod.rs         |  0
 .../src/aggregates/post_aggregates.rs         |  0
 .../src/aggregates/site_aggregates.rs         |  0
 .../src/aggregates/user_aggregates.rs         |  0
 .../db_queries}/src/lib.rs                    |  0
 .../db_queries}/src/source/activity.rs        |  0
 .../db_queries}/src/source/category.rs        |  0
 .../db_queries}/src/source/comment.rs         |  0
 .../db_queries}/src/source/comment_report.rs  |  0
 .../db_queries}/src/source/community.rs       |  0
 .../db_queries}/src/source/mod.rs             |  0
 .../db_queries}/src/source/moderator.rs       |  0
 .../src/source/password_reset_request.rs      |  0
 .../db_queries}/src/source/post.rs            |  0
 .../db_queries}/src/source/post_report.rs     |  0
 .../db_queries}/src/source/private_message.rs |  0
 .../db_queries}/src/source/site.rs            |  0
 .../db_queries}/src/source/user.rs            |  0
 .../db_queries}/src/source/user_mention.rs    |  0
 .../db_schema}/Cargo.toml                     |  0
 .../db_schema}/src/lib.rs                     |  0
 .../db_schema}/src/schema.rs                  |  0
 .../db_schema}/src/source/activity.rs         |  0
 .../db_schema}/src/source/category.rs         |  0
 .../db_schema}/src/source/comment.rs          |  0
 .../db_schema}/src/source/comment_report.rs   |  0
 .../db_schema}/src/source/community.rs        |  0
 .../db_schema}/src/source/mod.rs              |  0
 .../db_schema}/src/source/moderator.rs        |  0
 .../src/source/password_reset_request.rs      |  0
 .../db_schema}/src/source/post.rs             |  0
 .../db_schema}/src/source/post_report.rs      |  0
 .../db_schema}/src/source/private_message.rs  |  0
 .../db_schema}/src/source/site.rs             |  0
 .../db_schema}/src/source/user.rs             |  0
 .../db_schema}/src/source/user_mention.rs     |  0
 .../db_views}/Cargo.toml                      |  4 +-
 .../db_views}/src/comment_report_view.rs      |  0
 .../db_views}/src/comment_view.rs             |  0
 .../db_views}/src/lib.rs                      |  0
 .../db_views}/src/post_report_view.rs         |  0
 .../db_views}/src/post_view.rs                |  0
 .../db_views}/src/private_message_view.rs     |  0
 .../db_views}/src/site_view.rs                |  0
 .../db_views_actor}/Cargo.toml                |  4 +-
 .../src/community_follower_view.rs            |  0
 .../src/community_moderator_view.rs           |  0
 .../src/community_user_ban_view.rs            |  0
 .../db_views_actor}/src/community_view.rs     |  0
 .../db_views_actor}/src/lib.rs                |  0
 .../db_views_actor}/src/user_mention_view.rs  |  0
 .../db_views_actor}/src/user_view.rs          |  0
 .../db_views_moderator}/Cargo.toml            |  4 +-
 .../db_views_moderator}/src/lib.rs            |  0
 .../src/mod_add_community_view.rs             |  0
 .../db_views_moderator}/src/mod_add_view.rs   |  0
 .../src/mod_ban_from_community_view.rs        |  0
 .../db_views_moderator}/src/mod_ban_view.rs   |  0
 .../src/mod_lock_post_view.rs                 |  0
 .../src/mod_remove_comment_view.rs            |  0
 .../src/mod_remove_community_view.rs          |  0
 .../src/mod_remove_post_view.rs               |  0
 .../src/mod_sticky_post_view.rs               |  0
 {lemmy_structs => crates/structs}/Cargo.toml  | 12 +++---
 .../structs}/src/comment.rs                   |  0
 .../structs}/src/community.rs                 |  0
 {lemmy_structs => crates/structs}/src/lib.rs  |  0
 {lemmy_structs => crates/structs}/src/post.rs |  0
 {lemmy_structs => crates/structs}/src/site.rs |  0
 {lemmy_structs => crates/structs}/src/user.rs |  0
 .../structs}/src/websocket.rs                 |  0
 {lemmy_utils => crates/utils}/Cargo.toml      |  0
 {lemmy_utils => crates/utils}/src/apub.rs     |  0
 {lemmy_utils => crates/utils}/src/email.rs    |  0
 {lemmy_utils => crates/utils}/src/lib.rs      |  0
 .../utils}/src/rate_limit/mod.rs              |  0
 .../utils}/src/rate_limit/rate_limiter.rs     |  0
 {lemmy_utils => crates/utils}/src/request.rs  |  0
 {lemmy_utils => crates/utils}/src/settings.rs |  0
 {lemmy_utils => crates/utils}/src/test.rs     |  0
 {lemmy_utils => crates/utils}/src/utils.rs    |  0
 .../websocket}/Cargo.toml                     |  8 ++--
 .../websocket}/src/chat_server.rs             |  0
 .../websocket}/src/handlers.rs                |  0
 .../websocket}/src/lib.rs                     |  0
 .../websocket}/src/messages.rs                |  0
 144 files changed, 54 insertions(+), 54 deletions(-)
 rename {lemmy_api => crates/api}/Cargo.toml (72%)
 rename {lemmy_api => crates/api}/src/claims.rs (100%)
 rename {lemmy_api => crates/api}/src/comment.rs (100%)
 rename {lemmy_api => crates/api}/src/community.rs (100%)
 rename {lemmy_api => crates/api}/src/lib.rs (100%)
 rename {lemmy_api => crates/api}/src/post.rs (100%)
 rename {lemmy_api => crates/api}/src/site.rs (100%)
 rename {lemmy_api => crates/api}/src/user.rs (100%)
 rename {lemmy_api => crates/api}/src/version.rs (100%)
 rename {lemmy_api => crates/api}/src/websocket.rs (100%)
 rename {lemmy_apub => crates/apub}/Cargo.toml (79%)
 rename {lemmy_apub => crates/apub}/src/activities/mod.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/receive/comment.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/receive/comment_undo.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/receive/community.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/receive/mod.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/receive/post.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/receive/post_undo.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/receive/private_message.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/send/comment.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/send/community.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/send/mod.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/send/post.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/send/private_message.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activities/send/user.rs (100%)
 rename {lemmy_apub => crates/apub}/src/activity_queue.rs (100%)
 rename {lemmy_apub => crates/apub}/src/extensions/context.rs (100%)
 rename {lemmy_apub => crates/apub}/src/extensions/group_extensions.rs (100%)
 rename {lemmy_apub => crates/apub}/src/extensions/mod.rs (100%)
 rename {lemmy_apub => crates/apub}/src/extensions/page_extension.rs (100%)
 rename {lemmy_apub => crates/apub}/src/extensions/signatures.rs (100%)
 rename {lemmy_apub => crates/apub}/src/fetcher/community.rs (100%)
 rename {lemmy_apub => crates/apub}/src/fetcher/fetch.rs (100%)
 rename {lemmy_apub => crates/apub}/src/fetcher/mod.rs (100%)
 rename {lemmy_apub => crates/apub}/src/fetcher/objects.rs (100%)
 rename {lemmy_apub => crates/apub}/src/fetcher/search.rs (100%)
 rename {lemmy_apub => crates/apub}/src/fetcher/user.rs (100%)
 rename {lemmy_apub => crates/apub}/src/http/comment.rs (100%)
 rename {lemmy_apub => crates/apub}/src/http/community.rs (100%)
 rename {lemmy_apub => crates/apub}/src/http/mod.rs (100%)
 rename {lemmy_apub => crates/apub}/src/http/post.rs (100%)
 rename {lemmy_apub => crates/apub}/src/http/user.rs (100%)
 rename {lemmy_apub => crates/apub}/src/inbox/community_inbox.rs (100%)
 rename {lemmy_apub => crates/apub}/src/inbox/mod.rs (100%)
 rename {lemmy_apub => crates/apub}/src/inbox/receive_for_community.rs (100%)
 rename {lemmy_apub => crates/apub}/src/inbox/shared_inbox.rs (100%)
 rename {lemmy_apub => crates/apub}/src/inbox/user_inbox.rs (100%)
 rename {lemmy_apub => crates/apub}/src/lib.rs (100%)
 rename {lemmy_apub => crates/apub}/src/objects/comment.rs (100%)
 rename {lemmy_apub => crates/apub}/src/objects/community.rs (100%)
 rename {lemmy_apub => crates/apub}/src/objects/mod.rs (100%)
 rename {lemmy_apub => crates/apub}/src/objects/post.rs (100%)
 rename {lemmy_apub => crates/apub}/src/objects/private_message.rs (100%)
 rename {lemmy_apub => crates/apub}/src/objects/user.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/Cargo.toml (86%)
 rename {lemmy_db_queries => crates/db_queries}/src/aggregates/comment_aggregates.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/aggregates/community_aggregates.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/aggregates/mod.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/aggregates/post_aggregates.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/aggregates/site_aggregates.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/aggregates/user_aggregates.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/lib.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/activity.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/category.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/comment.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/comment_report.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/community.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/mod.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/moderator.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/password_reset_request.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/post.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/post_report.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/private_message.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/site.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/user.rs (100%)
 rename {lemmy_db_queries => crates/db_queries}/src/source/user_mention.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/Cargo.toml (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/lib.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/schema.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/activity.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/category.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/comment.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/comment_report.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/community.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/mod.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/moderator.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/password_reset_request.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/post.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/post_report.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/private_message.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/site.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/user.rs (100%)
 rename {lemmy_db_schema => crates/db_schema}/src/source/user_mention.rs (100%)
 rename {lemmy_db_views => crates/db_views}/Cargo.toml (70%)
 rename {lemmy_db_views => crates/db_views}/src/comment_report_view.rs (100%)
 rename {lemmy_db_views => crates/db_views}/src/comment_view.rs (100%)
 rename {lemmy_db_views => crates/db_views}/src/lib.rs (100%)
 rename {lemmy_db_views => crates/db_views}/src/post_report_view.rs (100%)
 rename {lemmy_db_views => crates/db_views}/src/post_view.rs (100%)
 rename {lemmy_db_views => crates/db_views}/src/private_message_view.rs (100%)
 rename {lemmy_db_views => crates/db_views}/src/site_view.rs (100%)
 rename {lemmy_db_views_actor => crates/db_views_actor}/Cargo.toml (69%)
 rename {lemmy_db_views_actor => crates/db_views_actor}/src/community_follower_view.rs (100%)
 rename {lemmy_db_views_actor => crates/db_views_actor}/src/community_moderator_view.rs (100%)
 rename {lemmy_db_views_actor => crates/db_views_actor}/src/community_user_ban_view.rs (100%)
 rename {lemmy_db_views_actor => crates/db_views_actor}/src/community_view.rs (100%)
 rename {lemmy_db_views_actor => crates/db_views_actor}/src/lib.rs (100%)
 rename {lemmy_db_views_actor => crates/db_views_actor}/src/user_mention_view.rs (100%)
 rename {lemmy_db_views_actor => crates/db_views_actor}/src/user_view.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/Cargo.toml (69%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/lib.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/mod_add_community_view.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/mod_add_view.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/mod_ban_from_community_view.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/mod_ban_view.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/mod_lock_post_view.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/mod_remove_comment_view.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/mod_remove_community_view.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/mod_remove_post_view.rs (100%)
 rename {lemmy_db_views_moderator => crates/db_views_moderator}/src/mod_sticky_post_view.rs (100%)
 rename {lemmy_structs => crates/structs}/Cargo.toml (56%)
 rename {lemmy_structs => crates/structs}/src/comment.rs (100%)
 rename {lemmy_structs => crates/structs}/src/community.rs (100%)
 rename {lemmy_structs => crates/structs}/src/lib.rs (100%)
 rename {lemmy_structs => crates/structs}/src/post.rs (100%)
 rename {lemmy_structs => crates/structs}/src/site.rs (100%)
 rename {lemmy_structs => crates/structs}/src/user.rs (100%)
 rename {lemmy_structs => crates/structs}/src/websocket.rs (100%)
 rename {lemmy_utils => crates/utils}/Cargo.toml (100%)
 rename {lemmy_utils => crates/utils}/src/apub.rs (100%)
 rename {lemmy_utils => crates/utils}/src/email.rs (100%)
 rename {lemmy_utils => crates/utils}/src/lib.rs (100%)
 rename {lemmy_utils => crates/utils}/src/rate_limit/mod.rs (100%)
 rename {lemmy_utils => crates/utils}/src/rate_limit/rate_limiter.rs (100%)
 rename {lemmy_utils => crates/utils}/src/request.rs (100%)
 rename {lemmy_utils => crates/utils}/src/settings.rs (100%)
 rename {lemmy_utils => crates/utils}/src/test.rs (100%)
 rename {lemmy_utils => crates/utils}/src/utils.rs (100%)
 rename {lemmy_websocket => crates/websocket}/Cargo.toml (75%)
 rename {lemmy_websocket => crates/websocket}/src/chat_server.rs (100%)
 rename {lemmy_websocket => crates/websocket}/src/handlers.rs (100%)
 rename {lemmy_websocket => crates/websocket}/src/lib.rs (100%)
 rename {lemmy_websocket => crates/websocket}/src/messages.rs (100%)

diff --git a/Cargo.toml b/Cargo.toml
index d1bcfa28..1488ed95 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -8,29 +8,29 @@ debug = 0
 
 [workspace]
 members = [
-    "lemmy_api",
-    "lemmy_apub",
-    "lemmy_utils",
-    "lemmy_db_queries",
-    "lemmy_db_schema",
-    "lemmy_db_views",
-    "lemmy_db_views_actor",
-    "lemmy_db_views_actor",
-    "lemmy_structs",
-    "lemmy_websocket",
+    "crates/api",
+    "crates/apub",
+    "crates/utils",
+    "crates/db_queries",
+    "crates/db_schema",
+    "crates/db_views",
+    "crates/db_views_actor",
+    "crates/db_views_actor",
+    "crates/structs",
+    "crates/websocket",
 ]
 
 [dependencies]
-lemmy_api = { path = "./lemmy_api" }
-lemmy_apub = { path = "./lemmy_apub" }
-lemmy_utils = { path = "./lemmy_utils" }
-lemmy_db_schema = { path = "./lemmy_db_schema" }
-lemmy_db_queries = { path = "lemmy_db_queries" }
-lemmy_db_views = { path = "./lemmy_db_views" }
-lemmy_db_views_moderator = { path = "./lemmy_db_views_moderator" }
-lemmy_db_views_actor = { path = "lemmy_db_views_actor" }
-lemmy_structs = { path = "./lemmy_structs" }
-lemmy_websocket = { path = "./lemmy_websocket" }
+lemmy_api = { path = "./crates/api" }
+lemmy_apub = { path = "./crates/apub" }
+lemmy_utils = { path = "./crates/utils" }
+lemmy_db_schema = { path = "./crates/db_schema" }
+lemmy_db_queries = { path = "./crates/db_queries" }
+lemmy_db_views = { path = "./crates/db_views" }
+lemmy_db_views_moderator = { path = "./crates/db_views_moderator" }
+lemmy_db_views_actor = { path = "./crates/db_views_actor" }
+lemmy_structs = { path = "./crates/structs" }
+lemmy_websocket = { path = "./crates/websocket" }
 diesel = "1.4.5"
 diesel_migrations = "1.4.0"
 chrono = { version = "0.4.19", features = ["serde"] }
diff --git a/lemmy_api/Cargo.toml b/crates/api/Cargo.toml
similarity index 72%
rename from lemmy_api/Cargo.toml
rename to crates/api/Cargo.toml
index e0766df3..10612c38 100644
--- a/lemmy_api/Cargo.toml
+++ b/crates/api/Cargo.toml
@@ -9,15 +9,15 @@ name = "lemmy_api"
 path = "src/lib.rs"
 
 [dependencies]
-lemmy_apub = { path = "../lemmy_apub" }
-lemmy_utils = { path = "../lemmy_utils" }
-lemmy_db_queries = { path = "../lemmy_db_queries" }
-lemmy_db_schema = { path = "../lemmy_db_schema" }
-lemmy_db_views = { path = "../lemmy_db_views" }
-lemmy_db_views_moderator = { path = "../lemmy_db_views_moderator" }
-lemmy_db_views_actor = { path = "../lemmy_db_views_actor" }
-lemmy_structs = { path = "../lemmy_structs" }
-lemmy_websocket = { path = "../lemmy_websocket" }
+lemmy_apub = { path = "../apub" }
+lemmy_utils = { path = "../utils" }
+lemmy_db_queries = { path = "../db_queries" }
+lemmy_db_schema = { path = "../db_schema" }
+lemmy_db_views = { path = "../db_views" }
+lemmy_db_views_moderator = { path = "../db_views_moderator" }
+lemmy_db_views_actor = { path = "../db_views_actor" }
+lemmy_structs = { path = "../structs" }
+lemmy_websocket = { path = "../websocket" }
 diesel = "1.4.5"
 bcrypt = "0.9.0"
 chrono = { version = "0.4.19", features = ["serde"] }
diff --git a/lemmy_api/src/claims.rs b/crates/api/src/claims.rs
similarity index 100%
rename from lemmy_api/src/claims.rs
rename to crates/api/src/claims.rs
diff --git a/lemmy_api/src/comment.rs b/crates/api/src/comment.rs
similarity index 100%
rename from lemmy_api/src/comment.rs
rename to crates/api/src/comment.rs
diff --git a/lemmy_api/src/community.rs b/crates/api/src/community.rs
similarity index 100%
rename from lemmy_api/src/community.rs
rename to crates/api/src/community.rs
diff --git a/lemmy_api/src/lib.rs b/crates/api/src/lib.rs
similarity index 100%
rename from lemmy_api/src/lib.rs
rename to crates/api/src/lib.rs
diff --git a/lemmy_api/src/post.rs b/crates/api/src/post.rs
similarity index 100%
rename from lemmy_api/src/post.rs
rename to crates/api/src/post.rs
diff --git a/lemmy_api/src/site.rs b/crates/api/src/site.rs
similarity index 100%
rename from lemmy_api/src/site.rs
rename to crates/api/src/site.rs
diff --git a/lemmy_api/src/user.rs b/crates/api/src/user.rs
similarity index 100%
rename from lemmy_api/src/user.rs
rename to crates/api/src/user.rs
diff --git a/lemmy_api/src/version.rs b/crates/api/src/version.rs
similarity index 100%
rename from lemmy_api/src/version.rs
rename to crates/api/src/version.rs
diff --git a/lemmy_api/src/websocket.rs b/crates/api/src/websocket.rs
similarity index 100%
rename from lemmy_api/src/websocket.rs
rename to crates/api/src/websocket.rs
diff --git a/lemmy_apub/Cargo.toml b/crates/apub/Cargo.toml
similarity index 79%
rename from lemmy_apub/Cargo.toml
rename to crates/apub/Cargo.toml
index a524daf1..e1f4ea64 100644
--- a/lemmy_apub/Cargo.toml
+++ b/crates/apub/Cargo.toml
@@ -9,13 +9,13 @@ name = "lemmy_apub"
 path = "src/lib.rs"
 
 [dependencies]
-lemmy_utils = { path = "../lemmy_utils" }
-lemmy_db_queries = { path = "../lemmy_db_queries" }
-lemmy_db_schema = { path = "../lemmy_db_schema" }
-lemmy_db_views = { path = "../lemmy_db_views" }
-lemmy_db_views_actor = { path = "../lemmy_db_views_actor" }
-lemmy_structs = { path = "../lemmy_structs" }
-lemmy_websocket = { path = "../lemmy_websocket" }
+lemmy_utils = { path = "../utils" }
+lemmy_db_queries = { path = "../db_queries" }
+lemmy_db_schema = { path = "../db_schema" }
+lemmy_db_views = { path = "../db_views" }
+lemmy_db_views_actor = { path = "../db_views_actor" }
+lemmy_structs = { path = "../structs" }
+lemmy_websocket = { path = "../websocket" }
 diesel = "1.4.5"
 activitystreams = "0.7.0-alpha.8"
 activitystreams-ext = "0.1.0-alpha.2"
diff --git a/lemmy_apub/src/activities/mod.rs b/crates/apub/src/activities/mod.rs
similarity index 100%
rename from lemmy_apub/src/activities/mod.rs
rename to crates/apub/src/activities/mod.rs
diff --git a/lemmy_apub/src/activities/receive/comment.rs b/crates/apub/src/activities/receive/comment.rs
similarity index 100%
rename from lemmy_apub/src/activities/receive/comment.rs
rename to crates/apub/src/activities/receive/comment.rs
diff --git a/lemmy_apub/src/activities/receive/comment_undo.rs b/crates/apub/src/activities/receive/comment_undo.rs
similarity index 100%
rename from lemmy_apub/src/activities/receive/comment_undo.rs
rename to crates/apub/src/activities/receive/comment_undo.rs
diff --git a/lemmy_apub/src/activities/receive/community.rs b/crates/apub/src/activities/receive/community.rs
similarity index 100%
rename from lemmy_apub/src/activities/receive/community.rs
rename to crates/apub/src/activities/receive/community.rs
diff --git a/lemmy_apub/src/activities/receive/mod.rs b/crates/apub/src/activities/receive/mod.rs
similarity index 100%
rename from lemmy_apub/src/activities/receive/mod.rs
rename to crates/apub/src/activities/receive/mod.rs
diff --git a/lemmy_apub/src/activities/receive/post.rs b/crates/apub/src/activities/receive/post.rs
similarity index 100%
rename from lemmy_apub/src/activities/receive/post.rs
rename to crates/apub/src/activities/receive/post.rs
diff --git a/lemmy_apub/src/activities/receive/post_undo.rs b/crates/apub/src/activities/receive/post_undo.rs
similarity index 100%
rename from lemmy_apub/src/activities/receive/post_undo.rs
rename to crates/apub/src/activities/receive/post_undo.rs
diff --git a/lemmy_apub/src/activities/receive/private_message.rs b/crates/apub/src/activities/receive/private_message.rs
similarity index 100%
rename from lemmy_apub/src/activities/receive/private_message.rs
rename to crates/apub/src/activities/receive/private_message.rs
diff --git a/lemmy_apub/src/activities/send/comment.rs b/crates/apub/src/activities/send/comment.rs
similarity index 100%
rename from lemmy_apub/src/activities/send/comment.rs
rename to crates/apub/src/activities/send/comment.rs
diff --git a/lemmy_apub/src/activities/send/community.rs b/crates/apub/src/activities/send/community.rs
similarity index 100%
rename from lemmy_apub/src/activities/send/community.rs
rename to crates/apub/src/activities/send/community.rs
diff --git a/lemmy_apub/src/activities/send/mod.rs b/crates/apub/src/activities/send/mod.rs
similarity index 100%
rename from lemmy_apub/src/activities/send/mod.rs
rename to crates/apub/src/activities/send/mod.rs
diff --git a/lemmy_apub/src/activities/send/post.rs b/crates/apub/src/activities/send/post.rs
similarity index 100%
rename from lemmy_apub/src/activities/send/post.rs
rename to crates/apub/src/activities/send/post.rs
diff --git a/lemmy_apub/src/activities/send/private_message.rs b/crates/apub/src/activities/send/private_message.rs
similarity index 100%
rename from lemmy_apub/src/activities/send/private_message.rs
rename to crates/apub/src/activities/send/private_message.rs
diff --git a/lemmy_apub/src/activities/send/user.rs b/crates/apub/src/activities/send/user.rs
similarity index 100%
rename from lemmy_apub/src/activities/send/user.rs
rename to crates/apub/src/activities/send/user.rs
diff --git a/lemmy_apub/src/activity_queue.rs b/crates/apub/src/activity_queue.rs
similarity index 100%
rename from lemmy_apub/src/activity_queue.rs
rename to crates/apub/src/activity_queue.rs
diff --git a/lemmy_apub/src/extensions/context.rs b/crates/apub/src/extensions/context.rs
similarity index 100%
rename from lemmy_apub/src/extensions/context.rs
rename to crates/apub/src/extensions/context.rs
diff --git a/lemmy_apub/src/extensions/group_extensions.rs b/crates/apub/src/extensions/group_extensions.rs
similarity index 100%
rename from lemmy_apub/src/extensions/group_extensions.rs
rename to crates/apub/src/extensions/group_extensions.rs
diff --git a/lemmy_apub/src/extensions/mod.rs b/crates/apub/src/extensions/mod.rs
similarity index 100%
rename from lemmy_apub/src/extensions/mod.rs
rename to crates/apub/src/extensions/mod.rs
diff --git a/lemmy_apub/src/extensions/page_extension.rs b/crates/apub/src/extensions/page_extension.rs
similarity index 100%
rename from lemmy_apub/src/extensions/page_extension.rs
rename to crates/apub/src/extensions/page_extension.rs
diff --git a/lemmy_apub/src/extensions/signatures.rs b/crates/apub/src/extensions/signatures.rs
similarity index 100%
rename from lemmy_apub/src/extensions/signatures.rs
rename to crates/apub/src/extensions/signatures.rs
diff --git a/lemmy_apub/src/fetcher/community.rs b/crates/apub/src/fetcher/community.rs
similarity index 100%
rename from lemmy_apub/src/fetcher/community.rs
rename to crates/apub/src/fetcher/community.rs
diff --git a/lemmy_apub/src/fetcher/fetch.rs b/crates/apub/src/fetcher/fetch.rs
similarity index 100%
rename from lemmy_apub/src/fetcher/fetch.rs
rename to crates/apub/src/fetcher/fetch.rs
diff --git a/lemmy_apub/src/fetcher/mod.rs b/crates/apub/src/fetcher/mod.rs
similarity index 100%
rename from lemmy_apub/src/fetcher/mod.rs
rename to crates/apub/src/fetcher/mod.rs
diff --git a/lemmy_apub/src/fetcher/objects.rs b/crates/apub/src/fetcher/objects.rs
similarity index 100%
rename from lemmy_apub/src/fetcher/objects.rs
rename to crates/apub/src/fetcher/objects.rs
diff --git a/lemmy_apub/src/fetcher/search.rs b/crates/apub/src/fetcher/search.rs
similarity index 100%
rename from lemmy_apub/src/fetcher/search.rs
rename to crates/apub/src/fetcher/search.rs
diff --git a/lemmy_apub/src/fetcher/user.rs b/crates/apub/src/fetcher/user.rs
similarity index 100%
rename from lemmy_apub/src/fetcher/user.rs
rename to crates/apub/src/fetcher/user.rs
diff --git a/lemmy_apub/src/http/comment.rs b/crates/apub/src/http/comment.rs
similarity index 100%
rename from lemmy_apub/src/http/comment.rs
rename to crates/apub/src/http/comment.rs
diff --git a/lemmy_apub/src/http/community.rs b/crates/apub/src/http/community.rs
similarity index 100%
rename from lemmy_apub/src/http/community.rs
rename to crates/apub/src/http/community.rs
diff --git a/lemmy_apub/src/http/mod.rs b/crates/apub/src/http/mod.rs
similarity index 100%
rename from lemmy_apub/src/http/mod.rs
rename to crates/apub/src/http/mod.rs
diff --git a/lemmy_apub/src/http/post.rs b/crates/apub/src/http/post.rs
similarity index 100%
rename from lemmy_apub/src/http/post.rs
rename to crates/apub/src/http/post.rs
diff --git a/lemmy_apub/src/http/user.rs b/crates/apub/src/http/user.rs
similarity index 100%
rename from lemmy_apub/src/http/user.rs
rename to crates/apub/src/http/user.rs
diff --git a/lemmy_apub/src/inbox/community_inbox.rs b/crates/apub/src/inbox/community_inbox.rs
similarity index 100%
rename from lemmy_apub/src/inbox/community_inbox.rs
rename to crates/apub/src/inbox/community_inbox.rs
diff --git a/lemmy_apub/src/inbox/mod.rs b/crates/apub/src/inbox/mod.rs
similarity index 100%
rename from lemmy_apub/src/inbox/mod.rs
rename to crates/apub/src/inbox/mod.rs
diff --git a/lemmy_apub/src/inbox/receive_for_community.rs b/crates/apub/src/inbox/receive_for_community.rs
similarity index 100%
rename from lemmy_apub/src/inbox/receive_for_community.rs
rename to crates/apub/src/inbox/receive_for_community.rs
diff --git a/lemmy_apub/src/inbox/shared_inbox.rs b/crates/apub/src/inbox/shared_inbox.rs
similarity index 100%
rename from lemmy_apub/src/inbox/shared_inbox.rs
rename to crates/apub/src/inbox/shared_inbox.rs
diff --git a/lemmy_apub/src/inbox/user_inbox.rs b/crates/apub/src/inbox/user_inbox.rs
similarity index 100%
rename from lemmy_apub/src/inbox/user_inbox.rs
rename to crates/apub/src/inbox/user_inbox.rs
diff --git a/lemmy_apub/src/lib.rs b/crates/apub/src/lib.rs
similarity index 100%
rename from lemmy_apub/src/lib.rs
rename to crates/apub/src/lib.rs
diff --git a/lemmy_apub/src/objects/comment.rs b/crates/apub/src/objects/comment.rs
similarity index 100%
rename from lemmy_apub/src/objects/comment.rs
rename to crates/apub/src/objects/comment.rs
diff --git a/lemmy_apub/src/objects/community.rs b/crates/apub/src/objects/community.rs
similarity index 100%
rename from lemmy_apub/src/objects/community.rs
rename to crates/apub/src/objects/community.rs
diff --git a/lemmy_apub/src/objects/mod.rs b/crates/apub/src/objects/mod.rs
similarity index 100%
rename from lemmy_apub/src/objects/mod.rs
rename to crates/apub/src/objects/mod.rs
diff --git a/lemmy_apub/src/objects/post.rs b/crates/apub/src/objects/post.rs
similarity index 100%
rename from lemmy_apub/src/objects/post.rs
rename to crates/apub/src/objects/post.rs
diff --git a/lemmy_apub/src/objects/private_message.rs b/crates/apub/src/objects/private_message.rs
similarity index 100%
rename from lemmy_apub/src/objects/private_message.rs
rename to crates/apub/src/objects/private_message.rs
diff --git a/lemmy_apub/src/objects/user.rs b/crates/apub/src/objects/user.rs
similarity index 100%
rename from lemmy_apub/src/objects/user.rs
rename to crates/apub/src/objects/user.rs
diff --git a/lemmy_db_queries/Cargo.toml b/crates/db_queries/Cargo.toml
similarity index 86%
rename from lemmy_db_queries/Cargo.toml
rename to crates/db_queries/Cargo.toml
index f39d89b0..5385854c 100644
--- a/lemmy_db_queries/Cargo.toml
+++ b/crates/db_queries/Cargo.toml
@@ -8,8 +8,8 @@ name = "lemmy_db_queries"
 path = "src/lib.rs"
 
 [dependencies]
-lemmy_utils = { path = "../lemmy_utils" }
-lemmy_db_schema = { path = "../lemmy_db_schema" }
+lemmy_utils = { path = "../utils" }
+lemmy_db_schema = { path = "../db_schema" }
 diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] }
 diesel_migrations = "1.4.0"
 chrono = { version = "0.4.19", features = ["serde"] }
diff --git a/lemmy_db_queries/src/aggregates/comment_aggregates.rs b/crates/db_queries/src/aggregates/comment_aggregates.rs
similarity index 100%
rename from lemmy_db_queries/src/aggregates/comment_aggregates.rs
rename to crates/db_queries/src/aggregates/comment_aggregates.rs
diff --git a/lemmy_db_queries/src/aggregates/community_aggregates.rs b/crates/db_queries/src/aggregates/community_aggregates.rs
similarity index 100%
rename from lemmy_db_queries/src/aggregates/community_aggregates.rs
rename to crates/db_queries/src/aggregates/community_aggregates.rs
diff --git a/lemmy_db_queries/src/aggregates/mod.rs b/crates/db_queries/src/aggregates/mod.rs
similarity index 100%
rename from lemmy_db_queries/src/aggregates/mod.rs
rename to crates/db_queries/src/aggregates/mod.rs
diff --git a/lemmy_db_queries/src/aggregates/post_aggregates.rs b/crates/db_queries/src/aggregates/post_aggregates.rs
similarity index 100%
rename from lemmy_db_queries/src/aggregates/post_aggregates.rs
rename to crates/db_queries/src/aggregates/post_aggregates.rs
diff --git a/lemmy_db_queries/src/aggregates/site_aggregates.rs b/crates/db_queries/src/aggregates/site_aggregates.rs
similarity index 100%
rename from lemmy_db_queries/src/aggregates/site_aggregates.rs
rename to crates/db_queries/src/aggregates/site_aggregates.rs
diff --git a/lemmy_db_queries/src/aggregates/user_aggregates.rs b/crates/db_queries/src/aggregates/user_aggregates.rs
similarity index 100%
rename from lemmy_db_queries/src/aggregates/user_aggregates.rs
rename to crates/db_queries/src/aggregates/user_aggregates.rs
diff --git a/lemmy_db_queries/src/lib.rs b/crates/db_queries/src/lib.rs
similarity index 100%
rename from lemmy_db_queries/src/lib.rs
rename to crates/db_queries/src/lib.rs
diff --git a/lemmy_db_queries/src/source/activity.rs b/crates/db_queries/src/source/activity.rs
similarity index 100%
rename from lemmy_db_queries/src/source/activity.rs
rename to crates/db_queries/src/source/activity.rs
diff --git a/lemmy_db_queries/src/source/category.rs b/crates/db_queries/src/source/category.rs
similarity index 100%
rename from lemmy_db_queries/src/source/category.rs
rename to crates/db_queries/src/source/category.rs
diff --git a/lemmy_db_queries/src/source/comment.rs b/crates/db_queries/src/source/comment.rs
similarity index 100%
rename from lemmy_db_queries/src/source/comment.rs
rename to crates/db_queries/src/source/comment.rs
diff --git a/lemmy_db_queries/src/source/comment_report.rs b/crates/db_queries/src/source/comment_report.rs
similarity index 100%
rename from lemmy_db_queries/src/source/comment_report.rs
rename to crates/db_queries/src/source/comment_report.rs
diff --git a/lemmy_db_queries/src/source/community.rs b/crates/db_queries/src/source/community.rs
similarity index 100%
rename from lemmy_db_queries/src/source/community.rs
rename to crates/db_queries/src/source/community.rs
diff --git a/lemmy_db_queries/src/source/mod.rs b/crates/db_queries/src/source/mod.rs
similarity index 100%
rename from lemmy_db_queries/src/source/mod.rs
rename to crates/db_queries/src/source/mod.rs
diff --git a/lemmy_db_queries/src/source/moderator.rs b/crates/db_queries/src/source/moderator.rs
similarity index 100%
rename from lemmy_db_queries/src/source/moderator.rs
rename to crates/db_queries/src/source/moderator.rs
diff --git a/lemmy_db_queries/src/source/password_reset_request.rs b/crates/db_queries/src/source/password_reset_request.rs
similarity index 100%
rename from lemmy_db_queries/src/source/password_reset_request.rs
rename to crates/db_queries/src/source/password_reset_request.rs
diff --git a/lemmy_db_queries/src/source/post.rs b/crates/db_queries/src/source/post.rs
similarity index 100%
rename from lemmy_db_queries/src/source/post.rs
rename to crates/db_queries/src/source/post.rs
diff --git a/lemmy_db_queries/src/source/post_report.rs b/crates/db_queries/src/source/post_report.rs
similarity index 100%
rename from lemmy_db_queries/src/source/post_report.rs
rename to crates/db_queries/src/source/post_report.rs
diff --git a/lemmy_db_queries/src/source/private_message.rs b/crates/db_queries/src/source/private_message.rs
similarity index 100%
rename from lemmy_db_queries/src/source/private_message.rs
rename to crates/db_queries/src/source/private_message.rs
diff --git a/lemmy_db_queries/src/source/site.rs b/crates/db_queries/src/source/site.rs
similarity index 100%
rename from lemmy_db_queries/src/source/site.rs
rename to crates/db_queries/src/source/site.rs
diff --git a/lemmy_db_queries/src/source/user.rs b/crates/db_queries/src/source/user.rs
similarity index 100%
rename from lemmy_db_queries/src/source/user.rs
rename to crates/db_queries/src/source/user.rs
diff --git a/lemmy_db_queries/src/source/user_mention.rs b/crates/db_queries/src/source/user_mention.rs
similarity index 100%
rename from lemmy_db_queries/src/source/user_mention.rs
rename to crates/db_queries/src/source/user_mention.rs
diff --git a/lemmy_db_schema/Cargo.toml b/crates/db_schema/Cargo.toml
similarity index 100%
rename from lemmy_db_schema/Cargo.toml
rename to crates/db_schema/Cargo.toml
diff --git a/lemmy_db_schema/src/lib.rs b/crates/db_schema/src/lib.rs
similarity index 100%
rename from lemmy_db_schema/src/lib.rs
rename to crates/db_schema/src/lib.rs
diff --git a/lemmy_db_schema/src/schema.rs b/crates/db_schema/src/schema.rs
similarity index 100%
rename from lemmy_db_schema/src/schema.rs
rename to crates/db_schema/src/schema.rs
diff --git a/lemmy_db_schema/src/source/activity.rs b/crates/db_schema/src/source/activity.rs
similarity index 100%
rename from lemmy_db_schema/src/source/activity.rs
rename to crates/db_schema/src/source/activity.rs
diff --git a/lemmy_db_schema/src/source/category.rs b/crates/db_schema/src/source/category.rs
similarity index 100%
rename from lemmy_db_schema/src/source/category.rs
rename to crates/db_schema/src/source/category.rs
diff --git a/lemmy_db_schema/src/source/comment.rs b/crates/db_schema/src/source/comment.rs
similarity index 100%
rename from lemmy_db_schema/src/source/comment.rs
rename to crates/db_schema/src/source/comment.rs
diff --git a/lemmy_db_schema/src/source/comment_report.rs b/crates/db_schema/src/source/comment_report.rs
similarity index 100%
rename from lemmy_db_schema/src/source/comment_report.rs
rename to crates/db_schema/src/source/comment_report.rs
diff --git a/lemmy_db_schema/src/source/community.rs b/crates/db_schema/src/source/community.rs
similarity index 100%
rename from lemmy_db_schema/src/source/community.rs
rename to crates/db_schema/src/source/community.rs
diff --git a/lemmy_db_schema/src/source/mod.rs b/crates/db_schema/src/source/mod.rs
similarity index 100%
rename from lemmy_db_schema/src/source/mod.rs
rename to crates/db_schema/src/source/mod.rs
diff --git a/lemmy_db_schema/src/source/moderator.rs b/crates/db_schema/src/source/moderator.rs
similarity index 100%
rename from lemmy_db_schema/src/source/moderator.rs
rename to crates/db_schema/src/source/moderator.rs
diff --git a/lemmy_db_schema/src/source/password_reset_request.rs b/crates/db_schema/src/source/password_reset_request.rs
similarity index 100%
rename from lemmy_db_schema/src/source/password_reset_request.rs
rename to crates/db_schema/src/source/password_reset_request.rs
diff --git a/lemmy_db_schema/src/source/post.rs b/crates/db_schema/src/source/post.rs
similarity index 100%
rename from lemmy_db_schema/src/source/post.rs
rename to crates/db_schema/src/source/post.rs
diff --git a/lemmy_db_schema/src/source/post_report.rs b/crates/db_schema/src/source/post_report.rs
similarity index 100%
rename from lemmy_db_schema/src/source/post_report.rs
rename to crates/db_schema/src/source/post_report.rs
diff --git a/lemmy_db_schema/src/source/private_message.rs b/crates/db_schema/src/source/private_message.rs
similarity index 100%
rename from lemmy_db_schema/src/source/private_message.rs
rename to crates/db_schema/src/source/private_message.rs
diff --git a/lemmy_db_schema/src/source/site.rs b/crates/db_schema/src/source/site.rs
similarity index 100%
rename from lemmy_db_schema/src/source/site.rs
rename to crates/db_schema/src/source/site.rs
diff --git a/lemmy_db_schema/src/source/user.rs b/crates/db_schema/src/source/user.rs
similarity index 100%
rename from lemmy_db_schema/src/source/user.rs
rename to crates/db_schema/src/source/user.rs
diff --git a/lemmy_db_schema/src/source/user_mention.rs b/crates/db_schema/src/source/user_mention.rs
similarity index 100%
rename from lemmy_db_schema/src/source/user_mention.rs
rename to crates/db_schema/src/source/user_mention.rs
diff --git a/lemmy_db_views/Cargo.toml b/crates/db_views/Cargo.toml
similarity index 70%
rename from lemmy_db_views/Cargo.toml
rename to crates/db_views/Cargo.toml
index f166acf0..da942b86 100644
--- a/lemmy_db_views/Cargo.toml
+++ b/crates/db_views/Cargo.toml
@@ -4,8 +4,8 @@ version = "0.1.0"
 edition = "2018"
 
 [dependencies]
-lemmy_db_queries = { path = "../lemmy_db_queries" }
-lemmy_db_schema = { path = "../lemmy_db_schema" }
+lemmy_db_queries = { path = "../db_queries" }
+lemmy_db_schema = { path = "../db_schema" }
 diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] }
 serde = { version = "1.0.118", features = ["derive"] }
 log = "0.4.11"
diff --git a/lemmy_db_views/src/comment_report_view.rs b/crates/db_views/src/comment_report_view.rs
similarity index 100%
rename from lemmy_db_views/src/comment_report_view.rs
rename to crates/db_views/src/comment_report_view.rs
diff --git a/lemmy_db_views/src/comment_view.rs b/crates/db_views/src/comment_view.rs
similarity index 100%
rename from lemmy_db_views/src/comment_view.rs
rename to crates/db_views/src/comment_view.rs
diff --git a/lemmy_db_views/src/lib.rs b/crates/db_views/src/lib.rs
similarity index 100%
rename from lemmy_db_views/src/lib.rs
rename to crates/db_views/src/lib.rs
diff --git a/lemmy_db_views/src/post_report_view.rs b/crates/db_views/src/post_report_view.rs
similarity index 100%
rename from lemmy_db_views/src/post_report_view.rs
rename to crates/db_views/src/post_report_view.rs
diff --git a/lemmy_db_views/src/post_view.rs b/crates/db_views/src/post_view.rs
similarity index 100%
rename from lemmy_db_views/src/post_view.rs
rename to crates/db_views/src/post_view.rs
diff --git a/lemmy_db_views/src/private_message_view.rs b/crates/db_views/src/private_message_view.rs
similarity index 100%
rename from lemmy_db_views/src/private_message_view.rs
rename to crates/db_views/src/private_message_view.rs
diff --git a/lemmy_db_views/src/site_view.rs b/crates/db_views/src/site_view.rs
similarity index 100%
rename from lemmy_db_views/src/site_view.rs
rename to crates/db_views/src/site_view.rs
diff --git a/lemmy_db_views_actor/Cargo.toml b/crates/db_views_actor/Cargo.toml
similarity index 69%
rename from lemmy_db_views_actor/Cargo.toml
rename to crates/db_views_actor/Cargo.toml
index 92c2aafe..a0773181 100644
--- a/lemmy_db_views_actor/Cargo.toml
+++ b/crates/db_views_actor/Cargo.toml
@@ -4,7 +4,7 @@ version = "0.1.0"
 edition = "2018"
 
 [dependencies]
-lemmy_db_queries = { path = "../lemmy_db_queries" }
-lemmy_db_schema = { path = "../lemmy_db_schema" }
+lemmy_db_queries = { path = "../db_queries" }
+lemmy_db_schema = { path = "../db_schema" }
 diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] }
 serde = { version = "1.0.118", features = ["derive"] }
diff --git a/lemmy_db_views_actor/src/community_follower_view.rs b/crates/db_views_actor/src/community_follower_view.rs
similarity index 100%
rename from lemmy_db_views_actor/src/community_follower_view.rs
rename to crates/db_views_actor/src/community_follower_view.rs
diff --git a/lemmy_db_views_actor/src/community_moderator_view.rs b/crates/db_views_actor/src/community_moderator_view.rs
similarity index 100%
rename from lemmy_db_views_actor/src/community_moderator_view.rs
rename to crates/db_views_actor/src/community_moderator_view.rs
diff --git a/lemmy_db_views_actor/src/community_user_ban_view.rs b/crates/db_views_actor/src/community_user_ban_view.rs
similarity index 100%
rename from lemmy_db_views_actor/src/community_user_ban_view.rs
rename to crates/db_views_actor/src/community_user_ban_view.rs
diff --git a/lemmy_db_views_actor/src/community_view.rs b/crates/db_views_actor/src/community_view.rs
similarity index 100%
rename from lemmy_db_views_actor/src/community_view.rs
rename to crates/db_views_actor/src/community_view.rs
diff --git a/lemmy_db_views_actor/src/lib.rs b/crates/db_views_actor/src/lib.rs
similarity index 100%
rename from lemmy_db_views_actor/src/lib.rs
rename to crates/db_views_actor/src/lib.rs
diff --git a/lemmy_db_views_actor/src/user_mention_view.rs b/crates/db_views_actor/src/user_mention_view.rs
similarity index 100%
rename from lemmy_db_views_actor/src/user_mention_view.rs
rename to crates/db_views_actor/src/user_mention_view.rs
diff --git a/lemmy_db_views_actor/src/user_view.rs b/crates/db_views_actor/src/user_view.rs
similarity index 100%
rename from lemmy_db_views_actor/src/user_view.rs
rename to crates/db_views_actor/src/user_view.rs
diff --git a/lemmy_db_views_moderator/Cargo.toml b/crates/db_views_moderator/Cargo.toml
similarity index 69%
rename from lemmy_db_views_moderator/Cargo.toml
rename to crates/db_views_moderator/Cargo.toml
index 7df6844a..46018198 100644
--- a/lemmy_db_views_moderator/Cargo.toml
+++ b/crates/db_views_moderator/Cargo.toml
@@ -4,7 +4,7 @@ version = "0.1.0"
 edition = "2018"
 
 [dependencies]
-lemmy_db_queries = { path = "../lemmy_db_queries" }
-lemmy_db_schema = { path = "../lemmy_db_schema" }
+lemmy_db_queries = { path = "../db_queries" }
+lemmy_db_schema = { path = "../db_schema" }
 diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] }
 serde = { version = "1.0.118", features = ["derive"] }
diff --git a/lemmy_db_views_moderator/src/lib.rs b/crates/db_views_moderator/src/lib.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/lib.rs
rename to crates/db_views_moderator/src/lib.rs
diff --git a/lemmy_db_views_moderator/src/mod_add_community_view.rs b/crates/db_views_moderator/src/mod_add_community_view.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/mod_add_community_view.rs
rename to crates/db_views_moderator/src/mod_add_community_view.rs
diff --git a/lemmy_db_views_moderator/src/mod_add_view.rs b/crates/db_views_moderator/src/mod_add_view.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/mod_add_view.rs
rename to crates/db_views_moderator/src/mod_add_view.rs
diff --git a/lemmy_db_views_moderator/src/mod_ban_from_community_view.rs b/crates/db_views_moderator/src/mod_ban_from_community_view.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/mod_ban_from_community_view.rs
rename to crates/db_views_moderator/src/mod_ban_from_community_view.rs
diff --git a/lemmy_db_views_moderator/src/mod_ban_view.rs b/crates/db_views_moderator/src/mod_ban_view.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/mod_ban_view.rs
rename to crates/db_views_moderator/src/mod_ban_view.rs
diff --git a/lemmy_db_views_moderator/src/mod_lock_post_view.rs b/crates/db_views_moderator/src/mod_lock_post_view.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/mod_lock_post_view.rs
rename to crates/db_views_moderator/src/mod_lock_post_view.rs
diff --git a/lemmy_db_views_moderator/src/mod_remove_comment_view.rs b/crates/db_views_moderator/src/mod_remove_comment_view.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/mod_remove_comment_view.rs
rename to crates/db_views_moderator/src/mod_remove_comment_view.rs
diff --git a/lemmy_db_views_moderator/src/mod_remove_community_view.rs b/crates/db_views_moderator/src/mod_remove_community_view.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/mod_remove_community_view.rs
rename to crates/db_views_moderator/src/mod_remove_community_view.rs
diff --git a/lemmy_db_views_moderator/src/mod_remove_post_view.rs b/crates/db_views_moderator/src/mod_remove_post_view.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/mod_remove_post_view.rs
rename to crates/db_views_moderator/src/mod_remove_post_view.rs
diff --git a/lemmy_db_views_moderator/src/mod_sticky_post_view.rs b/crates/db_views_moderator/src/mod_sticky_post_view.rs
similarity index 100%
rename from lemmy_db_views_moderator/src/mod_sticky_post_view.rs
rename to crates/db_views_moderator/src/mod_sticky_post_view.rs
diff --git a/lemmy_structs/Cargo.toml b/crates/structs/Cargo.toml
similarity index 56%
rename from lemmy_structs/Cargo.toml
rename to crates/structs/Cargo.toml
index b6ecade5..36a47772 100644
--- a/lemmy_structs/Cargo.toml
+++ b/crates/structs/Cargo.toml
@@ -9,12 +9,12 @@ name = "lemmy_structs"
 path = "src/lib.rs"
 
 [dependencies]
-lemmy_db_queries = { path = "../lemmy_db_queries" }
-lemmy_db_views = { path = "../lemmy_db_views" }
-lemmy_db_views_moderator = { path = "../lemmy_db_views_moderator" }
-lemmy_db_views_actor = { path = "../lemmy_db_views_actor" }
-lemmy_db_schema = { path = "../lemmy_db_schema" }
-lemmy_utils = { path = "../lemmy_utils" }
+lemmy_db_queries = { path = "../db_queries" }
+lemmy_db_views = { path = "../db_views" }
+lemmy_db_views_moderator = { path = "../db_views_moderator" }
+lemmy_db_views_actor = { path = "../db_views_actor" }
+lemmy_db_schema = { path = "../db_schema" }
+lemmy_utils = { path = "../utils" }
 serde = { version = "1.0.118", features = ["derive"] }
 log = "0.4.11"
 diesel = "1.4.5"
diff --git a/lemmy_structs/src/comment.rs b/crates/structs/src/comment.rs
similarity index 100%
rename from lemmy_structs/src/comment.rs
rename to crates/structs/src/comment.rs
diff --git a/lemmy_structs/src/community.rs b/crates/structs/src/community.rs
similarity index 100%
rename from lemmy_structs/src/community.rs
rename to crates/structs/src/community.rs
diff --git a/lemmy_structs/src/lib.rs b/crates/structs/src/lib.rs
similarity index 100%
rename from lemmy_structs/src/lib.rs
rename to crates/structs/src/lib.rs
diff --git a/lemmy_structs/src/post.rs b/crates/structs/src/post.rs
similarity index 100%
rename from lemmy_structs/src/post.rs
rename to crates/structs/src/post.rs
diff --git a/lemmy_structs/src/site.rs b/crates/structs/src/site.rs
similarity index 100%
rename from lemmy_structs/src/site.rs
rename to crates/structs/src/site.rs
diff --git a/lemmy_structs/src/user.rs b/crates/structs/src/user.rs
similarity index 100%
rename from lemmy_structs/src/user.rs
rename to crates/structs/src/user.rs
diff --git a/lemmy_structs/src/websocket.rs b/crates/structs/src/websocket.rs
similarity index 100%
rename from lemmy_structs/src/websocket.rs
rename to crates/structs/src/websocket.rs
diff --git a/lemmy_utils/Cargo.toml b/crates/utils/Cargo.toml
similarity index 100%
rename from lemmy_utils/Cargo.toml
rename to crates/utils/Cargo.toml
diff --git a/lemmy_utils/src/apub.rs b/crates/utils/src/apub.rs
similarity index 100%
rename from lemmy_utils/src/apub.rs
rename to crates/utils/src/apub.rs
diff --git a/lemmy_utils/src/email.rs b/crates/utils/src/email.rs
similarity index 100%
rename from lemmy_utils/src/email.rs
rename to crates/utils/src/email.rs
diff --git a/lemmy_utils/src/lib.rs b/crates/utils/src/lib.rs
similarity index 100%
rename from lemmy_utils/src/lib.rs
rename to crates/utils/src/lib.rs
diff --git a/lemmy_utils/src/rate_limit/mod.rs b/crates/utils/src/rate_limit/mod.rs
similarity index 100%
rename from lemmy_utils/src/rate_limit/mod.rs
rename to crates/utils/src/rate_limit/mod.rs
diff --git a/lemmy_utils/src/rate_limit/rate_limiter.rs b/crates/utils/src/rate_limit/rate_limiter.rs
similarity index 100%
rename from lemmy_utils/src/rate_limit/rate_limiter.rs
rename to crates/utils/src/rate_limit/rate_limiter.rs
diff --git a/lemmy_utils/src/request.rs b/crates/utils/src/request.rs
similarity index 100%
rename from lemmy_utils/src/request.rs
rename to crates/utils/src/request.rs
diff --git a/lemmy_utils/src/settings.rs b/crates/utils/src/settings.rs
similarity index 100%
rename from lemmy_utils/src/settings.rs
rename to crates/utils/src/settings.rs
diff --git a/lemmy_utils/src/test.rs b/crates/utils/src/test.rs
similarity index 100%
rename from lemmy_utils/src/test.rs
rename to crates/utils/src/test.rs
diff --git a/lemmy_utils/src/utils.rs b/crates/utils/src/utils.rs
similarity index 100%
rename from lemmy_utils/src/utils.rs
rename to crates/utils/src/utils.rs
diff --git a/lemmy_websocket/Cargo.toml b/crates/websocket/Cargo.toml
similarity index 75%
rename from lemmy_websocket/Cargo.toml
rename to crates/websocket/Cargo.toml
index 944760c2..134fa0db 100644
--- a/lemmy_websocket/Cargo.toml
+++ b/crates/websocket/Cargo.toml
@@ -9,10 +9,10 @@ name = "lemmy_websocket"
 path = "src/lib.rs"
 
 [dependencies]
-lemmy_utils = { path = "../lemmy_utils" }
-lemmy_structs = { path = "../lemmy_structs" }
-lemmy_db_queries = { path = "../lemmy_db_queries" }
-lemmy_db_schema = { path = "../lemmy_db_schema" }
+lemmy_utils = { path = "../utils" }
+lemmy_structs = { path = "../structs" }
+lemmy_db_queries = { path = "../db_queries" }
+lemmy_db_schema = { path = "../db_schema" }
 reqwest = { version = "0.10.10", features = ["json"] }
 log = "0.4.11"
 rand = "0.8.0"
diff --git a/lemmy_websocket/src/chat_server.rs b/crates/websocket/src/chat_server.rs
similarity index 100%
rename from lemmy_websocket/src/chat_server.rs
rename to crates/websocket/src/chat_server.rs
diff --git a/lemmy_websocket/src/handlers.rs b/crates/websocket/src/handlers.rs
similarity index 100%
rename from lemmy_websocket/src/handlers.rs
rename to crates/websocket/src/handlers.rs
diff --git a/lemmy_websocket/src/lib.rs b/crates/websocket/src/lib.rs
similarity index 100%
rename from lemmy_websocket/src/lib.rs
rename to crates/websocket/src/lib.rs
diff --git a/lemmy_websocket/src/messages.rs b/crates/websocket/src/messages.rs
similarity index 100%
rename from lemmy_websocket/src/messages.rs
rename to crates/websocket/src/messages.rs
-- 
2.44.1