diff --git a/Cargo.lock b/Cargo.lock index fd49b3d0..92443b57 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -373,14 +373,6 @@ dependencies = [ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "colored" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "combine" version = "3.6.7" @@ -1775,7 +1767,6 @@ dependencies = [ "askama_escape 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "atom_syndication 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "colored 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "ctrlc 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "diesel 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "dotenv 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1795,7 +1786,6 @@ dependencies = [ "rocket_contrib 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "rocket_csrf 0.1.0 (git+https://github.com/fdb-hiroshima/rocket_csrf?rev=4a72ea2ec716cb0b26188fb00bccf2ef7d1e031c)", "rocket_i18n 0.4.0 (git+https://github.com/Plume-org/rocket_i18n?rev=e922afa7c366038b3433278c03b1456b346074f2)", - "rpassword 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rsass 0.9.8 (registry+https://github.com/rust-lang/crates.io-index)", "ructe 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "runtime-fmt 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1813,7 +1803,6 @@ name = "plume-api" version = "0.3.0" dependencies = [ "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1839,13 +1828,11 @@ dependencies = [ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.12.25 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.10.19 (registry+https://github.com/rust-lang/crates.io-index)", "pulldown-cmark 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "reqwest 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)", "rocket 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1862,7 +1849,7 @@ dependencies = [ [[package]] name = "plume-macro" -version = "0.1.0" +version = "0.3.0" dependencies = [ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1888,13 +1875,12 @@ dependencies = [ "openssl 0.10.19 (registry+https://github.com/rust-lang/crates.io-index)", "plume-api 0.3.0", "plume-common 0.3.0", - "plume-macro 0.1.0", + "plume-macro 0.3.0", "reqwest 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)", "rocket 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "rocket_i18n 0.4.0 (git+https://github.com/Plume-org/rocket_i18n?rev=e922afa7c366038b3433278c03b1456b346074f2)", "scheduled-thread-pool 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", "tantivy 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2499,6 +2485,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "serde" version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "serde_derive" @@ -3303,7 +3292,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878" "checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum colored 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6e9a455e156a4271e12fd0246238c380b1e223e3736663c7a18ed8b6362028a9" "checksum combine 3.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "d2623b3542b48f4427e15ddd4995186decb594ebbd70271463886584b4a114b9" "checksum conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299" "checksum cookie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1465f8134efa296b4c19db34d909637cb2bf0f7aaf21299e23e18fa29ac557cf" diff --git a/Cargo.toml b/Cargo.toml index 326a9f5d..6be201a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,12 +3,12 @@ authors = ["Plume contributors"] name = "plume" version = "0.3.0" repository = "https://github.com/Plume-org/Plume" +edition = "2018" [dependencies] activitypub = "0.1.3" askama_escape = "0.1" atom_syndication = "0.6" -colored = "1.7" dotenv = "0.13" gettext = { git = "https://github.com/Plume-org/gettext/", rev = "294c54d74c699fbc66502b480a37cc66c1daa7f3" } gettext-macros = { git = "https://github.com/Plume-org/gettext-macros/", rev = "a7c605f7edd6bfbfbfe7778026bfefd88d82db10" } @@ -21,7 +21,6 @@ num_cpus = "1.0" rocket = "0.4.0" rocket_contrib = { version = "0.4.0", features = ["json"] } rocket_i18n = { git = "https://github.com/Plume-org/rocket_i18n", rev = "e922afa7c366038b3433278c03b1456b346074f2" } -rpassword = "2.0" runtime-fmt = "0.3.0" scheduled-thread-pool = "0.2.0" serde = "1.0" diff --git a/plume-api/Cargo.toml b/plume-api/Cargo.toml index 60058a2c..edcc3a49 100644 --- a/plume-api/Cargo.toml +++ b/plume-api/Cargo.toml @@ -2,7 +2,7 @@ name = "plume-api" version = "0.3.0" authors = ["Plume contributors"] +edition = "2018" [dependencies] -serde = "1.0" -serde_derive = "1.0" +serde = { version = "1.0", features = ["derive"] } diff --git a/plume-api/src/apps.rs b/plume-api/src/apps.rs index 9e0610d2..c4e70526 100644 --- a/plume-api/src/apps.rs +++ b/plume-api/src/apps.rs @@ -1,3 +1,5 @@ +use serde::{Deserialize, Serialize}; + #[derive(Clone, Serialize, Deserialize)] pub struct NewAppData { pub name: String, diff --git a/plume-api/src/lib.rs b/plume-api/src/lib.rs index 158b4261..1e1d1680 100644 --- a/plume-api/src/lib.rs +++ b/plume-api/src/lib.rs @@ -1,6 +1,2 @@ -extern crate serde; -#[macro_use] -extern crate serde_derive; - pub mod apps; pub mod posts; diff --git a/plume-api/src/posts.rs b/plume-api/src/posts.rs index 57b7cf29..f744121f 100644 --- a/plume-api/src/posts.rs +++ b/plume-api/src/posts.rs @@ -1,3 +1,5 @@ +use serde::{Deserialize, Serialize}; + #[derive(Clone, Default, Serialize, Deserialize)] pub struct NewPostData { pub title: String, diff --git a/plume-cli/Cargo.toml b/plume-cli/Cargo.toml index b9e3dff7..8f85ade7 100644 --- a/plume-cli/Cargo.toml +++ b/plume-cli/Cargo.toml @@ -2,6 +2,7 @@ name = "plume-cli" version = "0.3.0" authors = ["Plume contributors"] +edition = "2018" [[bin]] name = "plm" diff --git a/plume-cli/src/main.rs b/plume-cli/src/main.rs index 4a872247..3b925f75 100644 --- a/plume-cli/src/main.rs +++ b/plume-cli/src/main.rs @@ -1,9 +1,3 @@ -extern crate clap; -extern crate diesel; -extern crate dotenv; -extern crate plume_models; -extern crate rpassword; - use clap::App; use diesel::Connection; use plume_models::{Connection as Conn, CONFIG}; diff --git a/plume-cli/src/users.rs b/plume-cli/src/users.rs index 38a4972b..8428b0c1 100644 --- a/plume-cli/src/users.rs +++ b/plume-cli/src/users.rs @@ -1,7 +1,6 @@ use clap::{App, Arg, ArgMatches, SubCommand}; use plume_models::{instance::Instance, users::*, Connection}; -use rpassword; use std::io::{self, Write}; pub fn command<'a, 'b>() -> App<'a, 'b> { diff --git a/plume-common/Cargo.toml b/plume-common/Cargo.toml index 191ed418..38cd9579 100644 --- a/plume-common/Cargo.toml +++ b/plume-common/Cargo.toml @@ -2,6 +2,7 @@ name = "plume-common" version = "0.3.0" authors = ["Plume contributors"] +edition = "2018" [dependencies] activitypub = "0.1.1" @@ -11,12 +12,10 @@ array_tool = "1.0" base64 = "0.10" heck = "0.3.0" hex = "0.3" -hyper = "0.12.20" openssl = "0.10.15" rocket = "0.4.0" reqwest = "0.9" -serde = "1.0" -serde_derive = "1.0" +serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" [dependencies.chrono] diff --git a/plume-common/src/activity_pub/mod.rs b/plume-common/src/activity_pub/mod.rs index c08bf06a..f127c220 100644 --- a/plume-common/src/activity_pub/mod.rs +++ b/plume-common/src/activity_pub/mod.rs @@ -1,4 +1,5 @@ use activitypub::{Activity, Link, Object}; +use activitystreams_derive::{Properties, UnitString}; use array_tool::vec::Uniq; use reqwest::ClientBuilder; use rocket::{ @@ -7,7 +8,8 @@ use rocket::{ response::{Responder, Response}, Outcome, }; -use serde_json; +use serde::{Deserialize, Serialize}; +use serde_json::json; use self::sign::Signable; @@ -63,7 +65,7 @@ impl ActivityStream { } impl<'r, O: Object> Responder<'r> for ActivityStream { - fn respond_to(self, request: &Request) -> Result, Status> { + fn respond_to(self, request: &Request<'_>) -> Result, Status> { let mut json = serde_json::to_value(&self.0).map_err(|_| Status::InternalServerError)?; json["@context"] = context(); serde_json::to_string(&json).respond_to(request).map(|r| { diff --git a/plume-common/src/activity_pub/request.rs b/plume-common/src/activity_pub/request.rs index 4a456193..29201180 100644 --- a/plume-common/src/activity_pub/request.rs +++ b/plume-common/src/activity_pub/request.rs @@ -1,12 +1,11 @@ -use base64; use chrono::{offset::Utc, DateTime}; use openssl::hash::{Hasher, MessageDigest}; use reqwest::header::{HeaderMap, HeaderValue, ACCEPT, CONTENT_TYPE, DATE, USER_AGENT}; use std::ops::Deref; use std::time::SystemTime; -use activity_pub::sign::Signer; -use activity_pub::{ap_accept_header, AP_CONTENT_TYPE}; +use crate::activity_pub::sign::Signer; +use crate::activity_pub::{ap_accept_header, AP_CONTENT_TYPE}; const PLUME_USER_AGENT: &str = concat!("Plume/", env!("CARGO_PKG_VERSION")); diff --git a/plume-common/src/activity_pub/sign.rs b/plume-common/src/activity_pub/sign.rs index 83834b9a..917e64ef 100644 --- a/plume-common/src/activity_pub/sign.rs +++ b/plume-common/src/activity_pub/sign.rs @@ -1,10 +1,8 @@ use super::request; -use base64; use chrono::{naive::NaiveDateTime, DateTime, Duration, Utc}; -use hex; use openssl::{pkey::PKey, rsa::Rsa, sha::sha256}; use rocket::http::HeaderMap; -use serde_json; +use serde_json::json; /// Returns (public key, private key) pub fn gen_keypair() -> (Vec, Vec) { @@ -131,7 +129,7 @@ impl SignatureValidity { pub fn verify_http_headers( sender: &S, - all_headers: &HeaderMap, + all_headers: &HeaderMap<'_>, data: &request::Digest, ) -> SignatureValidity { let sig_header = all_headers.get_one("Signature"); diff --git a/plume-common/src/lib.rs b/plume-common/src/lib.rs index 68889bd4..8ba1ce04 100644 --- a/plume-common/src/lib.rs +++ b/plume-common/src/lib.rs @@ -1,23 +1,4 @@ -#![feature(custom_attribute, associated_type_defaults)] - -extern crate activitypub; -#[macro_use] -extern crate activitystreams_derive; -extern crate activitystreams_traits; -extern crate array_tool; -extern crate base64; -extern crate chrono; -extern crate heck; -extern crate hex; -extern crate openssl; -extern crate pulldown_cmark; -extern crate reqwest; -extern crate rocket; -extern crate serde; -#[macro_use] -extern crate serde_derive; -#[macro_use] -extern crate serde_json; +#![feature(associated_type_defaults)] pub mod activity_pub; pub mod utils; diff --git a/plume-common/src/utils.rs b/plume-common/src/utils.rs index 0abb8adc..d43e156e 100644 --- a/plume-common/src/utils.rs +++ b/plume-common/src/utils.rs @@ -46,7 +46,7 @@ enum State { Ready, } -fn to_inline(tag: Tag) -> Tag { +fn to_inline(tag: Tag<'_>) -> Tag<'_> { match tag { Tag::Header(_) | Tag::Table(_) | Tag::TableHead | Tag::TableRow | Tag::TableCell => { Tag::Paragraph @@ -97,7 +97,7 @@ fn inline_tags<'a>( } } -pub type MediaProcessor<'a> = Box<'a + Fn(i32) -> Option<(String, Option)>>; +pub type MediaProcessor<'a> = Box Option<(String, Option)>>; fn process_image<'a, 'b>( evt: Event<'a>, @@ -160,7 +160,7 @@ pub fn md_to_html<'a>( ) -> (String, HashSet, HashSet) { let parser = Parser::new_ext(md, Options::all()); - let (parser, mentions, hashtags): (Vec, Vec, Vec) = parser + let (parser, mentions, hashtags): (Vec>, Vec, Vec) = parser // Flatten text because pulldown_cmark break #hashtag in two individual text elements .scan(None, flatten_text) .flat_map(IntoIterator::into_iter) diff --git a/plume-front/Cargo.toml b/plume-front/Cargo.toml index 7e93c018..211b7825 100644 --- a/plume-front/Cargo.toml +++ b/plume-front/Cargo.toml @@ -2,10 +2,11 @@ name = "plume-front" version = "0.3.0" authors = ["Plume contributors"] +edition = "2018" [dependencies] stdweb = "0.4" gettext = { git = "https://github.com/Plume-org/gettext/", rev = "294c54d74c699fbc66502b480a37cc66c1daa7f3" } gettext-macros = { git = "https://github.com/Plume-org/gettext-macros/", rev = "a7c605f7edd6bfbfbfe7778026bfefd88d82db10" } gettext-utils = { git = "https://github.com/Plume-org/gettext-macros/", rev = "a7c605f7edd6bfbfbfe7778026bfefd88d82db10" } -lazy_static = "1.3" \ No newline at end of file +lazy_static = "1.3" diff --git a/plume-front/src/editor.rs b/plume-front/src/editor.rs index 36095a26..de59e58f 100644 --- a/plume-front/src/editor.rs +++ b/plume-front/src/editor.rs @@ -1,8 +1,9 @@ +use crate::CATALOG; +use gettext_macros::i18n; use stdweb::{ unstable::{TryFrom, TryInto}, web::{event::*, html_element::*, *}, }; -use CATALOG; macro_rules! mv { ( $( $var:ident ),* => $exp:expr ) => { diff --git a/plume-front/src/main.rs b/plume-front/src/main.rs index a34e2ac1..f261fc0b 100644 --- a/plume-front/src/main.rs +++ b/plume-front/src/main.rs @@ -1,14 +1,11 @@ #![recursion_limit = "128"] #![feature(decl_macro, proc_macro_hygiene, try_trait)] -extern crate gettext; -#[macro_use] -extern crate gettext_macros; -#[macro_use] -extern crate lazy_static; #[macro_use] extern crate stdweb; +use gettext_macros::{compile_i18n, include_i18n, init_i18n}; +use lazy_static::lazy_static; use stdweb::web::{event::*, *}; init_i18n!( diff --git a/plume-macro/Cargo.toml b/plume-macro/Cargo.toml index b224db12..dec86369 100644 --- a/plume-macro/Cargo.toml +++ b/plume-macro/Cargo.toml @@ -1,10 +1,8 @@ [package] +authors = ["Plume contributors"] name = "plume-macro" -version = "0.1.0" -authors = ["Trinity Pointard "] +version = "0.3.0" edition = "2018" -description = "Plume procedural macros" -license = "AGPLv3" [lib] proc-macro = true diff --git a/plume-macro/src/lib.rs b/plume-macro/src/lib.rs index a1966f44..cc731905 100644 --- a/plume-macro/src/lib.rs +++ b/plume-macro/src/lib.rs @@ -1,8 +1,6 @@ #![recursion_limit = "128"] extern crate proc_macro; -#[macro_use] -extern crate quote; -extern crate syn; +use quote::quote; use proc_macro::TokenStream; use proc_macro2::TokenStream as TokenStream2; @@ -71,12 +69,6 @@ pub fn import_migrations(input: TokenStream) -> TokenStream { .map(file_to_migration) .collect::>(); - /* - enum Action { - Sql(&'static str), - Function(&'static Fn(&Connection, &Path) -> Result<()>) - }*/ - quote!( ImportedMigrations( &[#(ComplexMigration{name: #migrations_name, up: #migrations_up, down: #migrations_down}),*] diff --git a/plume-models/Cargo.toml b/plume-models/Cargo.toml index 00fc8c8f..613c8a82 100644 --- a/plume-models/Cargo.toml +++ b/plume-models/Cargo.toml @@ -2,6 +2,7 @@ name = "plume-models" version = "0.3.0" authors = ["Plume contributors"] +edition = "2018" [dependencies] activitypub = "0.1.1" @@ -18,8 +19,7 @@ rocket = "0.4.0" rocket_i18n = { git = "https://github.com/Plume-org/rocket_i18n", rev = "e922afa7c366038b3433278c03b1456b346074f2" } reqwest = "0.9" scheduled-thread-pool = "0.2.0" -serde = "1.0" -serde_derive = "1.0" +serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" tantivy = "0.9.1" url = "1.7" diff --git a/plume-models/src/admin.rs b/plume-models/src/admin.rs index 5acdea86..e39abf54 100644 --- a/plume-models/src/admin.rs +++ b/plume-models/src/admin.rs @@ -4,7 +4,7 @@ use rocket::{ Outcome, }; -use users::User; +use crate::users::User; /// Wrapper around User to use as a request guard on pages reserved to admins. pub struct Admin(pub User); diff --git a/plume-models/src/api_tokens.rs b/plume-models/src/api_tokens.rs index cc876fbc..9d10efa9 100644 --- a/plume-models/src/api_tokens.rs +++ b/plume-models/src/api_tokens.rs @@ -6,9 +6,9 @@ use rocket::{ Outcome, }; -use db_conn::DbConn; -use schema::api_tokens; -use {Error, Result}; +use crate::db_conn::DbConn; +use crate::schema::api_tokens; +use crate::{Error, Result}; #[derive(Clone, Queryable)] pub struct ApiToken { diff --git a/plume-models/src/apps.rs b/plume-models/src/apps.rs index 4b24a88e..9e418140 100644 --- a/plume-models/src/apps.rs +++ b/plume-models/src/apps.rs @@ -1,8 +1,9 @@ use chrono::NaiveDateTime; use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; +use serde::Serialize; -use schema::apps; -use {Error, Result}; +use crate::schema::apps; +use crate::{Error, Result}; #[derive(Clone, Queryable, Serialize)] pub struct App { diff --git a/plume-models/src/blog_authors.rs b/plume-models/src/blog_authors.rs index 20b99b13..479edd98 100644 --- a/plume-models/src/blog_authors.rs +++ b/plume-models/src/blog_authors.rs @@ -1,7 +1,7 @@ use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; -use schema::blog_authors; -use {Error, Result}; +use crate::schema::blog_authors; +use crate::{Error, Result}; #[derive(Clone, Queryable, Identifiable)] pub struct BlogAuthor { diff --git a/plume-models/src/blogs.rs b/plume-models/src/blogs.rs index 0fd0e2c7..eb75867e 100644 --- a/plume-models/src/blogs.rs +++ b/plume-models/src/blogs.rs @@ -11,18 +11,18 @@ use serde_json; use url::Url; use webfinger::*; -use instance::*; -use medias::Media; +use crate::instance::*; +use crate::medias::Media; +use crate::posts::Post; +use crate::safe_string::SafeString; +use crate::schema::blogs; +use crate::search::Searcher; +use crate::users::User; +use crate::{Connection, Error, PlumeRocket, Result}; use plume_common::activity_pub::{ inbox::{AsActor, FromId}, sign, ActivityStream, ApSignature, Id, IntoId, PublicKey, Source, }; -use posts::Post; -use safe_string::SafeString; -use schema::blogs; -use search::Searcher; -use users::User; -use {Connection, Error, PlumeRocket, Result}; pub type CustomGroup = CustomObject; @@ -99,8 +99,8 @@ impl Blog { } pub fn list_authors(&self, conn: &Connection) -> Result> { - use schema::blog_authors; - use schema::users; + use crate::schema::blog_authors; + use crate::schema::users; let authors_ids = blog_authors::table .filter(blog_authors::blog_id.eq(self.id)) .select(blog_authors::author_id); @@ -111,7 +111,7 @@ impl Blog { } pub fn count_authors(&self, conn: &Connection) -> Result { - use schema::blog_authors; + use crate::schema::blog_authors; blog_authors::table .filter(blog_authors::blog_id.eq(self.id)) .count() @@ -120,7 +120,7 @@ impl Blog { } pub fn find_for_author(conn: &Connection, author: &User) -> Result> { - use schema::blog_authors; + use crate::schema::blog_authors; let author_ids = blog_authors::table .filter(blog_authors::author_id.eq(author.id)) .select(blog_authors::blog_id); @@ -456,14 +456,14 @@ impl NewBlog { #[cfg(test)] pub(crate) mod tests { use super::*; - use blog_authors::*; + use crate::blog_authors::*; + use crate::instance::tests as instance_tests; + use crate::medias::NewMedia; + use crate::search::tests::get_searcher; + use crate::tests::{db, rockets}; + use crate::users::tests as usersTests; + use crate::Connection as Conn; use diesel::Connection; - use instance::tests as instance_tests; - use medias::NewMedia; - use search::tests::get_searcher; - use tests::{db, rockets}; - use users::tests as usersTests; - use Connection as Conn; pub(crate) fn fill_database(conn: &Conn) -> (Vec, Vec) { instance_tests::fill_database(conn); diff --git a/plume-models/src/comment_seers.rs b/plume-models/src/comment_seers.rs index d26d622d..9a37f3a9 100644 --- a/plume-models/src/comment_seers.rs +++ b/plume-models/src/comment_seers.rs @@ -1,9 +1,9 @@ use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; -use comments::Comment; -use schema::comment_seers; -use users::User; -use {Connection, Error, Result}; +use crate::comments::Comment; +use crate::schema::comment_seers; +use crate::users::User; +use crate::{Connection, Error, Result}; #[derive(Queryable, Clone)] pub struct CommentSeers { diff --git a/plume-models/src/comments.rs b/plume-models/src/comments.rs index 50ad9555..5f1c50f7 100644 --- a/plume-models/src/comments.rs +++ b/plume-models/src/comments.rs @@ -9,21 +9,21 @@ use serde_json; use std::collections::HashSet; -use comment_seers::{CommentSeers, NewCommentSeers}; -use instance::Instance; -use medias::Media; -use mentions::Mention; -use notifications::*; +use crate::comment_seers::{CommentSeers, NewCommentSeers}; +use crate::instance::Instance; +use crate::medias::Media; +use crate::mentions::Mention; +use crate::notifications::*; +use crate::posts::Post; +use crate::safe_string::SafeString; +use crate::schema::comments; +use crate::users::User; +use crate::{Connection, Error, PlumeRocket, Result}; use plume_common::activity_pub::{ inbox::{AsObject, FromId}, Id, IntoId, PUBLIC_VISIBILITY, }; use plume_common::utils; -use posts::Post; -use safe_string::SafeString; -use schema::comments; -use users::User; -use {Connection, Error, PlumeRocket, Result}; #[derive(Queryable, Identifiable, Clone, AsChangeset)] pub struct Comment { @@ -77,7 +77,7 @@ impl Comment { } pub fn count_local(conn: &Connection) -> Result { - use schema::users; + use crate::schema::users; let local_authors = users::table .filter(users::instance_id.eq(Instance::get_local(conn)?.id)) .select(users::id); diff --git a/plume-models/src/config.rs b/plume-models/src/config.rs index 493fdcd9..ffa3fe0c 100644 --- a/plume-models/src/config.rs +++ b/plume-models/src/config.rs @@ -1,5 +1,7 @@ +use lazy_static::lazy_static; use rocket::config::Limits; use rocket::Config as RocketConfig; +use serde::Serialize; use std::env::{self, var}; #[cfg(not(test))] diff --git a/plume-models/src/db_conn.rs b/plume-models/src/db_conn.rs index dbb7ade1..b40b13e4 100644 --- a/plume-models/src/db_conn.rs +++ b/plume-models/src/db_conn.rs @@ -10,7 +10,7 @@ use rocket::{ }; use std::ops::Deref; -use Connection; +use crate::Connection; pub type DbPool = Pool>; @@ -26,7 +26,7 @@ impl<'a, 'r> FromRequest<'a, 'r> for DbConn { type Error = (); fn from_request(request: &'a Request<'r>) -> request::Outcome { - let pool = request.guard::>()?; + let pool = request.guard::>()?; match pool.get() { Ok(conn) => Outcome::Success(DbConn(conn)), Err(_) => Outcome::Failure((Status::ServiceUnavailable, ())), diff --git a/plume-models/src/follows.rs b/plume-models/src/follows.rs index 47d1d1e7..d115a121 100644 --- a/plume-models/src/follows.rs +++ b/plume-models/src/follows.rs @@ -1,16 +1,16 @@ use activitypub::activity::{Accept, Follow as FollowAct, Undo}; use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl, SaveChangesDsl}; -use notifications::*; +use crate::notifications::*; +use crate::schema::follows; +use crate::users::User; +use crate::{ap_url, Connection, Error, PlumeRocket, Result, CONFIG}; use plume_common::activity_pub::{ broadcast, inbox::{AsActor, AsObject, FromId}, sign::Signer, Id, IntoId, PUBLIC_VISIBILITY, }; -use schema::follows; -use users::User; -use {ap_url, Connection, Error, PlumeRocket, Result, CONFIG}; #[derive(Clone, Queryable, Identifiable, Associations, AsChangeset)] #[belongs_to(User, foreign_key = "following_id")] @@ -213,9 +213,9 @@ impl IntoId for Follow { #[cfg(test)] mod tests { use super::*; + use crate::tests::db; + use crate::users::tests as user_tests; use diesel::Connection; - use tests::db; - use users::tests as user_tests; #[test] fn test_id() { diff --git a/plume-models/src/inbox.rs b/plume-models/src/inbox.rs index 56758ed0..6b79887f 100644 --- a/plume-models/src/inbox.rs +++ b/plume-models/src/inbox.rs @@ -71,6 +71,7 @@ pub(crate) mod tests { use crate::tests::rockets; use crate::PlumeRocket; use diesel::Connection; + use serde_json::json; pub fn fill_database( rockets: &PlumeRocket, diff --git a/plume-models/src/instance.rs b/plume-models/src/instance.rs index d7c527e5..59af44af 100644 --- a/plume-models/src/instance.rs +++ b/plume-models/src/instance.rs @@ -2,13 +2,13 @@ use chrono::NaiveDateTime; use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; use std::iter::Iterator; -use ap_url; -use medias::Media; +use crate::ap_url; +use crate::medias::Media; +use crate::safe_string::SafeString; +use crate::schema::{instances, users}; +use crate::users::User; +use crate::{Connection, Error, Result}; use plume_common::utils::md_to_html; -use safe_string::SafeString; -use schema::{instances, users}; -use users::User; -use {Connection, Error, Result}; #[derive(Clone, Identifiable, Queryable)] pub struct Instance { @@ -166,9 +166,9 @@ impl Instance { #[cfg(test)] pub(crate) mod tests { use super::*; + use crate::tests::db; + use crate::Connection as Conn; use diesel::Connection; - use tests::db; - use Connection as Conn; pub(crate) fn fill_database(conn: &Conn) -> Vec<(NewInstance, Instance)> { vec![ diff --git a/plume-models/src/lib.rs b/plume-models/src/lib.rs index fd46f619..890e046d 100644 --- a/plume-models/src/lib.rs +++ b/plume-models/src/lib.rs @@ -1,40 +1,7 @@ -#![feature(try_trait)] -#![feature(never_type)] -#![feature(custom_attribute)] -#![feature(proc_macro_hygiene)] +#![feature(never_type, proc_macro_hygiene, try_trait)] -extern crate activitypub; -extern crate ammonia; -extern crate askama_escape; -extern crate bcrypt; -extern crate chrono; #[macro_use] extern crate diesel; -extern crate guid_create; -extern crate heck; -extern crate itertools; -#[macro_use] -extern crate lazy_static; -extern crate migrations_internals; -extern crate openssl; -extern crate plume_api; -extern crate plume_common; -#[macro_use] -extern crate plume_macro; -extern crate reqwest; -extern crate rocket; -extern crate rocket_i18n; -extern crate scheduled_thread_pool; -extern crate serde; -#[macro_use] -extern crate serde_derive; -#[macro_use] -extern crate serde_json; -#[macro_use] -extern crate tantivy; -extern crate url; -extern crate webfinger; -extern crate whatlang; use plume_common::activity_pub::inbox::InboxError; @@ -289,7 +256,7 @@ macro_rules! last { } mod config; -pub use config::CONFIG; +pub use crate::config::CONFIG; pub fn ap_url(url: &str) -> String { format!("https://{}", url) @@ -298,18 +265,19 @@ pub fn ap_url(url: &str) -> String { #[cfg(test)] #[macro_use] mod tests { - use db_conn; + use crate::db_conn; + use crate::migrations::IMPORTED_MIGRATIONS; + use crate::search; + use crate::Connection as Conn; + use crate::CONFIG; use diesel::r2d2::ConnectionManager; #[cfg(feature = "sqlite")] use diesel::{dsl::sql_query, RunQueryDsl}; - use migrations::IMPORTED_MIGRATIONS; + use lazy_static::lazy_static; use plume_common::utils::random_hex; use scheduled_thread_pool::ScheduledThreadPool; - use search; use std::env::temp_dir; use std::sync::Arc; - use Connection as Conn; - use CONFIG; #[macro_export] macro_rules! part_eq { @@ -376,4 +344,4 @@ pub mod schema; pub mod search; pub mod tags; pub mod users; -pub use plume_rocket::PlumeRocket; +pub use crate::plume_rocket::PlumeRocket; diff --git a/plume-models/src/likes.rs b/plume-models/src/likes.rs index 18678cc0..3fc615ed 100644 --- a/plume-models/src/likes.rs +++ b/plume-models/src/likes.rs @@ -2,15 +2,15 @@ use activitypub::activity; use chrono::NaiveDateTime; use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; -use notifications::*; +use crate::notifications::*; +use crate::posts::Post; +use crate::schema::likes; +use crate::users::User; +use crate::{Connection, Error, PlumeRocket, Result}; use plume_common::activity_pub::{ inbox::{AsObject, FromId}, Id, IntoId, PUBLIC_VISIBILITY, }; -use posts::Post; -use schema::likes; -use users::User; -use {Connection, Error, PlumeRocket, Result}; #[derive(Clone, Queryable, Identifiable)] pub struct Like { diff --git a/plume-models/src/medias.rs b/plume-models/src/medias.rs index d8be73ab..5c67b205 100644 --- a/plume-models/src/medias.rs +++ b/plume-models/src/medias.rs @@ -10,11 +10,11 @@ use plume_common::{ utils::MediaProcessor, }; -use instance::Instance; -use safe_string::SafeString; -use schema::medias; -use users::User; -use {ap_url, Connection, Error, PlumeRocket, Result}; +use crate::instance::Instance; +use crate::safe_string::SafeString; +use crate::schema::medias; +use crate::users::User; +use crate::{ap_url, Connection, Error, PlumeRocket, Result}; #[derive(Clone, Identifiable, Queryable)] pub struct Media { @@ -248,13 +248,13 @@ impl Media { #[cfg(test)] pub(crate) mod tests { use super::*; + use crate::tests::db; + use crate::users::tests as usersTests; + use crate::Connection as Conn; use diesel::Connection; use std::env::{current_dir, set_current_dir}; use std::fs; use std::path::Path; - use tests::db; - use users::tests as usersTests; - use Connection as Conn; pub(crate) fn fill_database(conn: &Conn) -> (Vec, Vec) { let mut wd = current_dir().unwrap().to_path_buf(); diff --git a/plume-models/src/mentions.rs b/plume-models/src/mentions.rs index 520d8225..e4ff39e6 100644 --- a/plume-models/src/mentions.rs +++ b/plume-models/src/mentions.rs @@ -1,13 +1,13 @@ use activitypub::link; use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; -use comments::Comment; -use notifications::*; -use posts::Post; -use schema::mentions; -use users::User; -use PlumeRocket; -use {Connection, Error, Result}; +use crate::comments::Comment; +use crate::notifications::*; +use crate::posts::Post; +use crate::schema::mentions; +use crate::users::User; +use crate::PlumeRocket; +use crate::{Connection, Error, Result}; #[derive(Clone, Queryable, Identifiable)] pub struct Mention { diff --git a/plume-models/src/migrations.rs b/plume-models/src/migrations.rs index 1d5a47f5..359ca552 100644 --- a/plume-models/src/migrations.rs +++ b/plume-models/src/migrations.rs @@ -1,16 +1,17 @@ -use Connection; -use Error; -use Result; +use crate::Connection; +use crate::Error; +use crate::Result; use diesel::connection::{Connection as Conn, SimpleConnection}; use migrations_internals::{setup_database, MigrationConnection}; +use plume_macro::import_migrations; use std::path::Path; #[allow(dead_code)] //variants might not be constructed if not required by current migrations enum Action { Sql(&'static str), - Function(&'static Fn(&Connection, &Path) -> Result<()>), + Function(&'static dyn Fn(&Connection, &Path) -> Result<()>), } impl Action { diff --git a/plume-models/src/notifications.rs b/plume-models/src/notifications.rs index 3e10859d..eb7c24d6 100644 --- a/plume-models/src/notifications.rs +++ b/plume-models/src/notifications.rs @@ -1,15 +1,15 @@ use chrono::NaiveDateTime; use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; -use comments::Comment; -use follows::Follow; -use likes::Like; -use mentions::Mention; -use posts::Post; -use reshares::Reshare; -use schema::notifications; -use users::User; -use {Connection, Error, Result}; +use crate::comments::Comment; +use crate::follows::Follow; +use crate::likes::Like; +use crate::mentions::Mention; +use crate::posts::Post; +use crate::reshares::Reshare; +use crate::schema::notifications; +use crate::users::User; +use crate::{Connection, Error, Result}; pub mod notification_kind { pub const COMMENT: &str = "COMMENT"; diff --git a/plume-models/src/plume_rocket.rs b/plume-models/src/plume_rocket.rs index dbc10bcc..a443930a 100644 --- a/plume-models/src/plume_rocket.rs +++ b/plume-models/src/plume_rocket.rs @@ -29,9 +29,9 @@ mod module { let conn = request.guard::()?; let intl = request.guard::()?; let user = request.guard::().succeeded(); - let worker = request.guard::>>()?; - let searcher = request.guard::>>()?; - let flash_msg = request.guard::().succeeded(); + let worker = request.guard::>>()?; + let searcher = request.guard::>>()?; + let flash_msg = request.guard::>().succeeded(); Outcome::Success(PlumeRocket { conn, intl, @@ -70,8 +70,8 @@ mod module { fn from_request(request: &'a Request<'r>) -> request::Outcome { let conn = request.guard::()?; let user = request.guard::().succeeded(); - let worker = request.guard::>>()?; - let searcher = request.guard::>>()?; + let worker = request.guard::>>()?; + let searcher = request.guard::>>()?; Outcome::Success(PlumeRocket { conn, user, diff --git a/plume-models/src/post_authors.rs b/plume-models/src/post_authors.rs index b8db5549..7217390a 100644 --- a/plume-models/src/post_authors.rs +++ b/plume-models/src/post_authors.rs @@ -1,9 +1,9 @@ use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; -use posts::Post; -use schema::post_authors; -use users::User; -use {Error, Result}; +use crate::posts::Post; +use crate::schema::post_authors; +use crate::users::User; +use crate::{Error, Result}; #[derive(Clone, Queryable, Identifiable, Associations)] #[belongs_to(Post)] diff --git a/plume-models/src/posts.rs b/plume-models/src/posts.rs index 356f584d..7e2cb1c5 100644 --- a/plume-models/src/posts.rs +++ b/plume-models/src/posts.rs @@ -7,13 +7,20 @@ use activitypub::{ use chrono::{NaiveDateTime, TimeZone, Utc}; use diesel::{self, BelongingToDsl, ExpressionMethods, QueryDsl, RunQueryDsl, SaveChangesDsl}; use heck::{CamelCase, KebabCase}; -use serde_json; +use serde_json::json; use std::collections::HashSet; -use blogs::Blog; -use instance::Instance; -use medias::Media; -use mentions::Mention; +use crate::blogs::Blog; +use crate::instance::Instance; +use crate::medias::Media; +use crate::mentions::Mention; +use crate::post_authors::*; +use crate::safe_string::SafeString; +use crate::schema::posts; +use crate::search::Searcher; +use crate::tags::*; +use crate::users::User; +use crate::{ap_url, Connection, Error, PlumeRocket, Result, CONFIG}; use plume_common::{ activity_pub::{ inbox::{AsObject, FromId}, @@ -21,13 +28,6 @@ use plume_common::{ }, utils::md_to_html, }; -use post_authors::*; -use safe_string::SafeString; -use schema::posts; -use search::Searcher; -use tags::*; -use users::User; -use {ap_url, Connection, Error, PlumeRocket, Result, CONFIG}; pub type LicensedArticle = CustomObject; @@ -110,7 +110,7 @@ impl Post { tag: String, (min, max): (i32, i32), ) -> Result> { - use schema::tags; + use crate::schema::tags; let ids = tags::table.filter(tags::tag.eq(tag)).select(tags::post_id); posts::table @@ -124,7 +124,7 @@ impl Post { } pub fn count_for_tag(conn: &Connection, tag: String) -> Result { - use schema::tags; + use crate::schema::tags; let ids = tags::table.filter(tags::tag.eq(tag)).select(tags::post_id); posts::table .filter(posts::id.eq_any(ids)) @@ -138,8 +138,8 @@ impl Post { } pub fn count_local(conn: &Connection) -> Result { - use schema::post_authors; - use schema::users; + use crate::schema::post_authors; + use crate::schema::users; let local_authors = users::table .filter(users::instance_id.eq(Instance::get_local(conn)?.id)) .select(users::id); @@ -196,7 +196,7 @@ impl Post { author: &User, limit: i64, ) -> Result> { - use schema::post_authors; + use crate::schema::post_authors; let posts = PostAuthor::belonging_to(author).select(post_authors::post_id); posts::table @@ -263,7 +263,7 @@ impl Post { instance_id: i32, (min, max): (i32, i32), ) -> Result> { - use schema::blogs; + use crate::schema::blogs; let blog_ids = blogs::table .filter(blogs::instance_id.eq(instance_id)) @@ -285,7 +285,7 @@ impl Post { followed: Vec, (min, max): (i32, i32), ) -> Result> { - use schema::post_authors; + use crate::schema::post_authors; let post_ids = post_authors::table .filter(post_authors::author_id.eq_any(followed)) .select(post_authors::post_id); @@ -301,7 +301,7 @@ impl Post { } pub fn drafts_by_author(conn: &Connection, author: &User) -> Result> { - use schema::post_authors; + use crate::schema::post_authors; let posts = PostAuthor::belonging_to(author).select(post_authors::post_id); posts::table @@ -313,8 +313,8 @@ impl Post { } pub fn get_authors(&self, conn: &Connection) -> Result> { - use schema::post_authors; - use schema::users; + use crate::schema::post_authors; + use crate::schema::users; let author_list = PostAuthor::belonging_to(self).select(post_authors::author_id); users::table .filter(users::id.eq_any(author_list)) @@ -323,7 +323,7 @@ impl Post { } pub fn is_author(&self, conn: &Connection, author_id: i32) -> Result { - use schema::post_authors; + use crate::schema::post_authors; Ok(PostAuthor::belonging_to(self) .filter(post_authors::author_id.eq(author_id)) .count() @@ -332,7 +332,7 @@ impl Post { } pub fn get_blog(&self, conn: &Connection) -> Result { - use schema::blogs; + use crate::schema::blogs; blogs::table .filter(blogs::id.eq(self.blog_id)) .limit(1) @@ -343,7 +343,7 @@ impl Post { } pub fn count_likes(&self, conn: &Connection) -> Result { - use schema::likes; + use crate::schema::likes; likes::table .filter(likes::post_id.eq(self.id)) .count() @@ -352,7 +352,7 @@ impl Post { } pub fn count_reshares(&self, conn: &Connection) -> Result { - use schema::reshares; + use crate::schema::reshares; reshares::table .filter(reshares::post_id.eq(self.id)) .count() diff --git a/plume-models/src/reshares.rs b/plume-models/src/reshares.rs index bf8e5158..695c7e31 100644 --- a/plume-models/src/reshares.rs +++ b/plume-models/src/reshares.rs @@ -2,15 +2,15 @@ use activitypub::activity::{Announce, Undo}; use chrono::NaiveDateTime; use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; -use notifications::*; +use crate::notifications::*; +use crate::posts::Post; +use crate::schema::reshares; +use crate::users::User; +use crate::{Connection, Error, PlumeRocket, Result}; use plume_common::activity_pub::{ inbox::{AsObject, FromId}, Id, IntoId, PUBLIC_VISIBILITY, }; -use posts::Post; -use schema::reshares; -use users::User; -use {Connection, Error, PlumeRocket, Result}; #[derive(Clone, Queryable, Identifiable)] pub struct Reshare { diff --git a/plume-models/src/safe_string.rs b/plume-models/src/safe_string.rs index 7aca88d9..a281f372 100644 --- a/plume-models/src/safe_string.rs +++ b/plume-models/src/safe_string.rs @@ -6,6 +6,7 @@ use diesel::{ sql_types::Text, types::ToSql, }; +use lazy_static::lazy_static; use serde::{self, de::Visitor, Deserialize, Deserializer, Serialize, Serializer}; use std::{ borrow::{Borrow, Cow}, @@ -48,7 +49,7 @@ lazy_static! { }; } -fn url_add_prefix(url: &str) -> Option> { +fn url_add_prefix(url: &str) -> Option> { if url.starts_with('#') && !url.starts_with("#postcontent-") { //if start with an # let mut new_url = "#postcontent-".to_owned(); //change to valid id @@ -105,7 +106,7 @@ struct SafeStringVisitor; impl<'de> Visitor<'de> for SafeStringVisitor { type Value = SafeString; - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { formatter.write_str("a string") } @@ -147,7 +148,7 @@ where DB: diesel::backend::Backend, str: ToSql, { - fn to_sql(&self, out: &mut Output) -> serialize::Result { + fn to_sql(&self, out: &mut Output<'_, W, DB>) -> serialize::Result { str::to_sql(&self.value, out) } } @@ -159,7 +160,7 @@ impl Borrow for SafeString { } impl Display for SafeString { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "{}", self.value) } } diff --git a/plume-models/src/search/mod.rs b/plume-models/src/search/mod.rs index 02485534..d20ccaa6 100644 --- a/plume-models/src/search/mod.rs +++ b/plume-models/src/search/mod.rs @@ -11,12 +11,12 @@ pub(crate) mod tests { use std::env::temp_dir; use std::str::FromStr; - use blogs::tests::fill_database; + use crate::blogs::tests::fill_database; + use crate::post_authors::*; + use crate::posts::{NewPost, Post}; + use crate::safe_string::SafeString; + use crate::tests::db; use plume_common::utils::random_hex; - use post_authors::*; - use posts::{NewPost, Post}; - use safe_string::SafeString; - use tests::db; pub(crate) fn get_searcher() -> Searcher { let dir = temp_dir().join("plume-test"); diff --git a/plume-models/src/search/query.rs b/plume-models/src/search/query.rs index 9e1e997e..1e053d4a 100644 --- a/plume-models/src/search/query.rs +++ b/plume-models/src/search/query.rs @@ -1,5 +1,5 @@ +use crate::search::searcher::Searcher; use chrono::{naive::NaiveDate, offset::Utc, Datelike}; -use search::searcher::Searcher; use std::{cmp, ops::Bound}; use tantivy::{query::*, schema::*, Term}; @@ -153,7 +153,7 @@ impl PlumeQuery { /// Convert this Query to a Tantivy Query pub fn into_query(self) -> BooleanQuery { - let mut result: Vec<(Occur, Box)> = Vec::new(); + let mut result: Vec<(Occur, Box)> = Vec::new(); gen_to_query!(self, result; normal: title, subtitle, content, tag; oneoff: instance, author, blog, lang, license); @@ -279,7 +279,7 @@ impl PlumeQuery { } // map a token and it's field to a query - fn token_to_query(token: &str, field_name: &str) -> Box { + fn token_to_query(token: &str, field_name: &str) -> Box { let token = token.to_lowercase(); let token = token.as_str(); let field = Searcher::schema().get_field(field_name).unwrap(); diff --git a/plume-models/src/search/searcher.rs b/plume-models/src/search/searcher.rs index 87ee6d7c..24ebae1c 100644 --- a/plume-models/src/search/searcher.rs +++ b/plume-models/src/search/searcher.rs @@ -1,22 +1,22 @@ -use instance::Instance; -use posts::Post; -use schema::posts; -use tags::Tag; -use Connection; +use crate::instance::Instance; +use crate::posts::Post; +use crate::schema::posts; +use crate::tags::Tag; +use crate::Connection; use chrono::Datelike; use diesel::{ExpressionMethods, QueryDsl, RunQueryDsl}; use itertools::Itertools; use std::{cmp, fs::create_dir_all, path::Path, sync::Mutex}; use tantivy::{ - collector::TopDocs, directory::MmapDirectory, schema::*, tokenizer::*, Index, IndexReader, + collector::TopDocs, directory::MmapDirectory, doc, schema::*, tokenizer::*, Index, IndexReader, IndexWriter, ReloadPolicy, Term, }; use whatlang::{detect as detect_lang, Lang}; use super::tokenizer; -use search::query::PlumeQuery; -use Result; +use crate::search::query::PlumeQuery; +use crate::Result; #[derive(Debug)] pub enum SearcherError { @@ -72,7 +72,7 @@ impl Searcher { schema_builder.build() } - pub fn create(path: &AsRef) -> Result { + pub fn create(path: &dyn AsRef) -> Result { let whitespace_tokenizer = tokenizer::WhitespaceTokenizer.filter(LowerCaser); let content_tokenizer = SimpleTokenizer @@ -111,7 +111,7 @@ impl Searcher { }) } - pub fn open(path: &AsRef) -> Result { + pub fn open(path: &dyn AsRef) -> Result { let whitespace_tokenizer = tokenizer::WhitespaceTokenizer.filter(LowerCaser); let content_tokenizer = SimpleTokenizer diff --git a/plume-models/src/tags.rs b/plume-models/src/tags.rs index 5711853c..e59c2da8 100644 --- a/plume-models/src/tags.rs +++ b/plume-models/src/tags.rs @@ -1,9 +1,9 @@ use diesel::{self, ExpressionMethods, QueryDsl, RunQueryDsl}; -use instance::Instance; +use crate::instance::Instance; +use crate::schema::tags; +use crate::{ap_url, Connection, Error, Result}; use plume_common::activity_pub::Hashtag; -use schema::tags; -use {ap_url, Connection, Error, Result}; #[derive(Clone, Identifiable, Queryable)] pub struct Tag { diff --git a/plume-models/src/users.rs b/plume-models/src/users.rs index 75305de4..89f09267 100644 --- a/plume-models/src/users.rs +++ b/plume-models/src/users.rs @@ -37,17 +37,17 @@ use std::{ use url::Url; use webfinger::*; -use blogs::Blog; -use db_conn::DbConn; -use follows::Follow; -use instance::*; -use medias::Media; -use post_authors::PostAuthor; -use posts::Post; -use safe_string::SafeString; -use schema::users; -use search::Searcher; -use {ap_url, Connection, Error, PlumeRocket, Result}; +use crate::blogs::Blog; +use crate::db_conn::DbConn; +use crate::follows::Follow; +use crate::instance::*; +use crate::medias::Media; +use crate::post_authors::PostAuthor; +use crate::posts::Post; +use crate::safe_string::SafeString; +use crate::schema::users; +use crate::search::Searcher; +use crate::{ap_url, Connection, Error, PlumeRocket, Result}; pub type CustomPerson = CustomObject; @@ -146,7 +146,7 @@ impl User { } pub fn delete(&self, conn: &Connection, searcher: &Searcher) -> Result<()> { - use schema::post_authors; + use crate::schema::post_authors; for blog in Blog::find_for_author(conn, self)? .iter() @@ -421,8 +421,8 @@ impl User { } fn get_activities(&self, conn: &Connection) -> Result> { - use schema::post_authors; - use schema::posts; + use crate::schema::post_authors; + use crate::schema::posts; let posts_by_self = PostAuthor::belonging_to(self).select(post_authors::post_id); let posts = posts::table .filter(posts::published.eq(true)) @@ -439,7 +439,7 @@ impl User { } pub fn get_followers(&self, conn: &Connection) -> Result> { - use schema::follows; + use crate::schema::follows; let follows = Follow::belonging_to(self).select(follows::follower_id); users::table .filter(users::id.eq_any(follows)) @@ -448,7 +448,7 @@ impl User { } pub fn count_followers(&self, conn: &Connection) -> Result { - use schema::follows; + use crate::schema::follows; let follows = Follow::belonging_to(self).select(follows::follower_id); users::table .filter(users::id.eq_any(follows)) @@ -462,7 +462,7 @@ impl User { conn: &Connection, (min, max): (i32, i32), ) -> Result> { - use schema::follows; + use crate::schema::follows; let follows = Follow::belonging_to(self).select(follows::follower_id); users::table .filter(users::id.eq_any(follows)) @@ -473,7 +473,7 @@ impl User { } pub fn get_followed(&self, conn: &Connection) -> Result> { - use schema::follows::dsl::*; + use crate::schema::follows::dsl::*; let f = follows.filter(follower_id.eq(self.id)).select(following_id); users::table .filter(users::id.eq_any(f)) @@ -482,7 +482,7 @@ impl User { } pub fn count_followed(&self, conn: &Connection) -> Result { - use schema::follows; + use crate::schema::follows; follows::table .filter(follows::follower_id.eq(self.id)) .count() @@ -495,7 +495,7 @@ impl User { conn: &Connection, (min, max): (i32, i32), ) -> Result> { - use schema::follows; + use crate::schema::follows; let follows = follows::table .filter(follows::follower_id.eq(self.id)) .select(follows::following_id) @@ -508,7 +508,7 @@ impl User { } pub fn is_followed_by(&self, conn: &Connection, other_id: i32) -> Result { - use schema::follows; + use crate::schema::follows; follows::table .filter(follows::follower_id.eq(other_id)) .filter(follows::following_id.eq(self.id)) @@ -519,7 +519,7 @@ impl User { } pub fn is_following(&self, conn: &Connection, other_id: i32) -> Result { - use schema::follows; + use crate::schema::follows; follows::table .filter(follows::follower_id.eq(self.id)) .filter(follows::following_id.eq(other_id)) @@ -530,7 +530,7 @@ impl User { } pub fn has_liked(&self, conn: &Connection, post: &Post) -> Result { - use schema::likes; + use crate::schema::likes; likes::table .filter(likes::post_id.eq(post.id)) .filter(likes::user_id.eq(self.id)) @@ -541,7 +541,7 @@ impl User { } pub fn has_reshared(&self, conn: &Connection, post: &Post) -> Result { - use schema::reshares; + use crate::schema::reshares; reshares::table .filter(reshares::post_id.eq(post.id)) .filter(reshares::user_id.eq(self.id)) @@ -552,7 +552,7 @@ impl User { } pub fn is_author_in(&self, conn: &Connection, blog: &Blog) -> Result { - use schema::blog_authors; + use crate::schema::blog_authors; blog_authors::table .filter(blog_authors::author_id.eq(self.id)) .filter(blog_authors::blog_id.eq(blog.id)) @@ -947,11 +947,11 @@ impl NewUser { #[cfg(test)] pub(crate) mod tests { use super::*; + use crate::instance::{tests as instance_tests, Instance}; + use crate::search::tests::get_searcher; + use crate::tests::{db, rockets}; + use crate::Connection as Conn; use diesel::Connection; - use instance::{tests as instance_tests, Instance}; - use search::tests::get_searcher; - use tests::{db, rockets}; - use Connection as Conn; pub(crate) fn fill_database(conn: &Conn) -> Vec { instance_tests::fill_database(conn); diff --git a/plume-models/tests/lib.rs b/plume-models/tests/lib.rs index 467be39a..3b563b03 100644 --- a/plume-models/tests/lib.rs +++ b/plume-models/tests/lib.rs @@ -1,7 +1,3 @@ -extern crate diesel; -extern crate plume_common; -extern crate plume_models; - use diesel::Connection; use plume_common::utils::random_hex; use plume_models::migrations::IMPORTED_MIGRATIONS; diff --git a/src/api/mod.rs b/src/api/mod.rs index c320e081..9a438b87 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -4,7 +4,7 @@ use rocket::{ response::{self, Responder}, }; use rocket_contrib::json::Json; -use serde_json; +use serde_json::json; use plume_common::utils::random_hex; use plume_models::{api_tokens::*, apps::App, users::User, Error, PlumeRocket}; @@ -27,7 +27,7 @@ impl From for ApiError { } impl<'r> Responder<'r> for ApiError { - fn respond_to(self, req: &Request) -> response::Result<'r> { + fn respond_to(self, req: &Request<'_>) -> response::Result<'r> { match self.0 { Error::NotFound => Json(json!({ "error": "Not found" diff --git a/src/inbox.rs b/src/inbox.rs index 451b1db4..71270f53 100644 --- a/src/inbox.rs +++ b/src/inbox.rs @@ -14,7 +14,7 @@ use std::io::Read; pub fn handle_incoming( rockets: PlumeRocket, data: SignedJson, - headers: Headers, + headers: Headers<'_>, ) -> Result> { let conn = &*rockets.conn; let act = data.1.into_inner(); @@ -74,7 +74,7 @@ impl<'a, T: Deserialize<'a>> FromData<'a> for SignedJson { type Borrowed = str; fn transform( - r: &Request, + r: &Request<'_>, d: Data, ) -> Transform> { let size_limit = r.limits().get("json").unwrap_or(JSON_LIMIT); @@ -86,7 +86,7 @@ impl<'a, T: Deserialize<'a>> FromData<'a> for SignedJson { } fn from_data( - _: &Request, + _: &Request<'_>, o: Transformed<'a, Self>, ) -> rocket::data::Outcome { let string = o.borrowed()?; diff --git a/src/main.rs b/src/main.rs index f3cd6550..05520851 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,42 +1,12 @@ #![allow(clippy::too_many_arguments)] #![feature(decl_macro, proc_macro_hygiene, try_trait)] -extern crate activitypub; -extern crate askama_escape; -extern crate atom_syndication; -extern crate chrono; -extern crate colored; -extern crate ctrlc; -extern crate diesel; -extern crate dotenv; #[macro_use] extern crate gettext_macros; -extern crate gettext_utils; -extern crate guid_create; -extern crate heck; -extern crate lettre; -extern crate lettre_email; -extern crate multipart; -extern crate num_cpus; -extern crate plume_api; -extern crate plume_common; -extern crate plume_models; #[macro_use] extern crate rocket; -extern crate rocket_contrib; -extern crate rocket_csrf; -extern crate rocket_i18n; -#[macro_use] -extern crate runtime_fmt; -extern crate scheduled_thread_pool; -extern crate serde; -#[macro_use] -extern crate serde_json; -extern crate serde_qs; -extern crate validator; #[macro_use] extern crate validator_derive; -extern crate webfinger; use diesel::r2d2::ConnectionManager; use plume_models::{ diff --git a/src/routes/blogs.rs b/src/routes/blogs.rs index ae935dc7..25490d65 100644 --- a/src/routes/blogs.rs +++ b/src/routes/blogs.rs @@ -10,14 +10,14 @@ use rocket_i18n::I18n; use std::{borrow::Cow, collections::HashMap}; use validator::{Validate, ValidationError, ValidationErrors}; +use crate::routes::{errors::ErrorPage, Page}; +use crate::template_utils::{IntoContext, Ructe}; use plume_common::activity_pub::{ActivityStream, ApRequest}; use plume_common::utils; use plume_models::{ blog_authors::*, blogs::*, instance::Instance, medias::*, posts::Post, safe_string::SafeString, users::User, Connection, PlumeRocket, }; -use routes::{errors::ErrorPage, Page}; -use template_utils::{IntoContext, Ructe}; #[get("/~/?", rank = 2)] pub fn details(name: String, page: Option, rockets: PlumeRocket) -> Result { diff --git a/src/routes/comments.rs b/src/routes/comments.rs index a99ac189..4aa8c1f7 100644 --- a/src/routes/comments.rs +++ b/src/routes/comments.rs @@ -1,13 +1,15 @@ +use crate::template_utils::Ructe; use activitypub::object::Note; use rocket::{ request::LenientForm, response::{Flash, Redirect}, }; -use template_utils::Ructe; use validator::Validate; use std::time::Duration; +use crate::routes::errors::ErrorPage; +use crate::template_utils::IntoContext; use plume_common::{ activity_pub::{broadcast, ActivityStream, ApRequest}, utils, @@ -16,8 +18,6 @@ use plume_models::{ blogs::Blog, comments::*, inbox::inbox, instance::Instance, medias::Media, mentions::Mention, posts::Post, safe_string::SafeString, tags::Tag, users::User, Error, PlumeRocket, }; -use routes::errors::ErrorPage; -use template_utils::IntoContext; #[derive(Default, FromForm, Debug, Validate)] pub struct NewCommentForm { diff --git a/src/routes/errors.rs b/src/routes/errors.rs index 1320a068..53baeef0 100644 --- a/src/routes/errors.rs +++ b/src/routes/errors.rs @@ -1,9 +1,9 @@ +use crate::template_utils::{IntoContext, Ructe}; use plume_models::{Error, PlumeRocket}; use rocket::{ response::{self, Responder}, Request, }; -use template_utils::{IntoContext, Ructe}; #[derive(Debug)] pub struct ErrorPage(Error); @@ -15,7 +15,7 @@ impl From for ErrorPage { } impl<'r> Responder<'r> for ErrorPage { - fn respond_to(self, req: &Request) -> response::Result<'r> { + fn respond_to(self, req: &Request<'_>) -> response::Result<'r> { let rockets = req.guard::().unwrap(); match self.0 { @@ -29,19 +29,19 @@ impl<'r> Responder<'r> for ErrorPage { } #[catch(404)] -pub fn not_found(req: &Request) -> Ructe { +pub fn not_found(req: &Request<'_>) -> Ructe { let rockets = req.guard::().unwrap(); render!(errors::not_found(&rockets.to_context())) } #[catch(422)] -pub fn unprocessable_entity(req: &Request) -> Ructe { +pub fn unprocessable_entity(req: &Request<'_>) -> Ructe { let rockets = req.guard::().unwrap(); render!(errors::unprocessable_entity(&rockets.to_context())) } #[catch(500)] -pub fn server_error(req: &Request) -> Ructe { +pub fn server_error(req: &Request<'_>) -> Ructe { let rockets = req.guard::().unwrap(); render!(errors::server_error(&rockets.to_context())) } diff --git a/src/routes/instance.rs b/src/routes/instance.rs index 26b057c0..7095b3cf 100644 --- a/src/routes/instance.rs +++ b/src/routes/instance.rs @@ -4,17 +4,17 @@ use rocket::{ }; use rocket_contrib::json::Json; use rocket_i18n::I18n; -use serde_json; +use serde_json::json; use validator::{Validate, ValidationErrors}; -use inbox; +use crate::inbox; +use crate::routes::{errors::ErrorPage, rocket_uri_macro_static_files, Page}; +use crate::template_utils::{IntoContext, Ructe}; use plume_common::activity_pub::{broadcast, inbox::FromId}; use plume_models::{ admin::Admin, comments::Comment, db_conn::DbConn, headers::Headers, instance::*, posts::Post, safe_string::SafeString, users::User, Error, PlumeRocket, CONFIG, }; -use routes::{errors::ErrorPage, rocket_uri_macro_static_files, Page}; -use template_utils::{IntoContext, Ructe}; #[get("/")] pub fn index(rockets: PlumeRocket) -> Result { @@ -226,7 +226,7 @@ pub fn ban(_admin: Admin, id: i32, rockets: PlumeRocket) -> Result, - headers: Headers, + headers: Headers<'_>, ) -> Result> { inbox::handle_incoming(rockets, data, headers) } diff --git a/src/routes/likes.rs b/src/routes/likes.rs index bf1b7747..0ef8ead3 100644 --- a/src/routes/likes.rs +++ b/src/routes/likes.rs @@ -1,12 +1,12 @@ use rocket::response::{Flash, Redirect}; use rocket_i18n::I18n; +use crate::routes::errors::ErrorPage; use plume_common::activity_pub::broadcast; use plume_common::utils; use plume_models::{ blogs::Blog, inbox::inbox, likes, posts::Post, users::User, Error, PlumeRocket, }; -use routes::errors::ErrorPage; #[post("/~///like")] pub fn create( diff --git a/src/routes/medias.rs b/src/routes/medias.rs index e93ffc02..a764ff3c 100644 --- a/src/routes/medias.rs +++ b/src/routes/medias.rs @@ -1,3 +1,5 @@ +use crate::routes::{errors::ErrorPage, Page}; +use crate::template_utils::{IntoContext, Ructe}; use guid_create::GUID; use multipart::server::{ save::{SaveResult, SavedData}, @@ -10,9 +12,7 @@ use rocket::{ Data, }; use rocket_i18n::I18n; -use routes::{errors::ErrorPage, Page}; use std::fs; -use template_utils::{IntoContext, Ructe}; #[get("/medias?")] pub fn list(user: User, page: Option, rockets: PlumeRocket) -> Result { diff --git a/src/routes/notifications.rs b/src/routes/notifications.rs index 41ba5918..cec540d7 100644 --- a/src/routes/notifications.rs +++ b/src/routes/notifications.rs @@ -1,10 +1,10 @@ use rocket::response::{Flash, Redirect}; use rocket_i18n::I18n; +use crate::routes::{errors::ErrorPage, Page}; +use crate::template_utils::{IntoContext, Ructe}; use plume_common::utils; use plume_models::{notifications::Notification, users::User, PlumeRocket}; -use routes::{errors::ErrorPage, Page}; -use template_utils::{IntoContext, Ructe}; #[get("/notifications?")] pub fn notifications( diff --git a/src/routes/posts.rs b/src/routes/posts.rs index 47f55553..5d3b09ed 100644 --- a/src/routes/posts.rs +++ b/src/routes/posts.rs @@ -3,6 +3,7 @@ use heck::{CamelCase, KebabCase}; use rocket::request::LenientForm; use rocket::response::{Flash, Redirect}; use rocket_i18n::I18n; +use runtime_fmt::{rt_format, rt_format_args}; use std::{ borrow::Cow, collections::{HashMap, HashSet}, @@ -10,6 +11,8 @@ use std::{ }; use validator::{Validate, ValidationError, ValidationErrors}; +use crate::routes::{comments::NewCommentForm, errors::ErrorPage, ContentLen, RemoteForm}; +use crate::template_utils::{IntoContext, Ructe}; use plume_common::activity_pub::{broadcast, ActivityStream, ApRequest}; use plume_common::utils; use plume_models::{ @@ -26,8 +29,6 @@ use plume_models::{ users::User, Error, PlumeRocket, }; -use routes::{comments::NewCommentForm, errors::ErrorPage, ContentLen, RemoteForm}; -use template_utils::{IntoContext, Ructe}; #[get("/~//?", rank = 4)] pub fn details( diff --git a/src/routes/reshares.rs b/src/routes/reshares.rs index fc45227b..d1be4a6a 100644 --- a/src/routes/reshares.rs +++ b/src/routes/reshares.rs @@ -1,12 +1,12 @@ use rocket::response::{Flash, Redirect}; use rocket_i18n::I18n; +use crate::routes::errors::ErrorPage; use plume_common::activity_pub::broadcast; use plume_common::utils; use plume_models::{ blogs::Blog, inbox::inbox, posts::Post, reshares::*, users::User, Error, PlumeRocket, }; -use routes::errors::ErrorPage; #[post("/~///reshare")] pub fn create( diff --git a/src/routes/search.rs b/src/routes/search.rs index b605d103..0341bf8f 100644 --- a/src/routes/search.rs +++ b/src/routes/search.rs @@ -1,10 +1,10 @@ use chrono::offset::Utc; use rocket::request::Form; +use crate::routes::Page; +use crate::template_utils::{IntoContext, Ructe}; use plume_models::{search::Query, PlumeRocket}; -use routes::Page; use std::str::FromStr; -use template_utils::{IntoContext, Ructe}; #[derive(Default, FromForm)] pub struct SearchQuery { diff --git a/src/routes/session.rs b/src/routes/session.rs index 5a299f3e..6804d0c8 100644 --- a/src/routes/session.rs +++ b/src/routes/session.rs @@ -14,13 +14,13 @@ use std::{ }; use validator::{Validate, ValidationError, ValidationErrors}; -use mail::{build_mail, Mailer}; +use crate::mail::{build_mail, Mailer}; +use crate::routes::errors::ErrorPage; +use crate::template_utils::{IntoContext, Ructe}; use plume_models::{ users::{User, AUTH_COOKIE}, Error, PlumeRocket, CONFIG, }; -use routes::errors::ErrorPage; -use template_utils::{IntoContext, Ructe}; #[get("/login?")] pub fn new(m: Option, rockets: PlumeRocket) -> Ructe { @@ -43,7 +43,7 @@ pub struct LoginForm { #[post("/login", data = "
")] pub fn create( form: LenientForm, - mut cookies: Cookies, + mut cookies: Cookies<'_>, rockets: PlumeRocket, ) -> Result, Ructe> { let conn = &*rockets.conn; @@ -122,7 +122,7 @@ pub fn create( } #[get("/logout")] -pub fn delete(mut cookies: Cookies, intl: I18n) -> Flash { +pub fn delete(mut cookies: Cookies<'_>, intl: I18n) -> Flash { if let Some(cookie) = cookies.get_private(AUTH_COOKIE) { cookies.remove_private(cookie); } @@ -162,9 +162,9 @@ pub struct ResetForm { #[post("/password-reset", data = "")] pub fn password_reset_request( - mail: State>>, + mail: State<'_, Arc>>, form: Form, - requests: State>>>, + requests: State<'_, Arc>>>, rockets: PlumeRocket, ) -> Ructe { let mut requests = requests.lock().unwrap(); @@ -201,7 +201,7 @@ pub fn password_reset_request( #[get("/password-reset/")] pub fn password_reset_form( token: String, - requests: State>>>, + requests: State<'_, Arc>>>, rockets: PlumeRocket, ) -> Result { requests @@ -239,7 +239,7 @@ fn passwords_match(form: &NewPasswordForm) -> Result<(), ValidationError> { #[post("/password-reset/", data = "")] pub fn password_reset( token: String, - requests: State>>>, + requests: State<'_, Arc>>>, form: Form, rockets: PlumeRocket, ) -> Result, Ructe> { diff --git a/src/routes/tags.rs b/src/routes/tags.rs index 95d637a2..56dabd1d 100644 --- a/src/routes/tags.rs +++ b/src/routes/tags.rs @@ -1,6 +1,6 @@ +use crate::routes::{errors::ErrorPage, Page}; +use crate::template_utils::{IntoContext, Ructe}; use plume_models::{posts::Post, PlumeRocket}; -use routes::{errors::ErrorPage, Page}; -use template_utils::{IntoContext, Ructe}; #[get("/tag/?")] pub fn tag(name: String, page: Option, rockets: PlumeRocket) -> Result { diff --git a/src/routes/user.rs b/src/routes/user.rs index c45f2c3b..1a49a718 100644 --- a/src/routes/user.rs +++ b/src/routes/user.rs @@ -6,11 +6,13 @@ use rocket::{ response::{status, Content, Flash, Redirect}, }; use rocket_i18n::I18n; -use serde_json; +use runtime_fmt::{rt_format, rt_format_args}; use std::{borrow::Cow, collections::HashMap}; use validator::{Validate, ValidationError, ValidationErrors}; -use inbox; +use crate::inbox; +use crate::routes::{errors::ErrorPage, Page, RemoteForm}; +use crate::template_utils::{IntoContext, Ructe}; use plume_common::activity_pub::{broadcast, inbox::FromId, ActivityStream, ApRequest, Id}; use plume_common::utils; use plume_models::{ @@ -25,8 +27,6 @@ use plume_models::{ users::*, Error, PlumeRocket, }; -use routes::{errors::ErrorPage, Page, RemoteForm}; -use template_utils::{IntoContext, Ructe}; #[get("/me")] pub fn me(user: Option) -> Result> { @@ -404,7 +404,7 @@ pub fn update( pub fn delete( name: String, user: User, - mut cookies: Cookies, + mut cookies: Cookies<'_>, rockets: PlumeRocket, ) -> Result, ErrorPage> { let account = User::find_by_fqn(&rockets, &name)?; @@ -552,7 +552,7 @@ pub fn outbox(name: String, rockets: PlumeRocket) -> Option, - headers: Headers, + headers: Headers<'_>, rockets: PlumeRocket, ) -> Result> { User::find_by_fqn(&rockets, &name).map_err(|_| status::BadRequest(Some("User not found")))?; diff --git a/src/routes/well_known.rs b/src/routes/well_known.rs index 56fffa99..e10a3e10 100644 --- a/src/routes/well_known.rs +++ b/src/routes/well_known.rs @@ -1,6 +1,6 @@ use rocket::http::ContentType; use rocket::response::Content; -use serde_json; +use serde_json::json; use webfinger::*; use plume_models::{ap_url, blogs::Blog, users::User, PlumeRocket, CONFIG}; diff --git a/src/template_utils.rs b/src/template_utils.rs index c3b214e6..fe9ff4ce 100644 --- a/src/template_utils.rs +++ b/src/template_utils.rs @@ -1,5 +1,6 @@ use plume_models::{notifications::*, users::User, Connection, PlumeRocket}; +use crate::templates::Html; use rocket::http::hyper::header::{ETag, EntityTag}; use rocket::http::{Method, Status}; use rocket::request::Request; @@ -7,7 +8,6 @@ use rocket::response::{self, content::Html as HtmlCt, Responder, Response}; use rocket_i18n::Catalog; use std::collections::hash_map::DefaultHasher; use std::hash::Hasher; -use templates::Html; pub use askama_escape::escape; @@ -53,7 +53,7 @@ impl IntoContext for PlumeRocket { pub struct Ructe(pub Vec); impl<'r> Responder<'r> for Ructe { - fn respond_to(self, r: &Request) -> response::Result<'r> { + fn respond_to(self, r: &Request<'_>) -> response::Result<'r> { //if method is not Get or page contain a form, no caching if r.method() != Method::Get || self.0.windows(6).any(|w| w == b" Responder<'r> for Ructe { macro_rules! render { ($group:tt :: $page:tt ( $( $param:expr ),* ) ) => { { - use templates; + use crate::templates; let mut res = vec![]; templates::$group::$page( @@ -96,7 +96,7 @@ macro_rules! render { } } -pub fn translate_notification(ctx: BaseContext, notif: Notification) -> String { +pub fn translate_notification(ctx: BaseContext<'_>, notif: Notification) -> String { let name = notif.get_actor(ctx.0).unwrap().name(); match notif.kind.as_ref() { notification_kind::COMMENT => i18n!(ctx.1, "{0} commented on your article."; &name), diff --git a/templates/base.rs.html b/templates/base.rs.html index 9fe94886..94a5a32b 100644 --- a/templates/base.rs.html +++ b/templates/base.rs.html @@ -1,6 +1,6 @@ @use plume_models::CONFIG; -@use template_utils::*; -@use routes::*; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, title: String, head: Content, header: Content, content: Content) diff --git a/templates/blogs/details.rs.html b/templates/blogs/details.rs.html index a5babe0d..11cb8847 100644 --- a/templates/blogs/details.rs.html +++ b/templates/blogs/details.rs.html @@ -2,9 +2,9 @@ @use plume_models::instance::Instance; @use plume_models::posts::Post; @use plume_models::users::User; -@use templates::{base, partials::post_card}; -@use template_utils::*; -@use routes::*; +@use crate::templates::{base, partials::post_card}; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, blog: Blog, authors: &[User], page: i32, n_pages: i32, posts: Vec) diff --git a/templates/blogs/edit.rs.html b/templates/blogs/edit.rs.html index 585c66b0..499a2cdb 100644 --- a/templates/blogs/edit.rs.html +++ b/templates/blogs/edit.rs.html @@ -1,12 +1,12 @@ @use validator::ValidationErrors; @use plume_models::blogs::Blog; @use plume_models::medias::Media; -@use routes::blogs; -@use routes::blogs::EditForm; -@use routes::medias; -@use template_utils::*; -@use templates::base; -@use templates::partials::image_select; +@use crate::routes::blogs; +@use crate::routes::blogs::EditForm; +@use crate::routes::medias; +@use crate::template_utils::*; +@use crate::templates::base; +@use crate::templates::partials::image_select; @(ctx: BaseContext, blog: &Blog, medias: Vec, form: &EditForm, errors: ValidationErrors) @@ -15,7 +15,7 @@ }, {

@i18n!(ctx.1, "Edit \"{}\""; &blog.title)

- + @input!(ctx.1, title (text), "Title", form, errors.clone(), "minlenght=\"1\"") @@ -24,7 +24,7 @@

- @i18n!(ctx.1, "You can upload images to your gallery, to use them as blog icons, or banners.") + @i18n!(ctx.1, "You can upload images to your gallery, to use crate::them as blog icons, or banners.") @i18n!(ctx.1, "Upload images")

diff --git a/templates/blogs/new.rs.html b/templates/blogs/new.rs.html index b2612f97..87a96049 100644 --- a/templates/blogs/new.rs.html +++ b/templates/blogs/new.rs.html @@ -1,8 +1,8 @@ @use validator::ValidationErrors; -@use templates::base; -@use template_utils::*; -@use routes::blogs::NewBlogForm; -@use routes::*; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::blogs::NewBlogForm; +@use crate::routes::*; @(ctx: BaseContext, form: &NewBlogForm, errors: ValidationErrors) diff --git a/templates/errors/base.rs.html b/templates/errors/base.rs.html index 33abe8c3..247a6000 100644 --- a/templates/errors/base.rs.html +++ b/templates/errors/base.rs.html @@ -1,5 +1,5 @@ -@use templates::base as base_template; -@use template_utils::*; +@use crate::templates::base as base_template; +@use crate::template_utils::*; @(ctx: BaseContext, error_message: String, error: Content) diff --git a/templates/errors/csrf.rs.html b/templates/errors/csrf.rs.html index 144cf14a..a66a1e95 100644 --- a/templates/errors/csrf.rs.html +++ b/templates/errors/csrf.rs.html @@ -1,5 +1,5 @@ -@use templates::errors::base; -@use template_utils::*; +@use crate::templates::errors::base; +@use crate::template_utils::*; @(ctx: BaseContext) diff --git a/templates/errors/not_authorized.rs.html b/templates/errors/not_authorized.rs.html index 84967340..2efd2993 100644 --- a/templates/errors/not_authorized.rs.html +++ b/templates/errors/not_authorized.rs.html @@ -1,5 +1,5 @@ -@use templates::errors::base; -@use template_utils::*; +@use crate::templates::errors::base; +@use crate::template_utils::*; @(ctx: BaseContext, error_message: String) diff --git a/templates/errors/not_found.rs.html b/templates/errors/not_found.rs.html index bdeba65b..99447404 100644 --- a/templates/errors/not_found.rs.html +++ b/templates/errors/not_found.rs.html @@ -1,5 +1,5 @@ -@use templates::errors::base; -@use template_utils::*; +@use crate::templates::errors::base; +@use crate::template_utils::*; @(ctx: BaseContext) diff --git a/templates/errors/server_error.rs.html b/templates/errors/server_error.rs.html index cace0ae8..5e5ce46d 100644 --- a/templates/errors/server_error.rs.html +++ b/templates/errors/server_error.rs.html @@ -1,5 +1,5 @@ -@use templates::errors::base; -@use template_utils::*; +@use crate::templates::errors::base; +@use crate::template_utils::*; @(ctx: BaseContext) diff --git a/templates/errors/unprocessable_entity.rs.html b/templates/errors/unprocessable_entity.rs.html index 647c0505..e3a5b4ba 100644 --- a/templates/errors/unprocessable_entity.rs.html +++ b/templates/errors/unprocessable_entity.rs.html @@ -1,5 +1,5 @@ -@use templates::errors::base; -@use template_utils::*; +@use crate::templates::errors::base; +@use crate::template_utils::*; @(ctx: BaseContext) diff --git a/templates/instance/about.rs.html b/templates/instance/about.rs.html index 8009e423..12a8db99 100644 --- a/templates/instance/about.rs.html +++ b/templates/instance/about.rs.html @@ -1,7 +1,7 @@ @use plume_models::{instance::Instance, users::User}; -@use templates::base; -@use template_utils::*; -@use routes::*; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, instance: Instance, admin: User, n_users: i64, n_articles: i64, n_instances: i64) diff --git a/templates/instance/admin.rs.html b/templates/instance/admin.rs.html index fcf6f6eb..a11d27d4 100644 --- a/templates/instance/admin.rs.html +++ b/templates/instance/admin.rs.html @@ -1,9 +1,9 @@ @use plume_models::instance::Instance; @use validator::ValidationErrors; -@use templates::base; -@use template_utils::*; -@use routes::instance::InstanceSettingsForm; -@use routes::*; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::instance::InstanceSettingsForm; +@use crate::routes::*; @(ctx: BaseContext, instance: Instance, form: InstanceSettingsForm, errors: ValidationErrors) diff --git a/templates/instance/federated.rs.html b/templates/instance/federated.rs.html index 5bc5c5e5..7a54bd7e 100644 --- a/templates/instance/federated.rs.html +++ b/templates/instance/federated.rs.html @@ -1,7 +1,7 @@ @use plume_models::posts::Post; -@use templates::{base, partials::post_card}; -@use template_utils::*; -@use routes::*; +@use crate::templates::{base, partials::post_card}; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, articles: Vec, page: i32, n_pages: i32) diff --git a/templates/instance/feed.rs.html b/templates/instance/feed.rs.html index bdeea7d6..1fdd35d3 100644 --- a/templates/instance/feed.rs.html +++ b/templates/instance/feed.rs.html @@ -1,7 +1,7 @@ @use plume_models::posts::Post; -@use templates::{base, partials::post_card}; -@use template_utils::*; -@use routes::*; +@use crate::templates::{base, partials::post_card}; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, articles: Vec, page: i32, n_pages: i32) diff --git a/templates/instance/index.rs.html b/templates/instance/index.rs.html index 52fe4eb8..d3f05e03 100644 --- a/templates/instance/index.rs.html +++ b/templates/instance/index.rs.html @@ -1,8 +1,8 @@ -@use templates::{base, partials::*}; -@use template_utils::*; +@use crate::templates::{base, partials::*}; +@use crate::template_utils::*; @use plume_models::instance::Instance; @use plume_models::posts::Post; -@use routes::*; +@use crate::routes::*; @(ctx: BaseContext, instance: Instance, n_users: i64, n_articles: i64, local: Vec, federated: Vec, user_feed: Option>) diff --git a/templates/instance/list.rs.html b/templates/instance/list.rs.html index 6e05b53d..7f08fe50 100644 --- a/templates/instance/list.rs.html +++ b/templates/instance/list.rs.html @@ -1,7 +1,7 @@ @use plume_models::instance::Instance; -@use templates::base; -@use template_utils::*; -@use routes::*; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, instance: Instance, instances: Vec, page: i32, n_pages: i32) diff --git a/templates/instance/local.rs.html b/templates/instance/local.rs.html index 1adea965..cd8b3335 100644 --- a/templates/instance/local.rs.html +++ b/templates/instance/local.rs.html @@ -1,8 +1,8 @@ @use plume_models::posts::Post; @use plume_models::instance::Instance; -@use templates::{base, partials::post_card}; -@use template_utils::*; -@use routes::*; +@use crate::templates::{base, partials::post_card}; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, instance: Instance, articles: Vec, page: i32, n_pages: i32) diff --git a/templates/instance/users.rs.html b/templates/instance/users.rs.html index 6f3208aa..6cab5683 100644 --- a/templates/instance/users.rs.html +++ b/templates/instance/users.rs.html @@ -1,7 +1,7 @@ @use plume_models::users::User; -@use templates::base; -@use template_utils::*; -@use routes::*; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, users: Vec, page: i32, n_pages: i32) diff --git a/templates/medias/details.rs.html b/templates/medias/details.rs.html index a5419938..4a49591b 100644 --- a/templates/medias/details.rs.html +++ b/templates/medias/details.rs.html @@ -1,8 +1,8 @@ @use plume_models::medias::{Media, MediaCategory}; @use plume_models::safe_string::SafeString; -@use templates::base; -@use template_utils::*; -@use routes::*; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, media: Media) diff --git a/templates/medias/index.rs.html b/templates/medias/index.rs.html index a2927ad8..4bee5c6b 100644 --- a/templates/medias/index.rs.html +++ b/templates/medias/index.rs.html @@ -1,7 +1,7 @@ @use plume_models::medias::*; -@use templates::base; -@use template_utils::*; -@use routes::*; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, medias: Vec, page: i32, n_pages: i32) diff --git a/templates/medias/new.rs.html b/templates/medias/new.rs.html index b49b998d..846b5c93 100644 --- a/templates/medias/new.rs.html +++ b/templates/medias/new.rs.html @@ -1,6 +1,6 @@ -@use templates::base; -@use template_utils::*; -@use routes::*; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext) diff --git a/templates/notifications/index.rs.html b/templates/notifications/index.rs.html index da2b8bb9..3864968e 100644 --- a/templates/notifications/index.rs.html +++ b/templates/notifications/index.rs.html @@ -1,5 +1,5 @@ -@use templates::base; -@use template_utils::*; +@use crate::templates::base; +@use crate::template_utils::*; @use plume_models::notifications::Notification; @(ctx: BaseContext, notifications: Vec, page: i32, n_pages: i32) diff --git a/templates/partials/comment.rs.html b/templates/partials/comment.rs.html index 3c1ffca4..019ab3a0 100644 --- a/templates/partials/comment.rs.html +++ b/templates/partials/comment.rs.html @@ -1,6 +1,6 @@ -@use template_utils::*; +@use crate::template_utils::*; @use plume_models::comments::CommentTree; -@use routes::*; +@use crate::routes::*; @(ctx: BaseContext, comment_tree: &CommentTree, in_reply_to: Option<&str>, blog: &str, slug: &str) diff --git a/templates/partials/home_feed.rs.html b/templates/partials/home_feed.rs.html index f3a4f204..3a4399ec 100644 --- a/templates/partials/home_feed.rs.html +++ b/templates/partials/home_feed.rs.html @@ -1,6 +1,6 @@ -@use templates::partials::post_card; +@use crate::templates::partials::post_card; @use plume_models::posts::Post; -@use template_utils::*; +@use crate::template_utils::*; @(ctx: BaseContext, articles: Vec, link: &str, title: String) diff --git a/templates/partials/image_select.rs.html b/templates/partials/image_select.rs.html index 5a572118..22a478ff 100644 --- a/templates/partials/image_select.rs.html +++ b/templates/partials/image_select.rs.html @@ -1,4 +1,4 @@ -@use template_utils::*; +@use crate::template_utils::*; @use plume_models::medias::*; @(ctx: BaseContext, id: &str, title: String, optional: bool, medias: Vec, selected: Option) diff --git a/templates/partials/instance_description.rs.html b/templates/partials/instance_description.rs.html index e6ff2bf9..436f6910 100644 --- a/templates/partials/instance_description.rs.html +++ b/templates/partials/instance_description.rs.html @@ -1,6 +1,6 @@ -@use template_utils::*; +@use crate::template_utils::*; @use plume_models::instance::Instance; -@use routes::*; +@use crate::routes::*; @(ctx: BaseContext, instance: Instance, n_users: i64, n_articles: i64) diff --git a/templates/partials/post_card.rs.html b/templates/partials/post_card.rs.html index 9f6d50d9..7d252910 100644 --- a/templates/partials/post_card.rs.html +++ b/templates/partials/post_card.rs.html @@ -1,6 +1,6 @@ @use plume_models::posts::Post; -@use template_utils::*; -@use routes::*; +@use crate::template_utils::*; +@use crate::routes::*; @(ctx: BaseContext, article: Post) diff --git a/templates/posts/details.rs.html b/templates/posts/details.rs.html index 81536db5..e5325f6c 100644 --- a/templates/posts/details.rs.html +++ b/templates/posts/details.rs.html @@ -1,13 +1,13 @@ -@use templates::{base, partials::comment}; -@use template_utils::*; +@use crate::templates::{base, partials::comment}; +@use crate::template_utils::*; @use plume_models::blogs::Blog; @use plume_models::comments::{Comment, CommentTree}; @use plume_models::posts::Post; @use plume_models::tags::Tag; @use plume_models::users::User; @use validator::ValidationErrors; -@use routes::comments::NewCommentForm; -@use routes::*; +@use crate::routes::comments::NewCommentForm; +@use crate::routes::*; @(ctx: BaseContext, article: Post, blog: Blog, comment_form: &NewCommentForm, comment_errors: ValidationErrors, tags: Vec, comments: Vec, previous_comment: Option, n_likes: i64, n_reshares: i64, has_liked: bool, has_reshared: bool, is_following: bool, author: User) @@ -110,7 +110,7 @@ } else { -

@Html(i18n!(ctx.1, "{0}Log in{1}, or {2}use your Fediverse account{3} to interact with this article"; +

@Html(i18n!(ctx.1, "{0}Log in{1}, or {2}use crate::your Fediverse account{3} to interact with this article"; format!("", uri!(session::new: m = _)), "", format!("", uri!(posts::remote_interact: blog_name = &blog.fqn, slug = &article.slug)), "" ))

diff --git a/templates/posts/new.rs.html b/templates/posts/new.rs.html index 5c6e041e..27e15009 100644 --- a/templates/posts/new.rs.html +++ b/templates/posts/new.rs.html @@ -1,13 +1,13 @@ -@use templates::base; -@use templates::partials::image_select; -@use template_utils::*; +@use crate::templates::base; +@use crate::templates::partials::image_select; +@use crate::template_utils::*; @use validator::{ValidationErrors, ValidationErrorsKind}; @use std::borrow::Cow; @use plume_models::medias::*; @use plume_models::blogs::Blog; @use plume_models::posts::Post; -@use routes::posts::NewPostForm; -@use routes::*; +@use crate::routes::posts::NewPostForm; +@use crate::routes::*; @(ctx: BaseContext, title: String, blog: Blog, editing: bool, form: &NewPostForm, is_draft: bool, article: Option, errors: ValidationErrors, medias: Vec, content_len: u64) diff --git a/templates/posts/remote_interact.rs.html b/templates/posts/remote_interact.rs.html index f77ed99c..c2a2978e 100644 --- a/templates/posts/remote_interact.rs.html +++ b/templates/posts/remote_interact.rs.html @@ -1,9 +1,9 @@ -@use templates::remote_interact_base; -@use templates::partials::post_card; +@use crate::templates::remote_interact_base; +@use crate::templates::partials::post_card; @use plume_models::posts::Post; -@use routes::RemoteForm; -@use routes::session::LoginForm; -@use template_utils::*; +@use crate::routes::RemoteForm; +@use crate::routes::session::LoginForm; +@use crate::template_utils::*; @use validator::ValidationErrors; @(ctx: BaseContext, post: Post, login_form: LoginForm, login_errs: ValidationErrors, remote_form: RemoteForm, remote_errs: ValidationErrors) diff --git a/templates/remote_interact_base.rs.html b/templates/remote_interact_base.rs.html index ea7b2b50..4c2ba427 100644 --- a/templates/remote_interact_base.rs.html +++ b/templates/remote_interact_base.rs.html @@ -1,7 +1,7 @@ -@use templates::base; -@use routes::session::LoginForm; -@use routes::RemoteForm; -@use template_utils::*; +@use crate::templates::base; +@use crate::routes::session::LoginForm; +@use crate::routes::RemoteForm; +@use crate::template_utils::*; @use validator::ValidationErrors; @(ctx: BaseContext, title: String, login_msg: String, remote_msg: String, header: Content, login_form: LoginForm, login_errs: ValidationErrors, remote_form: RemoteForm, remote_errs: ValidationErrors) diff --git a/templates/search/index.rs.html b/templates/search/index.rs.html index 54614547..0cf4e527 100644 --- a/templates/search/index.rs.html +++ b/templates/search/index.rs.html @@ -1,5 +1,5 @@ -@use templates::base; -@use template_utils::*; +@use crate::templates::base; +@use crate::template_utils::*; @(ctx: BaseContext, now: &str) diff --git a/templates/search/result.rs.html b/templates/search/result.rs.html index 759ac203..1d5f78ad 100644 --- a/templates/search/result.rs.html +++ b/templates/search/result.rs.html @@ -1,5 +1,5 @@ -@use templates::{base, partials::post_card}; -@use template_utils::*; +@use crate::templates::{base, partials::post_card}; +@use crate::template_utils::*; @use plume_models::posts::Post; @(ctx: BaseContext, query_str: &str, articles: Vec, page: i32, n_pages: i32) diff --git a/templates/session/login.rs.html b/templates/session/login.rs.html index a8448932..bef0b9a8 100644 --- a/templates/session/login.rs.html +++ b/templates/session/login.rs.html @@ -1,8 +1,8 @@ -@use template_utils::*; -@use templates::base; +@use crate::template_utils::*; +@use crate::templates::base; @use validator::ValidationErrors; -@use routes::session::LoginForm; -@use routes::*; +@use crate::routes::session::LoginForm; +@use crate::routes::*; @(ctx: BaseContext, message: Option, form: &LoginForm, errors: ValidationErrors) diff --git a/templates/session/password_reset.rs.html b/templates/session/password_reset.rs.html index be450cfc..192e39f3 100644 --- a/templates/session/password_reset.rs.html +++ b/templates/session/password_reset.rs.html @@ -1,6 +1,6 @@ -@use template_utils::*; -@use templates::base; -@use routes::session::NewPasswordForm; +@use crate::template_utils::*; +@use crate::templates::base; +@use crate::routes::session::NewPasswordForm; @use validator::ValidationErrors; @(ctx: BaseContext, form: &NewPasswordForm, errors: ValidationErrors) diff --git a/templates/session/password_reset_request.rs.html b/templates/session/password_reset_request.rs.html index f75431bb..97d9b5ce 100644 --- a/templates/session/password_reset_request.rs.html +++ b/templates/session/password_reset_request.rs.html @@ -1,6 +1,6 @@ -@use template_utils::*; -@use templates::base; -@use routes::session::ResetForm; +@use crate::template_utils::*; +@use crate::templates::base; +@use crate::routes::session::ResetForm; @use validator::ValidationErrors; @(ctx: BaseContext, form: &ResetForm, errors: ValidationErrors) diff --git a/templates/session/password_reset_request_ok.rs.html b/templates/session/password_reset_request_ok.rs.html index 9b141c89..c9d194ea 100644 --- a/templates/session/password_reset_request_ok.rs.html +++ b/templates/session/password_reset_request_ok.rs.html @@ -1,5 +1,5 @@ -@use template_utils::*; -@use templates::base; +@use crate::template_utils::*; +@use crate::templates::base; @(ctx: BaseContext) diff --git a/templates/tags/index.rs.html b/templates/tags/index.rs.html index 0b8bdbf0..9d50f02b 100644 --- a/templates/tags/index.rs.html +++ b/templates/tags/index.rs.html @@ -1,5 +1,5 @@ -@use templates::{base, partials::post_card}; -@use template_utils::*; +@use crate::templates::{base, partials::post_card}; +@use crate::template_utils::*; @use plume_models::posts::Post; @(ctx: BaseContext, tag: String, articles: Vec, page: i32, n_pages: i32) diff --git a/templates/users/dashboard.rs.html b/templates/users/dashboard.rs.html index ab3aacc3..77b96cfe 100644 --- a/templates/users/dashboard.rs.html +++ b/templates/users/dashboard.rs.html @@ -1,8 +1,8 @@ -@use templates::{base, partials::post_card}; -@use template_utils::*; +@use crate::templates::{base, partials::post_card}; +@use crate::template_utils::*; @use plume_models::blogs::Blog; @use plume_models::posts::Post; -@use routes::*; +@use crate::routes::*; @(ctx: BaseContext, blogs: Vec, drafts: Vec) diff --git a/templates/users/details.rs.html b/templates/users/details.rs.html index d27fd9ad..676493dd 100644 --- a/templates/users/details.rs.html +++ b/templates/users/details.rs.html @@ -1,9 +1,9 @@ -@use templates::{base, partials::post_card, users::header}; -@use template_utils::*; +@use crate::templates::{base, partials::post_card, users::header}; +@use crate::template_utils::*; @use plume_models::instance::Instance; @use plume_models::users::User; @use plume_models::posts::Post; -@use routes::*; +@use crate::routes::*; @(ctx: BaseContext, user: User, follows: bool, is_remote: bool, remote_url: String, recents: Vec, reshares: Vec) diff --git a/templates/users/edit.rs.html b/templates/users/edit.rs.html index 86777e42..3fead0b7 100644 --- a/templates/users/edit.rs.html +++ b/templates/users/edit.rs.html @@ -1,8 +1,8 @@ -@use templates::base; -@use template_utils::*; -@use routes::user::UpdateUserForm; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::user::UpdateUserForm; @use validator::ValidationErrors; -@use routes::*; +@use crate::routes::*; @(ctx: BaseContext, form: UpdateUserForm, errors: ValidationErrors) @@ -14,7 +14,7 @@ @i18n!(ctx.1, "Upload an avatar")

- + @input!(ctx.1, display_name (text), "Display name", form, errors.clone()) diff --git a/templates/users/follow_remote.rs.html b/templates/users/follow_remote.rs.html index 93270be4..91a91def 100644 --- a/templates/users/follow_remote.rs.html +++ b/templates/users/follow_remote.rs.html @@ -1,8 +1,8 @@ -@use templates::remote_interact_base; +@use crate::templates::remote_interact_base; @use plume_models::users::User; -@use routes::RemoteForm; -@use routes::session::LoginForm; -@use template_utils::*; +@use crate::routes::RemoteForm; +@use crate::routes::session::LoginForm; +@use crate::template_utils::*; @use validator::ValidationErrors; @(ctx: BaseContext, user: User, login_form: LoginForm, login_errs: ValidationErrors, remote_form: RemoteForm, remote_errs: ValidationErrors) diff --git a/templates/users/followed.rs.html b/templates/users/followed.rs.html index ce4e1146..ff7f6c53 100644 --- a/templates/users/followed.rs.html +++ b/templates/users/followed.rs.html @@ -1,7 +1,7 @@ -@use templates::{base, users::header}; -@use template_utils::*; +@use crate::templates::{base, users::header}; +@use crate::template_utils::*; @use plume_models::users::User; -@use routes::*; +@use crate::routes::*; @(ctx: BaseContext, user: User, follows: bool, is_remote: bool, remote_url: String, followed: Vec, page: i32, n_pages: i32) diff --git a/templates/users/followers.rs.html b/templates/users/followers.rs.html index 762c85bc..5a4a5b16 100644 --- a/templates/users/followers.rs.html +++ b/templates/users/followers.rs.html @@ -1,7 +1,7 @@ -@use templates::{base, users::header}; -@use template_utils::*; +@use crate::templates::{base, users::header}; +@use crate::template_utils::*; @use plume_models::users::User; -@use routes::*; +@use crate::routes::*; @(ctx: BaseContext, user: User, follows: bool, is_remote: bool, remote_url: String, followers: Vec, page: i32, n_pages: i32) diff --git a/templates/users/header.rs.html b/templates/users/header.rs.html index 57231705..cc11aa31 100644 --- a/templates/users/header.rs.html +++ b/templates/users/header.rs.html @@ -1,6 +1,6 @@ -@use template_utils::*; +@use crate::template_utils::*; @use plume_models::users::User; -@use routes::*; +@use crate::routes::*; @(ctx: BaseContext, user: &User, follows: bool, is_remote: bool, instance_url: String) diff --git a/templates/users/new.rs.html b/templates/users/new.rs.html index b7f5a520..3d519f13 100644 --- a/templates/users/new.rs.html +++ b/templates/users/new.rs.html @@ -1,8 +1,8 @@ -@use templates::base; -@use template_utils::*; -@use routes::user::NewUserForm; +@use crate::templates::base; +@use crate::template_utils::*; +@use crate::routes::user::NewUserForm; @use validator::{ValidationErrors, ValidationErrorsKind}; -@use routes::*; +@use crate::routes::*; @use std::borrow::Cow; @(ctx: BaseContext, enabled: bool, form: &NewUserForm, errors: ValidationErrors)