diff --git a/Dockerfile b/Dockerfile index 3f3aa4e..e794b24 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,7 @@ COPY server/Cargo.toml server/Cargo.lock ./ RUN mkdir -p ./src/bin \ && echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs RUN cargo build --release --bin lemmy -RUN rm -r ./target/release/.fingerprint/server-* +RUN rm -r ./target/release/.fingerprint/lemmy_server-* # copy your source tree # RUN rm -rf ./src/ diff --git a/server/Cargo.lock b/server/Cargo.lock index 36d2a90..659bd23 100644 --- a/server/Cargo.lock +++ b/server/Cargo.lock @@ -752,6 +752,30 @@ name = "lazycell" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "lemmy_server" +version = "0.0.1" +dependencies = [ + "activitypub 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "actix 0.7.9 (registry+https://github.com/rust-lang/crates.io-index)", + "actix-web 0.7.18 (registry+https://github.com/rust-lang/crates.io-index)", + "bcrypt 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "diesel 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "diesel_migrations 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "dotenv 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "jsonwebtoken 5.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", + "strum 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "strum_macros 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "libc" version = "0.2.49" @@ -1344,30 +1368,6 @@ dependencies = [ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "server" -version = "0.0.1" -dependencies = [ - "activitypub 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "actix 0.7.9 (registry+https://github.com/rust-lang/crates.io-index)", - "actix-web 0.7.18 (registry+https://github.com/rust-lang/crates.io-index)", - "bcrypt 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "diesel 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "diesel_migrations 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "dotenv 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "env_logger 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonwebtoken 5.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", - "strum 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", - "strum_macros 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "sha1" version = "0.6.0" diff --git a/server/Cargo.toml b/server/Cargo.toml index 1daaca6..5ee8b8a 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,12 +1,7 @@ [package] -name = "server" +name = "lemmy_server" version = "0.0.1" authors = ["Dessalines "] -autobins = false - -[[bin]] -name = "lemmy" -path = "src/bin/main.rs" [dependencies] diesel = { version = "1.4.2", features = ["postgres","chrono"] } diff --git a/server/src/apub.rs b/server/src/apub.rs index 4fc0ba3..3d9595c 100644 --- a/server/src/apub.rs +++ b/server/src/apub.rs @@ -1,6 +1,6 @@ extern crate activitypub; use self::activitypub::{context, actor::Person}; -use actions::user::User_; +use db::user::User_; impl User_ { pub fn person(&self) -> Person { diff --git a/server/src/actions/category.rs b/server/src/db/category.rs similarity index 100% rename from server/src/actions/category.rs rename to server/src/db/category.rs diff --git a/server/src/actions/comment.rs b/server/src/db/comment.rs similarity index 98% rename from server/src/actions/comment.rs rename to server/src/db/comment.rs index 4bbc7c0..d63837a 100644 --- a/server/src/actions/comment.rs +++ b/server/src/db/comment.rs @@ -4,7 +4,7 @@ use diesel::*; use diesel::result::Error; use serde::{Deserialize, Serialize}; use {Crud, Likeable, Saveable}; -use actions::post::Post; +use super::post::Post; // WITH RECURSIVE MyTree AS ( // SELECT * FROM comment WHERE parent_id IS NULL @@ -160,9 +160,9 @@ impl Saveable for CommentSaved { mod tests { use establish_connection; use super::*; - use actions::post::*; - use actions::community::*; - use actions::user::*; + use super::super::post::*; + use super::super::community::*; + use super::super::user::*; use Crud; #[test] fn test_crud() { diff --git a/server/src/actions/comment_view.rs b/server/src/db/comment_view.rs similarity index 97% rename from server/src/actions/comment_view.rs rename to server/src/db/comment_view.rs index eb6276c..903c483 100644 --- a/server/src/actions/comment_view.rs +++ b/server/src/db/comment_view.rs @@ -68,7 +68,7 @@ impl CommentView { page: Option, limit: Option, ) -> Result, Error> { - use actions::comment_view::comment_view::dsl::*; + use super::comment_view::comment_view::dsl::*; let (limit, offset) = limit_and_offset(page, limit); @@ -125,7 +125,7 @@ impl CommentView { } pub fn read(conn: &PgConnection, from_comment_id: i32, my_user_id: Option) -> Result { - use actions::comment_view::comment_view::dsl::*; + use super::comment_view::comment_view::dsl::*; let mut query = comment_view.into_boxed(); @@ -206,7 +206,7 @@ impl ReplyView { page: Option, limit: Option, ) -> Result, Error> { - use actions::comment_view::reply_view::dsl::*; + use super::comment_view::reply_view::dsl::*; let (limit, offset) = limit_and_offset(page, limit); @@ -251,10 +251,10 @@ impl ReplyView { mod tests { use establish_connection; use super::*; - use actions::post::*; - use actions::community::*; - use actions::user::*; - use actions::comment::*; + use super::super::post::*; + use super::super::community::*; + use super::super::user::*; + use super::super::comment::*; use {Crud,Likeable}; #[test] fn test_crud() { diff --git a/server/src/actions/community.rs b/server/src/db/community.rs similarity index 99% rename from server/src/actions/community.rs rename to server/src/db/community.rs index db53ceb..2e75828 100644 --- a/server/src/actions/community.rs +++ b/server/src/db/community.rs @@ -221,7 +221,7 @@ impl Crud for Site { mod tests { use establish_connection; use super::*; - use actions::user::*; + use super::super::user::*; use Crud; #[test] fn test_crud() { diff --git a/server/src/actions/community_view.rs b/server/src/db/community_view.rs similarity index 91% rename from server/src/actions/community_view.rs rename to server/src/db/community_view.rs index 9a16274..5ec22f4 100644 --- a/server/src/actions/community_view.rs +++ b/server/src/db/community_view.rs @@ -100,7 +100,7 @@ pub struct CommunityView { impl CommunityView { pub fn read(conn: &PgConnection, from_community_id: i32, from_user_id: Option) -> Result { - use actions::community_view::community_view::dsl::*; + use super::community_view::community_view::dsl::*; let mut query = community_view.into_boxed(); @@ -122,7 +122,7 @@ impl CommunityView { page: Option, limit: Option, ) -> Result, Error> { - use actions::community_view::community_view::dsl::*; + use super::community_view::community_view::dsl::*; let mut query = community_view.into_boxed(); let (limit, offset) = limit_and_offset(page, limit); @@ -163,12 +163,12 @@ pub struct CommunityModeratorView { impl CommunityModeratorView { pub fn for_community(conn: &PgConnection, from_community_id: i32) -> Result, Error> { - use actions::community_view::community_moderator_view::dsl::*; + use super::community_view::community_moderator_view::dsl::*; community_moderator_view.filter(community_id.eq(from_community_id)).load::(conn) } pub fn for_user(conn: &PgConnection, from_user_id: i32) -> Result, Error> { - use actions::community_view::community_moderator_view::dsl::*; + use super::community_view::community_moderator_view::dsl::*; community_moderator_view.filter(user_id.eq(from_user_id)).load::(conn) } } @@ -186,12 +186,12 @@ pub struct CommunityFollowerView { impl CommunityFollowerView { pub fn for_community(conn: &PgConnection, from_community_id: i32) -> Result, Error> { - use actions::community_view::community_follower_view::dsl::*; + use super::community_view::community_follower_view::dsl::*; community_follower_view.filter(community_id.eq(from_community_id)).load::(conn) } pub fn for_user(conn: &PgConnection, from_user_id: i32) -> Result, Error> { - use actions::community_view::community_follower_view::dsl::*; + use super::community_view::community_follower_view::dsl::*; community_follower_view.filter(user_id.eq(from_user_id)).load::(conn) } } @@ -210,17 +210,17 @@ pub struct CommunityUserBanView { impl CommunityUserBanView { pub fn for_community(conn: &PgConnection, from_community_id: i32) -> Result, Error> { - use actions::community_view::community_user_ban_view::dsl::*; + use super::community_view::community_user_ban_view::dsl::*; community_user_ban_view.filter(community_id.eq(from_community_id)).load::(conn) } pub fn for_user(conn: &PgConnection, from_user_id: i32) -> Result, Error> { - use actions::community_view::community_user_ban_view::dsl::*; + use super::community_view::community_user_ban_view::dsl::*; community_user_ban_view.filter(user_id.eq(from_user_id)).load::(conn) } pub fn get(conn: &PgConnection, from_user_id: i32, from_community_id: i32) -> Result { - use actions::community_view::community_user_ban_view::dsl::*; + use super::community_view::community_user_ban_view::dsl::*; community_user_ban_view .filter(user_id.eq(from_user_id)) .filter(community_id.eq(from_community_id)) @@ -246,7 +246,7 @@ pub struct SiteView { impl SiteView { pub fn read(conn: &PgConnection) -> Result { - use actions::community_view::site_view::dsl::*; + use super::community_view::site_view::dsl::*; site_view.first::(conn) } } diff --git a/server/src/actions/mod.rs b/server/src/db/mod.rs similarity index 100% rename from server/src/actions/mod.rs rename to server/src/db/mod.rs diff --git a/server/src/actions/moderator.rs b/server/src/db/moderator.rs similarity index 99% rename from server/src/actions/moderator.rs rename to server/src/db/moderator.rs index 794d91e..74068e0 100644 --- a/server/src/actions/moderator.rs +++ b/server/src/db/moderator.rs @@ -400,10 +400,10 @@ impl Crud for ModAdd { mod tests { use establish_connection; use super::*; - use actions::user::*; - use actions::post::*; - use actions::community::*; - use actions::comment::*; + use super::super::user::*; + use super::super::post::*; + use super::super::community::*; + use super::super::comment::*; // use Crud; #[test] fn test_crud() { diff --git a/server/src/actions/moderator_views.rs b/server/src/db/moderator_views.rs similarity index 95% rename from server/src/actions/moderator_views.rs rename to server/src/db/moderator_views.rs index 8941827..56881ef 100644 --- a/server/src/actions/moderator_views.rs +++ b/server/src/db/moderator_views.rs @@ -41,7 +41,7 @@ impl ModRemovePostView { page: Option, limit: Option, ) -> Result, Error> { - use actions::moderator_views::mod_remove_post_view::dsl::*; + use super::moderator_views::mod_remove_post_view::dsl::*; let mut query = mod_remove_post_view.into_boxed(); let (limit, offset) = limit_and_offset(page, limit); @@ -94,7 +94,7 @@ impl ModLockPostView { page: Option, limit: Option, ) -> Result, Error> { - use actions::moderator_views::mod_lock_post_view::dsl::*; + use super::moderator_views::mod_lock_post_view::dsl::*; let mut query = mod_lock_post_view.into_boxed(); let (limit, offset) = limit_and_offset(page, limit); @@ -156,7 +156,7 @@ impl ModRemoveCommentView { page: Option, limit: Option, ) -> Result, Error> { - use actions::moderator_views::mod_remove_comment_view::dsl::*; + use super::moderator_views::mod_remove_comment_view::dsl::*; let mut query = mod_remove_comment_view.into_boxed(); let (limit, offset) = limit_and_offset(page, limit); @@ -207,7 +207,7 @@ impl ModRemoveCommunityView { page: Option, limit: Option, ) -> Result, Error> { - use actions::moderator_views::mod_remove_community_view::dsl::*; + use super::moderator_views::mod_remove_community_view::dsl::*; let mut query = mod_remove_community_view.into_boxed(); let (limit, offset) = limit_and_offset(page, limit); @@ -260,7 +260,7 @@ impl ModBanFromCommunityView { page: Option, limit: Option, ) -> Result, Error> { - use actions::moderator_views::mod_ban_from_community_view::dsl::*; + use super::moderator_views::mod_ban_from_community_view::dsl::*; let mut query = mod_ban_from_community_view.into_boxed(); let (limit, offset) = limit_and_offset(page, limit); @@ -311,7 +311,7 @@ impl ModBanView { page: Option, limit: Option, ) -> Result, Error> { - use actions::moderator_views::mod_ban_view::dsl::*; + use super::moderator_views::mod_ban_view::dsl::*; let mut query = mod_ban_view.into_boxed(); let (limit, offset) = limit_and_offset(page, limit); @@ -359,7 +359,7 @@ impl ModAddCommunityView { page: Option, limit: Option, ) -> Result, Error> { - use actions::moderator_views::mod_add_community_view::dsl::*; + use super::moderator_views::mod_add_community_view::dsl::*; let mut query = mod_add_community_view.into_boxed(); let (limit, offset) = limit_and_offset(page, limit); @@ -406,7 +406,7 @@ impl ModAddView { page: Option, limit: Option, ) -> Result, Error> { - use actions::moderator_views::mod_add_view::dsl::*; + use super::moderator_views::mod_add_view::dsl::*; let mut query = mod_add_view.into_boxed(); let (limit, offset) = limit_and_offset(page, limit); diff --git a/server/src/actions/post.rs b/server/src/db/post.rs similarity index 99% rename from server/src/actions/post.rs rename to server/src/db/post.rs index 495a8b0..59a7a1d 100644 --- a/server/src/actions/post.rs +++ b/server/src/db/post.rs @@ -173,10 +173,10 @@ impl Readable for PostRead { #[cfg(test)] mod tests { use establish_connection; - use super::*; use Crud; - use actions::community::*; - use actions::user::*; + use super::*; + use super::super::community::*; + use super::super::user::*; #[test] fn test_crud() { let conn = establish_connection(); diff --git a/server/src/actions/post_view.rs b/server/src/db/post_view.rs similarity index 98% rename from server/src/actions/post_view.rs rename to server/src/db/post_view.rs index 1828765..6dc6b6e 100644 --- a/server/src/actions/post_view.rs +++ b/server/src/db/post_view.rs @@ -85,7 +85,7 @@ impl PostView { page: Option, limit: Option, ) -> Result, Error> { - use actions::post_view::post_view::dsl::*; + use super::post_view::post_view::dsl::*; let (limit, offset) = limit_and_offset(page, limit); @@ -158,7 +158,7 @@ impl PostView { pub fn read(conn: &PgConnection, from_post_id: i32, my_user_id: Option) -> Result { - use actions::post_view::post_view::dsl::*; + use super::post_view::post_view::dsl::*; use diesel::prelude::*; let mut query = post_view.into_boxed(); @@ -181,9 +181,9 @@ impl PostView { mod tests { use {establish_connection, Crud, Likeable}; use super::*; - use actions::community::*; - use actions::user::*; - use actions::post::*; + use super::super::community::*; + use super::super::user::*; + use super::super::post::*; #[test] fn test_crud() { let conn = establish_connection(); diff --git a/server/src/actions/user.rs b/server/src/db/user.rs similarity index 100% rename from server/src/actions/user.rs rename to server/src/db/user.rs diff --git a/server/src/actions/user_view.rs b/server/src/db/user_view.rs similarity index 89% rename from server/src/actions/user_view.rs rename to server/src/db/user_view.rs index a5187ae..f17fd8c 100644 --- a/server/src/actions/user_view.rs +++ b/server/src/db/user_view.rs @@ -35,20 +35,20 @@ pub struct UserView { impl UserView { pub fn read(conn: &PgConnection, from_user_id: i32) -> Result { - use actions::user_view::user_view::dsl::*; + use super::user_view::user_view::dsl::*; user_view.find(from_user_id) .first::(conn) } pub fn admins(conn: &PgConnection) -> Result, Error> { - use actions::user_view::user_view::dsl::*; + use super::user_view::user_view::dsl::*; user_view.filter(admin.eq(true)) .load::(conn) } pub fn banned(conn: &PgConnection) -> Result, Error> { - use actions::user_view::user_view::dsl::*; + use super::user_view::user_view::dsl::*; user_view.filter(banned.eq(true)) .load::(conn) } diff --git a/server/src/lib.rs b/server/src/lib.rs index 71b72ac..a453633 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -17,8 +17,8 @@ pub extern crate regex; pub mod schema; pub mod apub; -pub mod actions; -pub mod websocket_server; +pub mod db; +pub mod websocket; use diesel::*; use diesel::pg::PgConnection; diff --git a/server/src/bin/main.rs b/server/src/main.rs similarity index 96% rename from server/src/bin/main.rs rename to server/src/main.rs index c2fde34..3e51785 100644 --- a/server/src/bin/main.rs +++ b/server/src/main.rs @@ -1,14 +1,13 @@ -extern crate server; +extern crate lemmy_server; #[macro_use] extern crate diesel_migrations; use std::time::{Instant, Duration}; use std::env; -use server::actix::*; -use server::actix_web::server::HttpServer; -use server::actix_web::{ws, App, Error, HttpRequest, HttpResponse, fs::NamedFile, fs}; - -use server::websocket_server::server::*; -use server::establish_connection; +use lemmy_server::actix::*; +use lemmy_server::actix_web::server::HttpServer; +use lemmy_server::actix_web::{ws, App, Error, HttpRequest, HttpResponse, fs::NamedFile, fs}; +use lemmy_server::websocket::server::*; +use lemmy_server::establish_connection; embed_migrations!(); diff --git a/server/src/websocket_server/mod.rs b/server/src/websocket/mod.rs similarity index 100% rename from server/src/websocket_server/mod.rs rename to server/src/websocket/mod.rs diff --git a/server/src/websocket_server/server.rs b/server/src/websocket/server.rs similarity index 99% rename from server/src/websocket_server/server.rs rename to server/src/websocket/server.rs index 82c4007..a530b9a 100644 --- a/server/src/websocket_server/server.rs +++ b/server/src/websocket/server.rs @@ -14,17 +14,17 @@ use failure::Error; use std::time::{SystemTime}; use {Crud, Joinable, Likeable, Followable, Bannable, Saveable, establish_connection, naive_now, naive_from_unix, SortType, SearchType, has_slurs, remove_slurs, Settings}; -use actions::community::*; -use actions::user::*; -use actions::post::*; -use actions::comment::*; -use actions::post_view::*; -use actions::comment_view::*; -use actions::category::*; -use actions::community_view::*; -use actions::user_view::*; -use actions::moderator_views::*; -use actions::moderator::*; +use db::community::*; +use db::user::*; +use db::post::*; +use db::comment::*; +use db::post_view::*; +use db::comment_view::*; +use db::category::*; +use db::community_view::*; +use db::user_view::*; +use db::moderator_views::*; +use db::moderator::*; const RATE_LIMIT_MESSAGES: i32 = 30; const RATE_LIMIT_PER_SECOND: i32 = 60;