diff --git a/Cargo.lock b/Cargo.lock index 42eacde..b43a140 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -930,6 +930,121 @@ dependencies = [ "instant", ] +[[package]] +name = "fedimovies" +version = "1.22.0" +dependencies = [ + "actix-cors", + "actix-files", + "actix-web", + "actix-web-httpauth", + "anyhow", + "base64 0.13.1", + "blake2", + "chrono", + "ed25519", + "ed25519-dalek", + "env_logger", + "fedimovies-config", + "fedimovies-models", + "fedimovies-utils", + "hex", + "log", + "num_cpus", + "regex", + "reqwest", + "rsa", + "serde", + "serde_json", + "serial_test", + "sha2 0.9.9", + "siwe", + "thiserror", + "tokio", + "url 2.3.1", + "uuid", +] + +[[package]] +name = "fedimovies-cli" +version = "1.22.0" +dependencies = [ + "anyhow", + "clap", + "fedimovies", + "fedimovies-config", + "fedimovies-models", + "fedimovies-utils", + "log", + "tokio", + "uuid", +] + +[[package]] +name = "fedimovies-config" +version = "1.22.0" +dependencies = [ + "dotenv", + "fedimovies-utils", + "log", + "regex", + "rsa", + "serde", + "serde_yaml", + "thiserror", + "url 2.3.1", +] + +[[package]] +name = "fedimovies-models" +version = "1.22.0" +dependencies = [ + "chrono", + "deadpool", + "deadpool-postgres", + "fedimovies-utils", + "hex", + "log", + "postgres-protocol", + "postgres-types", + "postgres_query", + "postgres_query_macro", + "refinery", + "serde", + "serde_json", + "serial_test", + "thiserror", + "tokio", + "tokio-postgres", + "uuid", +] + +[[package]] +name = "fedimovies-utils" +version = "1.22.0" +dependencies = [ + "ammonia", + "base64 0.13.1", + "bs58", + "chrono", + "comrak", + "mime-sniffer", + "mime_guess", + "pem", + "rand 0.8.5", + "regex", + "rsa", + "rust-argon2", + "serde", + "serde_jcs", + "serde_json", + "sha2 0.9.9", + "thiserror", + "ulid", + "url 2.3.1", + "uuid", +] + [[package]] name = "ff" version = "0.10.1" @@ -1608,121 +1723,6 @@ dependencies = [ "windows-sys 0.45.0", ] -[[package]] -name = "mitra" -version = "1.22.0" -dependencies = [ - "actix-cors", - "actix-files", - "actix-web", - "actix-web-httpauth", - "anyhow", - "base64 0.13.1", - "blake2", - "chrono", - "ed25519", - "ed25519-dalek", - "env_logger", - "hex", - "log", - "mitra-config", - "mitra-models", - "mitra-utils", - "num_cpus", - "regex", - "reqwest", - "rsa", - "serde", - "serde_json", - "serial_test", - "sha2 0.9.9", - "siwe", - "thiserror", - "tokio", - "url 2.3.1", - "uuid", -] - -[[package]] -name = "mitra-cli" -version = "1.22.0" -dependencies = [ - "anyhow", - "clap", - "log", - "mitra", - "mitra-config", - "mitra-models", - "mitra-utils", - "tokio", - "uuid", -] - -[[package]] -name = "mitra-config" -version = "1.22.0" -dependencies = [ - "dotenv", - "log", - "mitra-utils", - "regex", - "rsa", - "serde", - "serde_yaml", - "thiserror", - "url 2.3.1", -] - -[[package]] -name = "mitra-models" -version = "1.22.0" -dependencies = [ - "chrono", - "deadpool", - "deadpool-postgres", - "hex", - "log", - "mitra-utils", - "postgres-protocol", - "postgres-types", - "postgres_query", - "postgres_query_macro", - "refinery", - "serde", - "serde_json", - "serial_test", - "thiserror", - "tokio", - "tokio-postgres", - "uuid", -] - -[[package]] -name = "mitra-utils" -version = "1.22.0" -dependencies = [ - "ammonia", - "base64 0.13.1", - "bs58", - "chrono", - "comrak", - "mime-sniffer", - "mime_guess", - "pem", - "rand 0.8.5", - "regex", - "rsa", - "rust-argon2", - "serde", - "serde_jcs", - "serde_json", - "sha2 0.9.9", - "thiserror", - "ulid", - "url 2.3.1", - "uuid", -] - [[package]] name = "native-tls" version = "0.2.11" diff --git a/Cargo.toml b/Cargo.toml index 096807f..84a3e74 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,34 +1,34 @@ [package] -name = "mitra" +name = "fedimovies" version = "1.22.0" -description = "Federated micro-blogging platform and content subscription service" +description = "Movies reviews and ratings for the fediverse" license = "AGPL-3.0" edition = "2021" rust-version = "1.68" publish = false -default-run = "mitra" +default-run = "fedimovies" [workspace] members = [ ".", - "mitra-cli", - "mitra-config", - "mitra-models", - "mitra-utils", + "fedimovies-cli", + "fedimovies-config", + "fedimovies-models", + "fedimovies-utils", ] default-members = [ ".", - "mitra-cli", - "mitra-config", - "mitra-models", - "mitra-utils", + "fedimovies-cli", + "fedimovies-config", + "fedimovies-models", + "fedimovies-utils", ] [dependencies] -mitra-config = { path = "mitra-config" } -mitra-models = { path = "mitra-models" } -mitra-utils = { path = "mitra-utils" } +fedimovies-config = { path = "fedimovies-config" } +fedimovies-models = { path = "fedimovies-models" } +fedimovies-utils = { path = "fedimovies-utils" } # Used to handle incoming HTTP requests actix-cors = "0.6.4" @@ -75,11 +75,11 @@ url = "2.2.2" uuid = { version = "1.1.2", features = ["serde", "v4"] } [dev-dependencies] -mitra-config = { path = "mitra-config", features = ["test-utils"] } -mitra-models = { path = "mitra-models", features = ["test-utils"] } -mitra-utils = { path = "mitra-utils", features = ["test-utils"] } +fedimovies-config = { path = "fedimovies-config", features = ["test-utils"] } +fedimovies-models = { path = "fedimovies-models", features = ["test-utils"] } +fedimovies-utils = { path = "fedimovies-utils", features = ["test-utils"] } serial_test = "0.7.0" [features] -production = ["mitra-config/production"] +production = ["fedimovies-config/production"] diff --git a/mitra-cli/Cargo.toml b/fedimovies-cli/Cargo.toml similarity index 68% rename from mitra-cli/Cargo.toml rename to fedimovies-cli/Cargo.toml index ff148b0..b64c03c 100644 --- a/mitra-cli/Cargo.toml +++ b/fedimovies-cli/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "mitra-cli" +name = "fedimovies-cli" version = "1.22.0" license = "AGPL-3.0" edition = "2021" @@ -10,10 +10,10 @@ name = "mitractl" path = "src/main.rs" [dependencies] -mitra-config = { path = "../mitra-config" } -mitra-models = { path = "../mitra-models" } -mitra-utils = { path = "../mitra-utils" } -mitra = { path = ".." } +fedimovies-config = { path = "../fedimovies-config" } +fedimovies-models = { path = "../fedimovies-models" } +fedimovies-utils = { path = "../fedimovies-utils" } +fedimovies = { path = ".." } # Used for catching errors anyhow = "1.0.58" diff --git a/mitra-cli/src/cli.rs b/fedimovies-cli/src/cli.rs similarity index 97% rename from mitra-cli/src/cli.rs rename to fedimovies-cli/src/cli.rs index 332c3e4..75fcdc1 100644 --- a/mitra-cli/src/cli.rs +++ b/fedimovies-cli/src/cli.rs @@ -2,16 +2,16 @@ use anyhow::Error; use clap::Parser; use uuid::Uuid; -use mitra::activitypub::{ +use fedimovies::activitypub::{ actors::helpers::update_remote_profile, builders::delete_note::prepare_delete_note, builders::delete_person::prepare_delete_person, fetcher::fetchers::fetch_actor, fetcher::helpers::import_from_outbox, }; -use mitra::admin::roles::{role_from_str, ALLOWED_ROLES}; -use mitra::media::{remove_files, remove_media, MediaStorage}; -use mitra::validators::{emojis::EMOJI_LOCAL_MAX_SIZE, users::validate_local_username}; -use mitra_config::Config; -use mitra_models::{ +use fedimovies::admin::roles::{role_from_str, ALLOWED_ROLES}; +use fedimovies::media::{remove_files, remove_media, MediaStorage}; +use fedimovies::validators::{emojis::EMOJI_LOCAL_MAX_SIZE, users::validate_local_username}; +use fedimovies_config::Config; +use fedimovies_models::{ attachments::queries::delete_unused_attachments, cleanup::find_orphaned_files, database::DatabaseClient, @@ -32,7 +32,7 @@ use mitra_models::{ }, users::types::UserCreateData, }; -use mitra_utils::{ +use fedimovies_utils::{ crypto_rsa::{generate_rsa_key, serialize_private_key}, datetime::{days_before_now, get_min_datetime}, passwords::hash_password, diff --git a/mitra-cli/src/main.rs b/fedimovies-cli/src/main.rs similarity index 94% rename from mitra-cli/src/main.rs rename to fedimovies-cli/src/main.rs index 630120c..f8e601e 100644 --- a/mitra-cli/src/main.rs +++ b/fedimovies-cli/src/main.rs @@ -1,9 +1,9 @@ use clap::Parser; -use mitra::logger::configure_logger; -use mitra_config::parse_config; -use mitra_models::database::create_database_client; -use mitra_models::database::migrate::apply_migrations; +use fedimovies::logger::configure_logger; +use fedimovies_config::parse_config; +use fedimovies_models::database::create_database_client; +use fedimovies_models::database::migrate::apply_migrations; mod cli; use cli::{Opts, SubCommand}; diff --git a/mitra-config/Cargo.toml b/fedimovies-config/Cargo.toml similarity index 88% rename from mitra-config/Cargo.toml rename to fedimovies-config/Cargo.toml index 9b23ecc..94284a3 100644 --- a/mitra-config/Cargo.toml +++ b/fedimovies-config/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "mitra-config" +name = "fedimovies-config" version = "1.22.0" license = "AGPL-3.0" edition = "2021" rust-version = "1.68" [dependencies] -mitra-utils = { path = "../mitra-utils" } +fedimovies-utils = { path = "../fedimovies-utils" } # Used to read .env files dotenv = "0.15.0" diff --git a/mitra-config/src/config.rs b/fedimovies-config/src/config.rs similarity index 97% rename from mitra-config/src/config.rs rename to fedimovies-config/src/config.rs index bd9fc86..b994f60 100644 --- a/mitra-config/src/config.rs +++ b/fedimovies-config/src/config.rs @@ -5,7 +5,7 @@ use rsa::RsaPrivateKey; use serde::Deserialize; use url::Url; -use mitra_utils::urls::normalize_url; +use fedimovies_utils::urls::normalize_url; use super::environment::Environment; use super::federation::FederationConfig; @@ -156,7 +156,7 @@ impl Instance { #[cfg(feature = "test-utils")] impl Instance { pub fn for_test(url: &str) -> Self { - use mitra_utils::crypto_rsa::generate_weak_rsa_key; + use fedimovies_utils::crypto_rsa::generate_weak_rsa_key; Self { _url: Url::parse(url).unwrap(), actor_key: generate_weak_rsa_key().unwrap(), @@ -173,7 +173,7 @@ impl Instance { #[cfg(test)] mod tests { use super::*; - use mitra_utils::crypto_rsa::generate_weak_rsa_key; + use fedimovies_utils::crypto_rsa::generate_weak_rsa_key; #[test] fn test_instance_url_https_dns() { diff --git a/mitra-config/src/environment.rs b/fedimovies-config/src/environment.rs similarity index 100% rename from mitra-config/src/environment.rs rename to fedimovies-config/src/environment.rs diff --git a/mitra-config/src/federation.rs b/fedimovies-config/src/federation.rs similarity index 100% rename from mitra-config/src/federation.rs rename to fedimovies-config/src/federation.rs diff --git a/mitra-config/src/lib.rs b/fedimovies-config/src/lib.rs similarity index 100% rename from mitra-config/src/lib.rs rename to fedimovies-config/src/lib.rs diff --git a/mitra-config/src/limits.rs b/fedimovies-config/src/limits.rs similarity index 100% rename from mitra-config/src/limits.rs rename to fedimovies-config/src/limits.rs diff --git a/mitra-config/src/loader.rs b/fedimovies-config/src/loader.rs similarity index 98% rename from mitra-config/src/loader.rs rename to fedimovies-config/src/loader.rs index 4de5996..129ad78 100644 --- a/mitra-config/src/loader.rs +++ b/fedimovies-config/src/loader.rs @@ -4,7 +4,7 @@ use std::str::FromStr; use rsa::RsaPrivateKey; -use mitra_utils::{ +use fedimovies_utils::{ crypto_rsa::{deserialize_private_key, generate_rsa_key, serialize_private_key}, files::{set_file_permissions, write_file}, }; @@ -19,7 +19,7 @@ struct EnvConfig { } #[cfg(feature = "production")] -const DEFAULT_CONFIG_PATH: &str = "/etc/mitra/config.yaml"; +const DEFAULT_CONFIG_PATH: &str = "/etc/fedimovies/config.yaml"; #[cfg(not(feature = "production"))] const DEFAULT_CONFIG_PATH: &str = "config.yaml"; diff --git a/mitra-config/src/registration.rs b/fedimovies-config/src/registration.rs similarity index 100% rename from mitra-config/src/registration.rs rename to fedimovies-config/src/registration.rs diff --git a/mitra-config/src/retention.rs b/fedimovies-config/src/retention.rs similarity index 100% rename from mitra-config/src/retention.rs rename to fedimovies-config/src/retention.rs diff --git a/mitra-models/Cargo.toml b/fedimovies-models/Cargo.toml similarity index 90% rename from mitra-models/Cargo.toml rename to fedimovies-models/Cargo.toml index e5bbba3..fda98a7 100644 --- a/mitra-models/Cargo.toml +++ b/fedimovies-models/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "mitra-models" +name = "fedimovies-models" version = "1.22.0" license = "AGPL-3.0" edition = "2021" rust-version = "1.68" [dependencies] -mitra-utils = { path = "../mitra-utils" } +fedimovies-utils = { path = "../fedimovies-utils" } # Used for working with dates chrono = { version = "0.4.23", default-features = false, features = ["std", "serde"] } @@ -37,7 +37,7 @@ postgres_query_macro = { git = "https://github.com/nolanderc/rust-postgres-query uuid = { version = "1.1.2", features = ["serde", "v4"] } [dev-dependencies] -mitra-utils = { path = "../mitra-utils", features = ["test-utils"] } +fedimovies-utils = { path = "../fedimovies-utils", features = ["test-utils"] } serial_test = "0.7.0" diff --git a/mitra-models/migrations/V0001__create_tables.sql b/fedimovies-models/migrations/V0001__create_tables.sql similarity index 100% rename from mitra-models/migrations/V0001__create_tables.sql rename to fedimovies-models/migrations/V0001__create_tables.sql diff --git a/mitra-models/migrations/V0002__actor_profile__add_extra_fields.sql b/fedimovies-models/migrations/V0002__actor_profile__add_extra_fields.sql similarity index 100% rename from mitra-models/migrations/V0002__actor_profile__add_extra_fields.sql rename to fedimovies-models/migrations/V0002__actor_profile__add_extra_fields.sql diff --git a/mitra-models/migrations/V0003__post__add_in_reply_to.sql b/fedimovies-models/migrations/V0003__post__add_in_reply_to.sql similarity index 100% rename from mitra-models/migrations/V0003__post__add_in_reply_to.sql rename to fedimovies-models/migrations/V0003__post__add_in_reply_to.sql diff --git a/mitra-models/migrations/V0004__post__add_reply_count.sql b/fedimovies-models/migrations/V0004__post__add_reply_count.sql similarity index 100% rename from mitra-models/migrations/V0004__post__add_reply_count.sql rename to fedimovies-models/migrations/V0004__post__add_reply_count.sql diff --git a/mitra-models/migrations/V0005__media_attachment__add_ipfs_cid.sql b/fedimovies-models/migrations/V0005__media_attachment__add_ipfs_cid.sql similarity index 100% rename from mitra-models/migrations/V0005__media_attachment__add_ipfs_cid.sql rename to fedimovies-models/migrations/V0005__media_attachment__add_ipfs_cid.sql diff --git a/mitra-models/migrations/V0006__oauth_token.sql b/fedimovies-models/migrations/V0006__oauth_token.sql similarity index 100% rename from mitra-models/migrations/V0006__oauth_token.sql rename to fedimovies-models/migrations/V0006__oauth_token.sql diff --git a/mitra-models/migrations/V0007__post__add_object_id.sql b/fedimovies-models/migrations/V0007__post__add_object_id.sql similarity index 100% rename from mitra-models/migrations/V0007__post__add_object_id.sql rename to fedimovies-models/migrations/V0007__post__add_object_id.sql diff --git a/mitra-models/migrations/V0008__notification.sql b/fedimovies-models/migrations/V0008__notification.sql similarity index 100% rename from mitra-models/migrations/V0008__notification.sql rename to fedimovies-models/migrations/V0008__notification.sql diff --git a/mitra-models/migrations/V0009__post_reaction.sql b/fedimovies-models/migrations/V0009__post_reaction.sql similarity index 100% rename from mitra-models/migrations/V0009__post_reaction.sql rename to fedimovies-models/migrations/V0009__post_reaction.sql diff --git a/mitra-models/migrations/V0010__timeline_marker.sql b/fedimovies-models/migrations/V0010__timeline_marker.sql similarity index 100% rename from mitra-models/migrations/V0010__timeline_marker.sql rename to fedimovies-models/migrations/V0010__timeline_marker.sql diff --git a/mitra-models/migrations/V0011__mention.sql b/fedimovies-models/migrations/V0011__mention.sql similarity index 100% rename from mitra-models/migrations/V0011__mention.sql rename to fedimovies-models/migrations/V0011__mention.sql diff --git a/mitra-models/migrations/V0012__post__add_visibility.sql b/fedimovies-models/migrations/V0012__post__add_visibility.sql similarity index 100% rename from mitra-models/migrations/V0012__post__add_visibility.sql rename to fedimovies-models/migrations/V0012__post__add_visibility.sql diff --git a/mitra-models/migrations/V0013__post__add_repost_fields.sql b/fedimovies-models/migrations/V0013__post__add_repost_fields.sql similarity index 100% rename from mitra-models/migrations/V0013__post__add_repost_fields.sql rename to fedimovies-models/migrations/V0013__post__add_repost_fields.sql diff --git a/mitra-models/migrations/V0014__post_tag.sql b/fedimovies-models/migrations/V0014__post_tag.sql similarity index 100% rename from mitra-models/migrations/V0014__post_tag.sql rename to fedimovies-models/migrations/V0014__post_tag.sql diff --git a/mitra-models/migrations/V0015__post_reaction__add_activity_id.sql b/fedimovies-models/migrations/V0015__post_reaction__add_activity_id.sql similarity index 100% rename from mitra-models/migrations/V0015__post_reaction__add_activity_id.sql rename to fedimovies-models/migrations/V0015__post_reaction__add_activity_id.sql diff --git a/mitra-models/migrations/V0016__user_account__nullable_wallet_address.sql b/fedimovies-models/migrations/V0016__user_account__nullable_wallet_address.sql similarity index 100% rename from mitra-models/migrations/V0016__user_account__nullable_wallet_address.sql rename to fedimovies-models/migrations/V0016__user_account__nullable_wallet_address.sql diff --git a/mitra-models/migrations/V0017__actor_profile__increase_display_name_length.sql b/fedimovies-models/migrations/V0017__actor_profile__increase_display_name_length.sql similarity index 100% rename from mitra-models/migrations/V0017__actor_profile__increase_display_name_length.sql rename to fedimovies-models/migrations/V0017__actor_profile__increase_display_name_length.sql diff --git a/mitra-models/migrations/V0018__relationship__add_id.sql b/fedimovies-models/migrations/V0018__relationship__add_id.sql similarity index 100% rename from mitra-models/migrations/V0018__relationship__add_id.sql rename to fedimovies-models/migrations/V0018__relationship__add_id.sql diff --git a/mitra-models/migrations/V0019__relationship__add_relationship_type.sql b/fedimovies-models/migrations/V0019__relationship__add_relationship_type.sql similarity index 100% rename from mitra-models/migrations/V0019__relationship__add_relationship_type.sql rename to fedimovies-models/migrations/V0019__relationship__add_relationship_type.sql diff --git a/mitra-models/migrations/V0020__subscription.sql b/fedimovies-models/migrations/V0020__subscription.sql similarity index 100% rename from mitra-models/migrations/V0020__subscription.sql rename to fedimovies-models/migrations/V0020__subscription.sql diff --git a/mitra-models/migrations/V0021__user_account__nullable_password_hash.sql b/fedimovies-models/migrations/V0021__user_account__nullable_password_hash.sql similarity index 100% rename from mitra-models/migrations/V0021__user_account__nullable_password_hash.sql rename to fedimovies-models/migrations/V0021__user_account__nullable_password_hash.sql diff --git a/mitra-models/migrations/V0022__actor_profile__add_actor_id.sql b/fedimovies-models/migrations/V0022__actor_profile__add_actor_id.sql similarity index 100% rename from mitra-models/migrations/V0022__actor_profile__add_actor_id.sql rename to fedimovies-models/migrations/V0022__actor_profile__add_actor_id.sql diff --git a/mitra-models/migrations/V0023__actor_profile__add_identity_proofs.sql b/fedimovies-models/migrations/V0023__actor_profile__add_identity_proofs.sql similarity index 100% rename from mitra-models/migrations/V0023__actor_profile__add_identity_proofs.sql rename to fedimovies-models/migrations/V0023__actor_profile__add_identity_proofs.sql diff --git a/mitra-models/migrations/V0024__post__add_updated_at.sql b/fedimovies-models/migrations/V0024__post__add_updated_at.sql similarity index 100% rename from mitra-models/migrations/V0024__post__add_updated_at.sql rename to fedimovies-models/migrations/V0024__post__add_updated_at.sql diff --git a/mitra-models/migrations/V0025__actor_profile__add_updated_at.sql b/fedimovies-models/migrations/V0025__actor_profile__add_updated_at.sql similarity index 100% rename from mitra-models/migrations/V0025__actor_profile__add_updated_at.sql rename to fedimovies-models/migrations/V0025__actor_profile__add_updated_at.sql diff --git a/mitra-models/migrations/V0026__actor_profile__add_payment_options.sql b/fedimovies-models/migrations/V0026__actor_profile__add_payment_options.sql similarity index 100% rename from mitra-models/migrations/V0026__actor_profile__add_payment_options.sql rename to fedimovies-models/migrations/V0026__actor_profile__add_payment_options.sql diff --git a/mitra-models/migrations/V0027__post_link.sql b/fedimovies-models/migrations/V0027__post_link.sql similarity index 100% rename from mitra-models/migrations/V0027__post_link.sql rename to fedimovies-models/migrations/V0027__post_link.sql diff --git a/mitra-models/migrations/V0028__actor_profile__clear_payment_options.sql b/fedimovies-models/migrations/V0028__actor_profile__clear_payment_options.sql similarity index 100% rename from mitra-models/migrations/V0028__actor_profile__clear_payment_options.sql rename to fedimovies-models/migrations/V0028__actor_profile__clear_payment_options.sql diff --git a/mitra-models/migrations/V0029__subscription__add_chain_id.sql b/fedimovies-models/migrations/V0029__subscription__add_chain_id.sql similarity index 100% rename from mitra-models/migrations/V0029__subscription__add_chain_id.sql rename to fedimovies-models/migrations/V0029__subscription__add_chain_id.sql diff --git a/mitra-models/migrations/V0030__invoice.sql b/fedimovies-models/migrations/V0030__invoice.sql similarity index 100% rename from mitra-models/migrations/V0030__invoice.sql rename to fedimovies-models/migrations/V0030__invoice.sql diff --git a/mitra-models/migrations/V0031__subscription__sender_address_nullable.sql b/fedimovies-models/migrations/V0031__subscription__sender_address_nullable.sql similarity index 100% rename from mitra-models/migrations/V0031__subscription__sender_address_nullable.sql rename to fedimovies-models/migrations/V0031__subscription__sender_address_nullable.sql diff --git a/mitra-models/migrations/V0032__actor_profile__add_subscriber_count.sql b/fedimovies-models/migrations/V0032__actor_profile__add_subscriber_count.sql similarity index 100% rename from mitra-models/migrations/V0032__actor_profile__add_subscriber_count.sql rename to fedimovies-models/migrations/V0032__actor_profile__add_subscriber_count.sql diff --git a/mitra-models/migrations/V0033__invoice__add_amount.sql b/fedimovies-models/migrations/V0033__invoice__add_amount.sql similarity index 100% rename from mitra-models/migrations/V0033__invoice__add_amount.sql rename to fedimovies-models/migrations/V0033__invoice__add_amount.sql diff --git a/mitra-models/migrations/V0034__actor_profile__add_hostname.sql b/fedimovies-models/migrations/V0034__actor_profile__add_hostname.sql similarity index 100% rename from mitra-models/migrations/V0034__actor_profile__add_hostname.sql rename to fedimovies-models/migrations/V0034__actor_profile__add_hostname.sql diff --git a/mitra-models/migrations/V0035__background_job.sql b/fedimovies-models/migrations/V0035__background_job.sql similarity index 100% rename from mitra-models/migrations/V0035__background_job.sql rename to fedimovies-models/migrations/V0035__background_job.sql diff --git a/mitra-models/migrations/V0036__follow_request__add_activity_id.sql b/fedimovies-models/migrations/V0036__follow_request__add_activity_id.sql similarity index 100% rename from mitra-models/migrations/V0036__follow_request__add_activity_id.sql rename to fedimovies-models/migrations/V0036__follow_request__add_activity_id.sql diff --git a/mitra-models/migrations/V0037__actor_profile__add_unreachable_since.sql b/fedimovies-models/migrations/V0037__actor_profile__add_unreachable_since.sql similarity index 100% rename from mitra-models/migrations/V0037__actor_profile__add_unreachable_since.sql rename to fedimovies-models/migrations/V0037__actor_profile__add_unreachable_since.sql diff --git a/mitra-models/migrations/V0038__actor_profile__image_json.sql b/fedimovies-models/migrations/V0038__actor_profile__image_json.sql similarity index 100% rename from mitra-models/migrations/V0038__actor_profile__image_json.sql rename to fedimovies-models/migrations/V0038__actor_profile__image_json.sql diff --git a/mitra-models/migrations/V0039__emoji.sql b/fedimovies-models/migrations/V0039__emoji.sql similarity index 100% rename from mitra-models/migrations/V0039__emoji.sql rename to fedimovies-models/migrations/V0039__emoji.sql diff --git a/mitra-models/migrations/V0040__media_attachment__add_file_size.sql b/fedimovies-models/migrations/V0040__media_attachment__add_file_size.sql similarity index 100% rename from mitra-models/migrations/V0040__media_attachment__add_file_size.sql rename to fedimovies-models/migrations/V0040__media_attachment__add_file_size.sql diff --git a/mitra-models/migrations/V0041__user_account__user_role.sql b/fedimovies-models/migrations/V0041__user_account__user_role.sql similarity index 100% rename from mitra-models/migrations/V0041__user_account__user_role.sql rename to fedimovies-models/migrations/V0041__user_account__user_role.sql diff --git a/mitra-models/migrations/V0042__oauth_application.sql b/fedimovies-models/migrations/V0042__oauth_application.sql similarity index 100% rename from mitra-models/migrations/V0042__oauth_application.sql rename to fedimovies-models/migrations/V0042__oauth_application.sql diff --git a/mitra-models/migrations/V0043__oauth_authorization.sql b/fedimovies-models/migrations/V0043__oauth_authorization.sql similarity index 100% rename from mitra-models/migrations/V0043__oauth_authorization.sql rename to fedimovies-models/migrations/V0043__oauth_authorization.sql diff --git a/mitra-models/migrations/V0044__user_invite_code__add_note_and_created_at.sql b/fedimovies-models/migrations/V0044__user_invite_code__add_note_and_created_at.sql similarity index 100% rename from mitra-models/migrations/V0044__user_invite_code__add_note_and_created_at.sql rename to fedimovies-models/migrations/V0044__user_invite_code__add_note_and_created_at.sql diff --git a/mitra-models/migrations/V0045__profile_emoji.sql b/fedimovies-models/migrations/V0045__profile_emoji.sql similarity index 100% rename from mitra-models/migrations/V0045__profile_emoji.sql rename to fedimovies-models/migrations/V0045__profile_emoji.sql diff --git a/mitra-models/migrations/V0046__actor_profile__add_emoji.sql b/fedimovies-models/migrations/V0046__actor_profile__add_emoji.sql similarity index 100% rename from mitra-models/migrations/V0046__actor_profile__add_emoji.sql rename to fedimovies-models/migrations/V0046__actor_profile__add_emoji.sql diff --git a/mitra-models/migrations/V0047__internal_property.sql b/fedimovies-models/migrations/V0047__internal_property.sql similarity index 100% rename from mitra-models/migrations/V0047__internal_property.sql rename to fedimovies-models/migrations/V0047__internal_property.sql diff --git a/mitra-models/migrations/V0048__actor_profile__identity_proof_type_number.sql b/fedimovies-models/migrations/V0048__actor_profile__identity_proof_type_number.sql similarity index 100% rename from mitra-models/migrations/V0048__actor_profile__identity_proof_type_number.sql rename to fedimovies-models/migrations/V0048__actor_profile__identity_proof_type_number.sql diff --git a/mitra-models/migrations/V0049__actor_profile__add_manually_approves_followers.sql b/fedimovies-models/migrations/V0049__actor_profile__add_manually_approves_followers.sql similarity index 100% rename from mitra-models/migrations/V0049__actor_profile__add_manually_approves_followers.sql rename to fedimovies-models/migrations/V0049__actor_profile__add_manually_approves_followers.sql diff --git a/mitra-models/migrations/V0050__actor_profile__add_aliases.sql b/fedimovies-models/migrations/V0050__actor_profile__add_aliases.sql similarity index 100% rename from mitra-models/migrations/V0050__actor_profile__add_aliases.sql rename to fedimovies-models/migrations/V0050__actor_profile__add_aliases.sql diff --git a/mitra-models/migrations/V0051__relationship__source_id_target_id_not_equal.sql b/fedimovies-models/migrations/V0051__relationship__source_id_target_id_not_equal.sql similarity index 100% rename from mitra-models/migrations/V0051__relationship__source_id_target_id_not_equal.sql rename to fedimovies-models/migrations/V0051__relationship__source_id_target_id_not_equal.sql diff --git a/mitra-models/migrations/V0052__post__object_id_length.sql b/fedimovies-models/migrations/V0052__post__object_id_length.sql similarity index 100% rename from mitra-models/migrations/V0052__post__object_id_length.sql rename to fedimovies-models/migrations/V0052__post__object_id_length.sql diff --git a/mitra-models/migrations/V0053__user_account__client_config.sql b/fedimovies-models/migrations/V0053__user_account__client_config.sql similarity index 100% rename from mitra-models/migrations/V0053__user_account__client_config.sql rename to fedimovies-models/migrations/V0053__user_account__client_config.sql diff --git a/mitra-models/migrations/V0054__post__add_is_sensitive.sql b/fedimovies-models/migrations/V0054__post__add_is_sensitive.sql similarity index 100% rename from mitra-models/migrations/V0054__post__add_is_sensitive.sql rename to fedimovies-models/migrations/V0054__post__add_is_sensitive.sql diff --git a/mitra-models/migrations/schema.sql b/fedimovies-models/migrations/schema.sql similarity index 100% rename from mitra-models/migrations/schema.sql rename to fedimovies-models/migrations/schema.sql diff --git a/mitra-models/src/attachments/mod.rs b/fedimovies-models/src/attachments/mod.rs similarity index 100% rename from mitra-models/src/attachments/mod.rs rename to fedimovies-models/src/attachments/mod.rs diff --git a/mitra-models/src/attachments/queries.rs b/fedimovies-models/src/attachments/queries.rs similarity index 98% rename from mitra-models/src/attachments/queries.rs rename to fedimovies-models/src/attachments/queries.rs index f95badb..8fb9b90 100644 --- a/mitra-models/src/attachments/queries.rs +++ b/fedimovies-models/src/attachments/queries.rs @@ -1,7 +1,7 @@ use chrono::{DateTime, Utc}; use uuid::Uuid; -use mitra_utils::id::generate_ulid; +use fedimovies_utils::id::generate_ulid; use crate::cleanup::{find_orphaned_files, find_orphaned_ipfs_objects, DeletionQueue}; use crate::database::{DatabaseClient, DatabaseError}; diff --git a/mitra-models/src/attachments/types.rs b/fedimovies-models/src/attachments/types.rs similarity index 100% rename from mitra-models/src/attachments/types.rs rename to fedimovies-models/src/attachments/types.rs diff --git a/mitra-models/src/background_jobs/mod.rs b/fedimovies-models/src/background_jobs/mod.rs similarity index 100% rename from mitra-models/src/background_jobs/mod.rs rename to fedimovies-models/src/background_jobs/mod.rs diff --git a/mitra-models/src/background_jobs/queries.rs b/fedimovies-models/src/background_jobs/queries.rs similarity index 100% rename from mitra-models/src/background_jobs/queries.rs rename to fedimovies-models/src/background_jobs/queries.rs diff --git a/mitra-models/src/background_jobs/types.rs b/fedimovies-models/src/background_jobs/types.rs similarity index 100% rename from mitra-models/src/background_jobs/types.rs rename to fedimovies-models/src/background_jobs/types.rs diff --git a/mitra-models/src/cleanup.rs b/fedimovies-models/src/cleanup.rs similarity index 100% rename from mitra-models/src/cleanup.rs rename to fedimovies-models/src/cleanup.rs diff --git a/mitra-models/src/database/int_enum.rs b/fedimovies-models/src/database/int_enum.rs similarity index 100% rename from mitra-models/src/database/int_enum.rs rename to fedimovies-models/src/database/int_enum.rs diff --git a/mitra-models/src/database/json_macro.rs b/fedimovies-models/src/database/json_macro.rs similarity index 100% rename from mitra-models/src/database/json_macro.rs rename to fedimovies-models/src/database/json_macro.rs diff --git a/mitra-models/src/database/migrate.rs b/fedimovies-models/src/database/migrate.rs similarity index 100% rename from mitra-models/src/database/migrate.rs rename to fedimovies-models/src/database/migrate.rs diff --git a/mitra-models/src/database/mod.rs b/fedimovies-models/src/database/mod.rs similarity index 100% rename from mitra-models/src/database/mod.rs rename to fedimovies-models/src/database/mod.rs diff --git a/mitra-models/src/database/query_macro.rs b/fedimovies-models/src/database/query_macro.rs similarity index 100% rename from mitra-models/src/database/query_macro.rs rename to fedimovies-models/src/database/query_macro.rs diff --git a/mitra-models/src/database/test_utils.rs b/fedimovies-models/src/database/test_utils.rs similarity index 92% rename from mitra-models/src/database/test_utils.rs rename to fedimovies-models/src/database/test_utils.rs index e2ef285..90dcd72 100644 --- a/mitra-models/src/database/test_utils.rs +++ b/fedimovies-models/src/database/test_utils.rs @@ -3,7 +3,7 @@ use super::migrate::apply_migrations; use tokio_postgres::config::Config; use tokio_postgres::Client; -const DEFAULT_CONNECTION_URL: &str = "postgres://mitra:mitra@127.0.0.1:55432/mitra-test"; +const DEFAULT_CONNECTION_URL: &str = "postgres://fedimovies:fedimovies@127.0.0.1:55432/fedimovies-test"; pub async fn create_test_database() -> Client { let connection_url = diff --git a/mitra-models/src/emojis/helpers.rs b/fedimovies-models/src/emojis/helpers.rs similarity index 100% rename from mitra-models/src/emojis/helpers.rs rename to fedimovies-models/src/emojis/helpers.rs diff --git a/mitra-models/src/emojis/mod.rs b/fedimovies-models/src/emojis/mod.rs similarity index 100% rename from mitra-models/src/emojis/mod.rs rename to fedimovies-models/src/emojis/mod.rs diff --git a/mitra-models/src/emojis/queries.rs b/fedimovies-models/src/emojis/queries.rs similarity index 99% rename from mitra-models/src/emojis/queries.rs rename to fedimovies-models/src/emojis/queries.rs index c4e1558..ef5cbf8 100644 --- a/mitra-models/src/emojis/queries.rs +++ b/fedimovies-models/src/emojis/queries.rs @@ -1,7 +1,7 @@ use chrono::{DateTime, Utc}; use uuid::Uuid; -use mitra_utils::id::generate_ulid; +use fedimovies_utils::id::generate_ulid; use crate::cleanup::{find_orphaned_files, DeletionQueue}; use crate::database::{catch_unique_violation, DatabaseClient, DatabaseError}; diff --git a/mitra-models/src/emojis/types.rs b/fedimovies-models/src/emojis/types.rs similarity index 100% rename from mitra-models/src/emojis/types.rs rename to fedimovies-models/src/emojis/types.rs diff --git a/mitra-models/src/instances/mod.rs b/fedimovies-models/src/instances/mod.rs similarity index 100% rename from mitra-models/src/instances/mod.rs rename to fedimovies-models/src/instances/mod.rs diff --git a/mitra-models/src/instances/queries.rs b/fedimovies-models/src/instances/queries.rs similarity index 100% rename from mitra-models/src/instances/queries.rs rename to fedimovies-models/src/instances/queries.rs diff --git a/mitra-models/src/invoices/mod.rs b/fedimovies-models/src/invoices/mod.rs similarity index 100% rename from mitra-models/src/invoices/mod.rs rename to fedimovies-models/src/invoices/mod.rs diff --git a/mitra-models/src/invoices/queries.rs b/fedimovies-models/src/invoices/queries.rs similarity index 98% rename from mitra-models/src/invoices/queries.rs rename to fedimovies-models/src/invoices/queries.rs index d61af09..aedac1b 100644 --- a/mitra-models/src/invoices/queries.rs +++ b/fedimovies-models/src/invoices/queries.rs @@ -1,6 +1,6 @@ use uuid::Uuid; -use mitra_utils::{caip2::ChainId, id::generate_ulid}; +use fedimovies_utils::{caip2::ChainId, id::generate_ulid}; use crate::database::{catch_unique_violation, DatabaseClient, DatabaseError}; diff --git a/mitra-models/src/invoices/types.rs b/fedimovies-models/src/invoices/types.rs similarity index 98% rename from mitra-models/src/invoices/types.rs rename to fedimovies-models/src/invoices/types.rs index 0668048..0e9c50e 100644 --- a/mitra-models/src/invoices/types.rs +++ b/fedimovies-models/src/invoices/types.rs @@ -3,7 +3,7 @@ use postgres_protocol::types::{text_from_sql, text_to_sql}; use postgres_types::{accepts, private::BytesMut, to_sql_checked, FromSql, IsNull, ToSql, Type}; use uuid::Uuid; -use mitra_utils::caip2::ChainId; +use fedimovies_utils::caip2::ChainId; use crate::database::{ int_enum::{int_enum_from_sql, int_enum_to_sql}, diff --git a/mitra-models/src/lib.rs b/fedimovies-models/src/lib.rs similarity index 100% rename from mitra-models/src/lib.rs rename to fedimovies-models/src/lib.rs diff --git a/mitra-models/src/markers/mod.rs b/fedimovies-models/src/markers/mod.rs similarity index 100% rename from mitra-models/src/markers/mod.rs rename to fedimovies-models/src/markers/mod.rs diff --git a/mitra-models/src/markers/queries.rs b/fedimovies-models/src/markers/queries.rs similarity index 100% rename from mitra-models/src/markers/queries.rs rename to fedimovies-models/src/markers/queries.rs diff --git a/mitra-models/src/markers/types.rs b/fedimovies-models/src/markers/types.rs similarity index 100% rename from mitra-models/src/markers/types.rs rename to fedimovies-models/src/markers/types.rs diff --git a/mitra-models/src/notifications/mod.rs b/fedimovies-models/src/notifications/mod.rs similarity index 100% rename from mitra-models/src/notifications/mod.rs rename to fedimovies-models/src/notifications/mod.rs diff --git a/mitra-models/src/notifications/queries.rs b/fedimovies-models/src/notifications/queries.rs similarity index 99% rename from mitra-models/src/notifications/queries.rs rename to fedimovies-models/src/notifications/queries.rs index 09cbb5f..3b94fe5 100644 --- a/mitra-models/src/notifications/queries.rs +++ b/fedimovies-models/src/notifications/queries.rs @@ -263,7 +263,7 @@ pub async fn get_mention_notifications( ], ) .await?; - let mut notifications: Vec = rows + let notifications: Vec = rows .iter() .map(Notification::try_from) .collect::>()?; diff --git a/mitra-models/src/notifications/types.rs b/fedimovies-models/src/notifications/types.rs similarity index 100% rename from mitra-models/src/notifications/types.rs rename to fedimovies-models/src/notifications/types.rs diff --git a/mitra-models/src/oauth/mod.rs b/fedimovies-models/src/oauth/mod.rs similarity index 100% rename from mitra-models/src/oauth/mod.rs rename to fedimovies-models/src/oauth/mod.rs diff --git a/mitra-models/src/oauth/queries.rs b/fedimovies-models/src/oauth/queries.rs similarity index 100% rename from mitra-models/src/oauth/queries.rs rename to fedimovies-models/src/oauth/queries.rs diff --git a/mitra-models/src/oauth/types.rs b/fedimovies-models/src/oauth/types.rs similarity index 100% rename from mitra-models/src/oauth/types.rs rename to fedimovies-models/src/oauth/types.rs diff --git a/mitra-models/src/posts/helpers.rs b/fedimovies-models/src/posts/helpers.rs similarity index 100% rename from mitra-models/src/posts/helpers.rs rename to fedimovies-models/src/posts/helpers.rs diff --git a/mitra-models/src/posts/mod.rs b/fedimovies-models/src/posts/mod.rs similarity index 100% rename from mitra-models/src/posts/mod.rs rename to fedimovies-models/src/posts/mod.rs diff --git a/mitra-models/src/posts/queries.rs b/fedimovies-models/src/posts/queries.rs similarity index 99% rename from mitra-models/src/posts/queries.rs rename to fedimovies-models/src/posts/queries.rs index 7bd8834..ce443c6 100644 --- a/mitra-models/src/posts/queries.rs +++ b/fedimovies-models/src/posts/queries.rs @@ -1,7 +1,7 @@ use chrono::{DateTime, Utc}; use uuid::Uuid; -use mitra_utils::id::generate_ulid; +use fedimovies_utils::id::generate_ulid; use crate::attachments::{queries::set_attachment_ipfs_cid, types::DbMediaAttachment}; use crate::cleanup::{find_orphaned_files, find_orphaned_ipfs_objects, DeletionQueue}; diff --git a/mitra-models/src/posts/types.rs b/fedimovies-models/src/posts/types.rs similarity index 100% rename from mitra-models/src/posts/types.rs rename to fedimovies-models/src/posts/types.rs diff --git a/mitra-models/src/profiles/helpers.rs b/fedimovies-models/src/profiles/helpers.rs similarity index 100% rename from mitra-models/src/profiles/helpers.rs rename to fedimovies-models/src/profiles/helpers.rs diff --git a/mitra-models/src/profiles/mod.rs b/fedimovies-models/src/profiles/mod.rs similarity index 100% rename from mitra-models/src/profiles/mod.rs rename to fedimovies-models/src/profiles/mod.rs diff --git a/mitra-models/src/profiles/queries.rs b/fedimovies-models/src/profiles/queries.rs similarity index 99% rename from mitra-models/src/profiles/queries.rs rename to fedimovies-models/src/profiles/queries.rs index 420b45a..fed08ed 100644 --- a/mitra-models/src/profiles/queries.rs +++ b/fedimovies-models/src/profiles/queries.rs @@ -1,7 +1,7 @@ use chrono::{DateTime, Utc}; use uuid::Uuid; -use mitra_utils::{currencies::Currency, did::Did, did_pkh::DidPkh, id::generate_ulid}; +use fedimovies_utils::{currencies::Currency, did::Did, did_pkh::DidPkh, id::generate_ulid}; use crate::cleanup::{find_orphaned_files, find_orphaned_ipfs_objects, DeletionQueue}; use crate::database::{catch_unique_violation, query_macro::query, DatabaseClient, DatabaseError}; diff --git a/mitra-models/src/profiles/types.rs b/fedimovies-models/src/profiles/types.rs similarity index 99% rename from mitra-models/src/profiles/types.rs rename to fedimovies-models/src/profiles/types.rs index 313f0b7..c0e6e34 100644 --- a/mitra-models/src/profiles/types.rs +++ b/fedimovies-models/src/profiles/types.rs @@ -6,7 +6,7 @@ use serde::{ }; use uuid::Uuid; -use mitra_utils::{caip2::ChainId, did::Did}; +use fedimovies_utils::{caip2::ChainId, did::Did}; use crate::database::{ json_macro::{json_from_sql, json_to_sql}, diff --git a/mitra-models/src/properties/mod.rs b/fedimovies-models/src/properties/mod.rs similarity index 100% rename from mitra-models/src/properties/mod.rs rename to fedimovies-models/src/properties/mod.rs diff --git a/mitra-models/src/properties/queries.rs b/fedimovies-models/src/properties/queries.rs similarity index 100% rename from mitra-models/src/properties/queries.rs rename to fedimovies-models/src/properties/queries.rs diff --git a/mitra-models/src/reactions/mod.rs b/fedimovies-models/src/reactions/mod.rs similarity index 100% rename from mitra-models/src/reactions/mod.rs rename to fedimovies-models/src/reactions/mod.rs diff --git a/mitra-models/src/reactions/queries.rs b/fedimovies-models/src/reactions/queries.rs similarity index 98% rename from mitra-models/src/reactions/queries.rs rename to fedimovies-models/src/reactions/queries.rs index 4eda64f..dda9a61 100644 --- a/mitra-models/src/reactions/queries.rs +++ b/fedimovies-models/src/reactions/queries.rs @@ -1,6 +1,6 @@ use uuid::Uuid; -use mitra_utils::id::generate_ulid; +use fedimovies_utils::id::generate_ulid; use crate::database::{catch_unique_violation, DatabaseClient, DatabaseError}; use crate::notifications::queries::create_reaction_notification; diff --git a/mitra-models/src/reactions/types.rs b/fedimovies-models/src/reactions/types.rs similarity index 100% rename from mitra-models/src/reactions/types.rs rename to fedimovies-models/src/reactions/types.rs diff --git a/mitra-models/src/relationships/mod.rs b/fedimovies-models/src/relationships/mod.rs similarity index 100% rename from mitra-models/src/relationships/mod.rs rename to fedimovies-models/src/relationships/mod.rs diff --git a/mitra-models/src/relationships/queries.rs b/fedimovies-models/src/relationships/queries.rs similarity index 99% rename from mitra-models/src/relationships/queries.rs rename to fedimovies-models/src/relationships/queries.rs index 01241b2..484afa3 100644 --- a/mitra-models/src/relationships/queries.rs +++ b/fedimovies-models/src/relationships/queries.rs @@ -1,6 +1,6 @@ use uuid::Uuid; -use mitra_utils::id::generate_ulid; +use fedimovies_utils::id::generate_ulid; use crate::database::{catch_unique_violation, DatabaseClient, DatabaseError}; use crate::notifications::queries::create_follow_notification; diff --git a/mitra-models/src/relationships/types.rs b/fedimovies-models/src/relationships/types.rs similarity index 100% rename from mitra-models/src/relationships/types.rs rename to fedimovies-models/src/relationships/types.rs diff --git a/mitra-models/src/subscriptions/mod.rs b/fedimovies-models/src/subscriptions/mod.rs similarity index 100% rename from mitra-models/src/subscriptions/mod.rs rename to fedimovies-models/src/subscriptions/mod.rs diff --git a/mitra-models/src/subscriptions/queries.rs b/fedimovies-models/src/subscriptions/queries.rs similarity index 99% rename from mitra-models/src/subscriptions/queries.rs rename to fedimovies-models/src/subscriptions/queries.rs index 37712ef..f74c6eb 100644 --- a/mitra-models/src/subscriptions/queries.rs +++ b/fedimovies-models/src/subscriptions/queries.rs @@ -1,7 +1,7 @@ use chrono::{DateTime, Utc}; use uuid::Uuid; -use mitra_utils::caip2::ChainId; +use fedimovies_utils::caip2::ChainId; use crate::database::{catch_unique_violation, DatabaseClient, DatabaseError}; use crate::invoices::types::DbChainId; diff --git a/mitra-models/src/subscriptions/types.rs b/fedimovies-models/src/subscriptions/types.rs similarity index 100% rename from mitra-models/src/subscriptions/types.rs rename to fedimovies-models/src/subscriptions/types.rs diff --git a/mitra-models/src/tags/mod.rs b/fedimovies-models/src/tags/mod.rs similarity index 100% rename from mitra-models/src/tags/mod.rs rename to fedimovies-models/src/tags/mod.rs diff --git a/mitra-models/src/tags/queries.rs b/fedimovies-models/src/tags/queries.rs similarity index 100% rename from mitra-models/src/tags/queries.rs rename to fedimovies-models/src/tags/queries.rs diff --git a/mitra-models/src/users/mod.rs b/fedimovies-models/src/users/mod.rs similarity index 100% rename from mitra-models/src/users/mod.rs rename to fedimovies-models/src/users/mod.rs diff --git a/mitra-models/src/users/queries.rs b/fedimovies-models/src/users/queries.rs similarity index 99% rename from mitra-models/src/users/queries.rs rename to fedimovies-models/src/users/queries.rs index 3b997df..6985c50 100644 --- a/mitra-models/src/users/queries.rs +++ b/fedimovies-models/src/users/queries.rs @@ -1,7 +1,7 @@ use serde_json::Value as JsonValue; use uuid::Uuid; -use mitra_utils::{currencies::Currency, did::Did, did_pkh::DidPkh}; +use fedimovies_utils::{currencies::Currency, did::Did, did_pkh::DidPkh}; use crate::database::{catch_unique_violation, DatabaseClient, DatabaseError}; use crate::profiles::{ diff --git a/mitra-models/src/users/types.rs b/fedimovies-models/src/users/types.rs similarity index 98% rename from mitra-models/src/users/types.rs rename to fedimovies-models/src/users/types.rs index 4a3c8fe..5ef18a5 100644 --- a/mitra-models/src/users/types.rs +++ b/fedimovies-models/src/users/types.rs @@ -6,7 +6,7 @@ use serde::Deserialize; use serde_json::Value as JsonValue; use uuid::Uuid; -use mitra_utils::{currencies::Currency, did::Did}; +use fedimovies_utils::{currencies::Currency, did::Did}; use crate::database::{ int_enum::{int_enum_from_sql, int_enum_to_sql}, diff --git a/mitra-models/src/users/utils.rs b/fedimovies-models/src/users/utils.rs similarity index 87% rename from mitra-models/src/users/utils.rs rename to fedimovies-models/src/users/utils.rs index 864dfdb..b69b66c 100644 --- a/mitra-models/src/users/utils.rs +++ b/fedimovies-models/src/users/utils.rs @@ -1,6 +1,6 @@ use hex; -use mitra_utils::random::generate_random_sequence; +use fedimovies_utils::random::generate_random_sequence; const INVITE_CODE_LENGTH: usize = 32; diff --git a/mitra-utils/Cargo.toml b/fedimovies-utils/Cargo.toml similarity index 98% rename from mitra-utils/Cargo.toml rename to fedimovies-utils/Cargo.toml index 924f6ec..6f5d349 100644 --- a/mitra-utils/Cargo.toml +++ b/fedimovies-utils/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "mitra-utils" +name = "fedimovies-utils" version = "1.22.0" license = "AGPL-3.0" edition = "2021" diff --git a/mitra-utils/src/caip2.rs b/fedimovies-utils/src/caip2.rs similarity index 100% rename from mitra-utils/src/caip2.rs rename to fedimovies-utils/src/caip2.rs diff --git a/mitra-utils/src/canonicalization.rs b/fedimovies-utils/src/canonicalization.rs similarity index 100% rename from mitra-utils/src/canonicalization.rs rename to fedimovies-utils/src/canonicalization.rs diff --git a/mitra-utils/src/crypto_rsa.rs b/fedimovies-utils/src/crypto_rsa.rs similarity index 100% rename from mitra-utils/src/crypto_rsa.rs rename to fedimovies-utils/src/crypto_rsa.rs diff --git a/mitra-utils/src/currencies.rs b/fedimovies-utils/src/currencies.rs similarity index 100% rename from mitra-utils/src/currencies.rs rename to fedimovies-utils/src/currencies.rs diff --git a/mitra-utils/src/datetime.rs b/fedimovies-utils/src/datetime.rs similarity index 100% rename from mitra-utils/src/datetime.rs rename to fedimovies-utils/src/datetime.rs diff --git a/mitra-utils/src/did.rs b/fedimovies-utils/src/did.rs similarity index 100% rename from mitra-utils/src/did.rs rename to fedimovies-utils/src/did.rs diff --git a/mitra-utils/src/did_key.rs b/fedimovies-utils/src/did_key.rs similarity index 100% rename from mitra-utils/src/did_key.rs rename to fedimovies-utils/src/did_key.rs diff --git a/mitra-utils/src/did_pkh.rs b/fedimovies-utils/src/did_pkh.rs similarity index 100% rename from mitra-utils/src/did_pkh.rs rename to fedimovies-utils/src/did_pkh.rs diff --git a/mitra-utils/src/files.rs b/fedimovies-utils/src/files.rs similarity index 100% rename from mitra-utils/src/files.rs rename to fedimovies-utils/src/files.rs diff --git a/mitra-utils/src/html.rs b/fedimovies-utils/src/html.rs similarity index 100% rename from mitra-utils/src/html.rs rename to fedimovies-utils/src/html.rs diff --git a/mitra-utils/src/id.rs b/fedimovies-utils/src/id.rs similarity index 100% rename from mitra-utils/src/id.rs rename to fedimovies-utils/src/id.rs diff --git a/mitra-utils/src/lib.rs b/fedimovies-utils/src/lib.rs similarity index 100% rename from mitra-utils/src/lib.rs rename to fedimovies-utils/src/lib.rs diff --git a/mitra-utils/src/markdown.rs b/fedimovies-utils/src/markdown.rs similarity index 100% rename from mitra-utils/src/markdown.rs rename to fedimovies-utils/src/markdown.rs diff --git a/mitra-utils/src/multibase.rs b/fedimovies-utils/src/multibase.rs similarity index 100% rename from mitra-utils/src/multibase.rs rename to fedimovies-utils/src/multibase.rs diff --git a/mitra-utils/src/passwords.rs b/fedimovies-utils/src/passwords.rs similarity index 100% rename from mitra-utils/src/passwords.rs rename to fedimovies-utils/src/passwords.rs diff --git a/mitra-utils/src/random.rs b/fedimovies-utils/src/random.rs similarity index 100% rename from mitra-utils/src/random.rs rename to fedimovies-utils/src/random.rs diff --git a/mitra-utils/src/urls.rs b/fedimovies-utils/src/urls.rs similarity index 100% rename from mitra-utils/src/urls.rs rename to fedimovies-utils/src/urls.rs diff --git a/src/activitypub/actors/attachments.rs b/src/activitypub/actors/attachments.rs index 0906337..a282397 100644 --- a/src/activitypub/actors/attachments.rs +++ b/src/activitypub/actors/attachments.rs @@ -1,7 +1,7 @@ -use mitra_models::profiles::types::{ +use fedimovies_models::profiles::types::{ ExtraField, IdentityProof, IdentityProofType, PaymentLink, PaymentOption, }; -use mitra_utils::did::Did; +use fedimovies_utils::did::Did; use crate::activitypub::vocabulary::{IDENTITY_PROOF, LINK, PROPERTY_VALUE}; use crate::errors::ValidationError; @@ -154,7 +154,7 @@ pub fn parse_extra_field(attachment: &ActorAttachment) -> Result ( ("value", "schema:value"), ("toot", MASTODON_CONTEXT), ("IdentityProof", "toot:IdentityProof"), - ("mitra", MITRA_CONTEXT), - ("subscribers", "mitra:subscribers"), + ("fedimovies", MITRA_CONTEXT), + ("subscribers", "fedimovies:subscribers"), ]), ) } @@ -320,7 +321,7 @@ pub fn get_local_actor(user: &User, instance_url: &str) -> Result Result { public_key_pem: public_key_pem, }; let actor = Actor { - context: Some(json!(build_actor_context())), + context: Some(build_default_context()), id: actor_id, object_type: SERVICE.to_string(), name: Some(instance.hostname()), @@ -382,8 +383,8 @@ pub fn get_instance_actor(instance: &Instance) -> Result { #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActorProfile; - use mitra_utils::crypto_rsa::{generate_weak_rsa_key, serialize_private_key}; + use fedimovies_models::profiles::types::DbActorProfile; + use fedimovies_utils::crypto_rsa::{generate_weak_rsa_key, serialize_private_key}; const INSTANCE_HOSTNAME: &str = "example.com"; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/authentication.rs b/src/activitypub/authentication.rs index e5ca18b..04f7681 100644 --- a/src/activitypub/authentication.rs +++ b/src/activitypub/authentication.rs @@ -1,13 +1,13 @@ use actix_web::HttpRequest; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, profiles::queries::get_profile_by_remote_actor_id, profiles::types::DbActorProfile, }; -use mitra_utils::{crypto_rsa::deserialize_public_key, did::Did}; +use fedimovies_utils::{crypto_rsa::deserialize_public_key}; use crate::http_signatures::verify::{ parse_http_signature, verify_http_signature, @@ -16,7 +16,7 @@ use crate::http_signatures::verify::{ use crate::json_signatures::{ proofs::ProofType, verify::{ - get_json_signature, verify_ed25519_json_signature, verify_eip191_json_signature, + get_json_signature, verify_rsa_json_signature, JsonSignatureVerificationError as JsonSignatureError, JsonSigner, }, @@ -167,34 +167,7 @@ pub async fn verify_signed_activity( verify_rsa_json_signature(&signature_data, &signer_key)?; } JsonSigner::Did(did) => { - if !actor_profile.identity_proofs.any(&did) { - return Err(AuthenticationError::UnexpectedSigner); - }; - match signature_data.signature_type { - ProofType::JcsEd25519Signature => { - let did_key = match did { - Did::Key(did_key) => did_key, - _ => return Err(AuthenticationError::InvalidJsonSignatureType), - }; - verify_ed25519_json_signature( - &did_key, - &signature_data.message, - &signature_data.signature, - )?; - } - ProofType::JcsEip191Signature => { - let did_pkh = match did { - Did::Pkh(did_pkh) => did_pkh, - _ => return Err(AuthenticationError::InvalidJsonSignatureType), - }; - verify_eip191_json_signature( - &did_pkh, - &signature_data.message, - &signature_data.signature, - )?; - } - _ => return Err(AuthenticationError::InvalidJsonSignatureType), - }; + return Err(AuthenticationError::InvalidJsonSignatureType); } }; // Signer is actor diff --git a/src/activitypub/builders/accept_follow.rs b/src/activitypub/builders/accept_follow.rs index da9ccce..ec31281 100644 --- a/src/activitypub/builders/accept_follow.rs +++ b/src/activitypub/builders/accept_follow.rs @@ -1,11 +1,11 @@ use serde::Serialize; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ profiles::types::{DbActor, DbActorProfile}, users::types::User, }; -use mitra_utils::id::generate_ulid; +use fedimovies_utils::id::generate_ulid; use crate::activitypub::{ deliverer::OutgoingActivity, diff --git a/src/activitypub/builders/add_person.rs b/src/activitypub/builders/add_person.rs index 2585020..0b09038 100644 --- a/src/activitypub/builders/add_person.rs +++ b/src/activitypub/builders/add_person.rs @@ -1,8 +1,8 @@ use serde::Serialize; -use mitra_config::Instance; -use mitra_models::{profiles::types::DbActor, users::types::User}; -use mitra_utils::id::generate_ulid; +use fedimovies_config::Instance; +use fedimovies_models::{profiles::types::DbActor, users::types::User}; +use fedimovies_utils::id::generate_ulid; use crate::activitypub::{ deliverer::OutgoingActivity, diff --git a/src/activitypub/builders/announce.rs b/src/activitypub/builders/announce.rs index 7b36aae..5808784 100644 --- a/src/activitypub/builders/announce.rs +++ b/src/activitypub/builders/announce.rs @@ -1,8 +1,8 @@ use chrono::{DateTime, Utc}; use serde::Serialize; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::types::Post, profiles::types::DbActor, @@ -100,7 +100,7 @@ pub async fn prepare_announce( #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActorProfile; + use fedimovies_models::profiles::types::DbActorProfile; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/builders/create_note.rs b/src/activitypub/builders/create_note.rs index 8fde0bf..4dc98b6 100644 --- a/src/activitypub/builders/create_note.rs +++ b/src/activitypub/builders/create_note.rs @@ -1,8 +1,8 @@ use chrono::{DateTime, Utc}; use serde::Serialize; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, emojis::types::DbEmoji, posts::queries::get_post_author, @@ -284,7 +284,7 @@ pub async fn prepare_create_note( #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActorProfile; + use fedimovies_models::profiles::types::DbActorProfile; use serde_json::json; const INSTANCE_HOSTNAME: &str = "example.com"; diff --git a/src/activitypub/builders/delete_note.rs b/src/activitypub/builders/delete_note.rs index ad88687..3789fea 100644 --- a/src/activitypub/builders/delete_note.rs +++ b/src/activitypub/builders/delete_note.rs @@ -1,7 +1,7 @@ use serde::Serialize; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::helpers::add_related_posts, posts::types::Post, @@ -85,7 +85,7 @@ pub async fn prepare_delete_note( mod tests { use super::*; use crate::activitypub::{constants::AP_PUBLIC, identifiers::local_actor_followers}; - use mitra_models::profiles::types::DbActorProfile; + use fedimovies_models::profiles::types::DbActorProfile; const INSTANCE_HOSTNAME: &str = "example.com"; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/builders/delete_person.rs b/src/activitypub/builders/delete_person.rs index 1defc34..4911fca 100644 --- a/src/activitypub/builders/delete_person.rs +++ b/src/activitypub/builders/delete_person.rs @@ -1,8 +1,8 @@ use serde::Serialize; use uuid::Uuid; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, profiles::types::DbActor, relationships::queries::{get_followers, get_following}, @@ -73,7 +73,7 @@ pub async fn prepare_delete_person( #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActorProfile; + use fedimovies_models::profiles::types::DbActorProfile; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/builders/follow.rs b/src/activitypub/builders/follow.rs index f01da93..7aaa7fe 100644 --- a/src/activitypub/builders/follow.rs +++ b/src/activitypub/builders/follow.rs @@ -1,8 +1,8 @@ use serde::Serialize; use uuid::Uuid; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, profiles::types::{DbActor, DbActorProfile}, relationships::queries::{create_follow_request, follow}, @@ -95,7 +95,7 @@ pub async fn follow_or_create_request( #[cfg(test)] mod tests { use super::*; - use mitra_utils::id::generate_ulid; + use fedimovies_utils::id::generate_ulid; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/builders/like.rs b/src/activitypub/builders/like.rs index 339f507..06f929e 100644 --- a/src/activitypub/builders/like.rs +++ b/src/activitypub/builders/like.rs @@ -1,8 +1,8 @@ use serde::Serialize; use uuid::Uuid; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::types::{Post, Visibility}, profiles::types::{DbActor, DbActorProfile}, @@ -105,7 +105,7 @@ pub async fn prepare_like( #[cfg(test)] mod tests { use super::*; - use mitra_utils::id::generate_ulid; + use fedimovies_utils::id::generate_ulid; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/builders/move_person.rs b/src/activitypub/builders/move_person.rs index f19e126..7bc3fc9 100644 --- a/src/activitypub/builders/move_person.rs +++ b/src/activitypub/builders/move_person.rs @@ -1,9 +1,9 @@ use serde::Serialize; use uuid::Uuid; -use mitra_config::Instance; -use mitra_models::{profiles::types::DbActor, users::types::User}; -use mitra_utils::id::generate_ulid; +use fedimovies_config::Instance; +use fedimovies_models::{profiles::types::DbActor, users::types::User}; +use fedimovies_utils::id::generate_ulid; use crate::activitypub::{ deliverer::OutgoingActivity, @@ -72,8 +72,8 @@ pub fn prepare_move_person( #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActorProfile; - use mitra_utils::id::generate_ulid; + use fedimovies_models::profiles::types::DbActorProfile; + use fedimovies_utils::id::generate_ulid; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/builders/remove_person.rs b/src/activitypub/builders/remove_person.rs index 9a14c83..494ce5e 100644 --- a/src/activitypub/builders/remove_person.rs +++ b/src/activitypub/builders/remove_person.rs @@ -1,5 +1,5 @@ -use mitra_config::Instance; -use mitra_models::{profiles::types::DbActor, users::types::User}; +use fedimovies_config::Instance; +use fedimovies_models::{profiles::types::DbActor, users::types::User}; use crate::activitypub::{deliverer::OutgoingActivity, identifiers::LocalActorCollection}; diff --git a/src/activitypub/builders/undo_announce.rs b/src/activitypub/builders/undo_announce.rs index 739b304..a0d4a9f 100644 --- a/src/activitypub/builders/undo_announce.rs +++ b/src/activitypub/builders/undo_announce.rs @@ -1,8 +1,8 @@ use serde::Serialize; use uuid::Uuid; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::types::Post, profiles::types::DbActorProfile, @@ -80,7 +80,7 @@ pub async fn prepare_undo_announce( #[cfg(test)] mod tests { use super::*; - use mitra_utils::id::generate_ulid; + use fedimovies_utils::id::generate_ulid; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/builders/undo_follow.rs b/src/activitypub/builders/undo_follow.rs index 8313fed..4dd3050 100644 --- a/src/activitypub/builders/undo_follow.rs +++ b/src/activitypub/builders/undo_follow.rs @@ -1,8 +1,8 @@ use serde::Serialize; use uuid::Uuid; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ profiles::types::{DbActor, DbActorProfile}, users::types::User, }; @@ -78,7 +78,7 @@ pub fn prepare_undo_follow( #[cfg(test)] mod tests { use super::*; - use mitra_utils::id::generate_ulid; + use fedimovies_utils::id::generate_ulid; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/builders/undo_like.rs b/src/activitypub/builders/undo_like.rs index 85677b7..55ca417 100644 --- a/src/activitypub/builders/undo_like.rs +++ b/src/activitypub/builders/undo_like.rs @@ -1,8 +1,8 @@ use serde::Serialize; use uuid::Uuid; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::types::{Post, Visibility}, profiles::types::DbActorProfile, @@ -81,7 +81,7 @@ pub async fn prepare_undo_like( mod tests { use super::*; use crate::activitypub::constants::AP_PUBLIC; - use mitra_utils::id::generate_ulid; + use fedimovies_utils::id::generate_ulid; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/builders/update_person.rs b/src/activitypub/builders/update_person.rs index 36dd88d..1392649 100644 --- a/src/activitypub/builders/update_person.rs +++ b/src/activitypub/builders/update_person.rs @@ -1,14 +1,14 @@ use serde::Serialize; use uuid::Uuid; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError, DatabaseTypeError}, profiles::types::DbActor, relationships::queries::get_followers, users::types::User, }; -use mitra_utils::id::generate_ulid; +use fedimovies_utils::id::generate_ulid; use crate::activitypub::{ actors::types::{get_local_actor, Actor, ActorKeyError}, @@ -86,8 +86,8 @@ pub async fn prepare_update_person( #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActorProfile; - use mitra_utils::crypto_rsa::{generate_weak_rsa_key, serialize_private_key}; + use fedimovies_models::profiles::types::DbActorProfile; + use fedimovies_utils::crypto_rsa::{generate_weak_rsa_key, serialize_private_key}; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/activitypub/constants.rs b/src/activitypub/constants.rs index c941751..6b66214 100644 --- a/src/activitypub/constants.rs +++ b/src/activitypub/constants.rs @@ -9,7 +9,7 @@ pub const W3ID_SECURITY_CONTEXT: &str = "https://w3id.org/security/v1"; pub const W3ID_DATA_INTEGRITY_CONTEXT: &str = "https://w3id.org/security/data-integrity/v1"; pub const SCHEMA_ORG_CONTEXT: &str = "http://schema.org/"; pub const MASTODON_CONTEXT: &str = "http://joinmastodon.org/ns#"; -pub const MITRA_CONTEXT: &str = "http://jsonld.mitra.social#"; +pub const MITRA_CONTEXT: &str = "http://jsonld.fedimovies.social#"; // Misc pub const AP_PUBLIC: &str = "https://www.w3.org/ns/activitystreams#Public"; diff --git a/src/activitypub/deliverer.rs b/src/activitypub/deliverer.rs index 4f4dff6..f55dabd 100644 --- a/src/activitypub/deliverer.rs +++ b/src/activitypub/deliverer.rs @@ -6,13 +6,13 @@ use rsa::RsaPrivateKey; use serde::{Deserialize, Serialize}; use serde_json::Value; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, profiles::types::DbActor, users::types::User, }; -use mitra_utils::crypto_rsa::deserialize_private_key; +use fedimovies_utils::crypto_rsa::deserialize_private_key; use crate::http_signatures::create::{create_http_signature, HttpSignatureError}; use crate::json_signatures::create::{is_object_signed, sign_object, JsonSignatureError}; diff --git a/src/activitypub/fetcher/fetchers.rs b/src/activitypub/fetcher/fetchers.rs index 2e5f084..c0f6c7b 100644 --- a/src/activitypub/fetcher/fetchers.rs +++ b/src/activitypub/fetcher/fetchers.rs @@ -4,8 +4,8 @@ use reqwest::{Client, Method, RequestBuilder}; use serde::Deserialize; use serde_json::Value as JsonValue; -use mitra_config::Instance; -use mitra_utils::{files::sniff_media_type, urls::guess_protocol}; +use fedimovies_config::Instance; +use fedimovies_utils::{files::sniff_media_type, urls::guess_protocol}; use crate::activitypub::{ actors::types::Actor, diff --git a/src/activitypub/fetcher/helpers.rs b/src/activitypub/fetcher/helpers.rs index 541e1f3..254caab 100644 --- a/src/activitypub/fetcher/helpers.rs +++ b/src/activitypub/fetcher/helpers.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; -use mitra_config::{Config, Instance}; -use mitra_models::{ +use fedimovies_config::{Config, Instance}; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::helpers::get_local_post_by_id, posts::queries::get_post_by_remote_object_id, diff --git a/src/activitypub/handlers/accept.rs b/src/activitypub/handlers/accept.rs index ce6ccee..309b37f 100644 --- a/src/activitypub/handlers/accept.rs +++ b/src/activitypub/handlers/accept.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::DatabaseClient, profiles::queries::get_profile_by_remote_actor_id, relationships::queries::{follow_request_accepted, get_follow_request_by_id}, diff --git a/src/activitypub/handlers/add.rs b/src/activitypub/handlers/add.rs index ef5a533..d4c08f2 100644 --- a/src/activitypub/handlers/add.rs +++ b/src/activitypub/handlers/add.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::DatabaseClient, profiles::queries::get_profile_by_remote_actor_id, relationships::queries::subscribe_opt, users::queries::get_user_by_name, }; diff --git a/src/activitypub/handlers/announce.rs b/src/activitypub/handlers/announce.rs index 0405f27..407b534 100644 --- a/src/activitypub/handlers/announce.rs +++ b/src/activitypub/handlers/announce.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::queries::{create_post, get_post_by_remote_object_id}, posts::types::PostCreateData, diff --git a/src/activitypub/handlers/create.rs b/src/activitypub/handlers/create.rs index ef3f75b..e51643f 100644 --- a/src/activitypub/handlers/create.rs +++ b/src/activitypub/handlers/create.rs @@ -5,8 +5,8 @@ use serde::Deserialize; use serde_json::Value as JsonValue; use uuid::Uuid; -use mitra_config::{Config, Instance}; -use mitra_models::{ +use fedimovies_config::{Config, Instance}; +use fedimovies_models::{ attachments::queries::create_attachment, database::{DatabaseClient, DatabaseError}, emojis::queries::{create_emoji, get_emoji_by_remote_object_id, update_emoji}, @@ -19,7 +19,7 @@ use mitra_models::{ relationships::queries::has_local_followers, users::queries::get_user_by_name, }; -use mitra_utils::{html::clean_html, urls::get_hostname}; +use fedimovies_utils::{html::clean_html, urls::get_hostname}; use super::HandlerResult; use crate::activitypub::{ @@ -691,7 +691,7 @@ pub async fn handle_create( mod tests { use super::*; use crate::activitypub::{types::Object, vocabulary::NOTE}; - use mitra_models::profiles::types::DbActor; + use fedimovies_models::profiles::types::DbActor; use serde_json::json; #[test] diff --git a/src/activitypub/handlers/delete.rs b/src/activitypub/handlers/delete.rs index 4686ffa..0edfd5d 100644 --- a/src/activitypub/handlers/delete.rs +++ b/src/activitypub/handlers/delete.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::queries::{delete_post, get_post_by_remote_object_id}, profiles::queries::{delete_profile, get_profile_by_remote_actor_id}, diff --git a/src/activitypub/handlers/follow.rs b/src/activitypub/handlers/follow.rs index ae115cf..f4a6b96 100644 --- a/src/activitypub/handlers/follow.rs +++ b/src/activitypub/handlers/follow.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, relationships::queries::{create_remote_follow_request_opt, follow_request_accepted}, users::queries::get_user_by_name, diff --git a/src/activitypub/handlers/like.rs b/src/activitypub/handlers/like.rs index 7c62a5d..e650279 100644 --- a/src/activitypub/handlers/like.rs +++ b/src/activitypub/handlers/like.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, reactions::queries::create_reaction, }; diff --git a/src/activitypub/handlers/move.rs b/src/activitypub/handlers/move.rs index 64367ca..598b89c 100644 --- a/src/activitypub/handlers/move.rs +++ b/src/activitypub/handlers/move.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::DatabaseClient, notifications::queries::create_move_notification, profiles::helpers::find_verified_aliases, diff --git a/src/activitypub/handlers/reject.rs b/src/activitypub/handlers/reject.rs index e2f7f77..cbd99a4 100644 --- a/src/activitypub/handlers/reject.rs +++ b/src/activitypub/handlers/reject.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::DatabaseClient, profiles::queries::get_profile_by_remote_actor_id, relationships::queries::{follow_request_rejected, get_follow_request_by_id}, diff --git a/src/activitypub/handlers/remove.rs b/src/activitypub/handlers/remove.rs index d1b9f69..07ed193 100644 --- a/src/activitypub/handlers/remove.rs +++ b/src/activitypub/handlers/remove.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, notifications::queries::create_subscription_expiration_notification, profiles::queries::get_profile_by_remote_actor_id, diff --git a/src/activitypub/handlers/undo.rs b/src/activitypub/handlers/undo.rs index c6405ad..d249dad 100644 --- a/src/activitypub/handlers/undo.rs +++ b/src/activitypub/handlers/undo.rs @@ -1,8 +1,8 @@ use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::queries::{delete_post, get_post_by_remote_object_id}, profiles::queries::{get_profile_by_acct, get_profile_by_remote_actor_id}, diff --git a/src/activitypub/handlers/update.rs b/src/activitypub/handlers/update.rs index f23aec4..7e1ca41 100644 --- a/src/activitypub/handlers/update.rs +++ b/src/activitypub/handlers/update.rs @@ -4,8 +4,8 @@ use chrono::Utc; use serde::Deserialize; use serde_json::Value; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::queries::{get_post_by_remote_object_id, update_post}, posts::types::PostUpdateData, diff --git a/src/activitypub/http_client.rs b/src/activitypub/http_client.rs index 2e247ca..ab5e00c 100644 --- a/src/activitypub/http_client.rs +++ b/src/activitypub/http_client.rs @@ -3,8 +3,8 @@ use std::time::Duration; use reqwest::{Client, Proxy}; -use mitra_config::Instance; -use mitra_utils::urls::get_hostname; +use fedimovies_config::Instance; +use fedimovies_utils::urls::get_hostname; const CONNECTION_TIMEOUT: u64 = 30; diff --git a/src/activitypub/identifiers.rs b/src/activitypub/identifiers.rs index 817a983..699a30b 100644 --- a/src/activitypub/identifiers.rs +++ b/src/activitypub/identifiers.rs @@ -1,8 +1,8 @@ use regex::Regex; use uuid::Uuid; -use mitra_models::{posts::types::Post, profiles::types::DbActorProfile}; -use mitra_utils::urls::get_hostname; +use fedimovies_models::{posts::types::Post, profiles::types::DbActorProfile}; +use fedimovies_utils::urls::get_hostname; use crate::errors::ValidationError; @@ -145,7 +145,7 @@ pub fn profile_actor_url(instance_url: &str, profile: &DbActorProfile) -> String #[cfg(test)] mod tests { use super::*; - use mitra_utils::id::generate_ulid; + use fedimovies_utils::id::generate_ulid; const INSTANCE_URL: &str = "https://example.org"; diff --git a/src/activitypub/queues.rs b/src/activitypub/queues.rs index f420381..c573943 100644 --- a/src/activitypub/queues.rs +++ b/src/activitypub/queues.rs @@ -3,8 +3,8 @@ use serde::{Deserialize, Serialize}; use serde_json::Value; use uuid::Uuid; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ background_jobs::queries::{delete_job_from_queue, enqueue_job, get_job_batch}, background_jobs::types::JobType, database::{get_database_client, DatabaseClient, DatabaseError, DatabaseTypeError, DbPool}, diff --git a/src/activitypub/receiver.rs b/src/activitypub/receiver.rs index b6187e2..d1652fa 100644 --- a/src/activitypub/receiver.rs +++ b/src/activitypub/receiver.rs @@ -2,8 +2,8 @@ use actix_web::HttpRequest; use serde::{de::DeserializeOwned, de::Error as DeserializerError, Deserialize, Deserializer}; use serde_json::Value; -use mitra_config::Config; -use mitra_models::database::{DatabaseClient, DatabaseError}; +use fedimovies_config::Config; +use fedimovies_models::database::{DatabaseClient, DatabaseError}; use super::authentication::{verify_signed_activity, verify_signed_request, AuthenticationError}; use super::fetcher::fetchers::FetchError; diff --git a/src/activitypub/types.rs b/src/activitypub/types.rs index 6acd194..585425e 100644 --- a/src/activitypub/types.rs +++ b/src/activitypub/types.rs @@ -1,12 +1,7 @@ -use std::collections::HashMap; - use chrono::{DateTime, Utc}; use serde::{de::Error as DeserializerError, Deserialize, Deserializer, Serialize}; -use serde_json::Value; +use serde_json::{json, Value}; -use super::constants::{ - AP_CONTEXT, MITRA_CONTEXT, W3ID_DATA_INTEGRITY_CONTEXT, W3ID_SECURITY_CONTEXT, -}; use super::receiver::parse_property_value; use super::vocabulary::HASHTAG; @@ -125,24 +120,67 @@ pub struct Object { pub url: Option, } -pub type Context = ( - &'static str, - &'static str, - &'static str, - HashMap<&'static str, &'static str>, -); +pub type Context = Value; pub fn build_default_context() -> Context { - ( - AP_CONTEXT, - W3ID_SECURITY_CONTEXT, - W3ID_DATA_INTEGRITY_CONTEXT, - HashMap::from([ - ("proofValue", "sec:proofValue"), - ("proofPurpose", "sec:proofPurpose"), - ("verificationMethod", "sec:verificationMethod"), - ("mitra", MITRA_CONTEXT), - ("MitraJcsRsaSignature2022", "mitra:MitraJcsRsaSignature2022"), - ]), - ) + json!([ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1", + { + "manuallyApprovesFollowers": "as:manuallyApprovesFollowers", + "toot": "http://joinmastodon.org/ns#", + "featured": { + "@id": "toot:featured", + "@type": "@id" + }, + "featuredTags": { + "@id": "toot:featuredTags", + "@type": "@id" + }, + "alsoKnownAs": { + "@id": "as:alsoKnownAs", + "@type": "@id" + }, + "movedTo": { + "@id": "as:movedTo", + "@type": "@id" + }, + "schema": "http://schema.org#", + "PropertyValue": "schema:PropertyValue", + "value": "schema:value", + "IdentityProof": "toot:IdentityProof", + "discoverable": "toot:discoverable", + "Device": "toot:Device", + "Ed25519Signature": "toot:Ed25519Signature", + "Ed25519Key": "toot:Ed25519Key", + "Curve25519Key": "toot:Curve25519Key", + "EncryptedMessage": "toot:EncryptedMessage", + "publicKeyBase64": "toot:publicKeyBase64", + "deviceId": "toot:deviceId", + "claim": { + "@type": "@id", + "@id": "toot:claim" + }, + "fingerprintKey": { + "@type": "@id", + "@id": "toot:fingerprintKey" + }, + "identityKey": { + "@type": "@id", + "@id": "toot:identityKey" + }, + "devices": { + "@type": "@id", + "@id": "toot:devices" + }, + "messageFranking": "toot:messageFranking", + "messageType": "toot:messageType", + "cipherText": "toot:cipherText", + "suspended": "toot:suspended", + "focalPoint": { + "@container": "@list", + "@id": "toot:focalPoint" + } + } + ]) } diff --git a/src/activitypub/views.rs b/src/activitypub/views.rs index 3773394..701fb54 100644 --- a/src/activitypub/views.rs +++ b/src/activitypub/views.rs @@ -8,8 +8,8 @@ use serde::Deserialize; use tokio::sync::Mutex; use uuid::Uuid; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DatabaseError, DbPool}, emojis::queries::get_local_emoji_by_name, posts::helpers::{add_related_posts, can_view_post}, diff --git a/src/admin/roles.rs b/src/admin/roles.rs index 1414c79..f48dce5 100644 --- a/src/admin/roles.rs +++ b/src/admin/roles.rs @@ -1,4 +1,4 @@ -use mitra_models::users::types::Role; +use fedimovies_models::users::types::Role; use crate::errors::ValidationError; diff --git a/src/atom/feeds.rs b/src/atom/feeds.rs index 0fff787..96960e3 100644 --- a/src/atom/feeds.rs +++ b/src/atom/feeds.rs @@ -1,6 +1,6 @@ -use mitra_config::Instance; -use mitra_models::{posts::types::Post, profiles::types::DbActorProfile}; -use mitra_utils::{ +use fedimovies_config::Instance; +use fedimovies_models::{posts::types::Post, profiles::types::DbActorProfile}; +use fedimovies_utils::{ datetime::get_min_datetime, html::{clean_html_all, escape_html}, }; diff --git a/src/atom/views.rs b/src/atom/views.rs index f4c7e24..fc1826b 100644 --- a/src/atom/views.rs +++ b/src/atom/views.rs @@ -1,7 +1,7 @@ use actix_web::{web, HttpResponse, Scope}; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DbPool}, posts::queries::get_posts_by_author, users::queries::get_user_by_name, diff --git a/src/errors.rs b/src/errors.rs index 1ffdcb4..02c151f 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -1,7 +1,7 @@ use actix_web::{error::ResponseError, http::StatusCode, HttpResponse, HttpResponseBuilder}; use serde::Serialize; -use mitra_models::database::DatabaseError; +use fedimovies_models::database::DatabaseError; #[derive(thiserror::Error, Debug)] #[error("conversion error")] diff --git a/src/http.rs b/src/http.rs index 0c9b0ef..5cc220e 100644 --- a/src/http.rs +++ b/src/http.rs @@ -9,7 +9,7 @@ use actix_web::{ }; use serde_json::json; -use mitra_utils::urls::guess_protocol; +use fedimovies_utils::urls::guess_protocol; use crate::errors::HttpError; diff --git a/src/http_signatures/create.rs b/src/http_signatures/create.rs index f88853b..f42204f 100644 --- a/src/http_signatures/create.rs +++ b/src/http_signatures/create.rs @@ -2,7 +2,7 @@ use actix_web::http::Method; use chrono::Utc; use rsa::RsaPrivateKey; -use mitra_utils::crypto_rsa::{create_rsa_sha256_signature, get_message_digest}; +use fedimovies_utils::crypto_rsa::{create_rsa_sha256_signature, get_message_digest}; const HTTP_SIGNATURE_ALGORITHM: &str = "rsa-sha256"; const HTTP_SIGNATURE_DATE_FORMAT: &str = "%a, %d %b %Y %T GMT"; @@ -87,7 +87,7 @@ pub fn create_http_signature( #[cfg(test)] mod tests { use super::*; - use mitra_utils::crypto_rsa::generate_weak_rsa_key; + use fedimovies_utils::crypto_rsa::generate_weak_rsa_key; #[test] fn test_create_signature_get() { diff --git a/src/http_signatures/verify.rs b/src/http_signatures/verify.rs index 0aef59d..afe5305 100644 --- a/src/http_signatures/verify.rs +++ b/src/http_signatures/verify.rs @@ -5,7 +5,7 @@ use chrono::{DateTime, Duration, TimeZone, Utc}; use regex::Regex; use rsa::RsaPublicKey; -use mitra_utils::crypto_rsa::verify_rsa_sha256_signature; +use fedimovies_utils::crypto_rsa::verify_rsa_sha256_signature; const SIGNATURE_PARAMETER_RE: &str = r#"^(?P[a-zA-Z]+)="(?P.+)"$"#; @@ -172,7 +172,7 @@ mod tests { header::{HeaderMap, HeaderName, HeaderValue}, Uri, }; - use mitra_utils::crypto_rsa::generate_weak_rsa_key; + use fedimovies_utils::crypto_rsa::generate_weak_rsa_key; #[test] fn test_parse_signature() { diff --git a/src/identity/claims.rs b/src/identity/claims.rs index 2658eb7..8fd4612 100644 --- a/src/identity/claims.rs +++ b/src/identity/claims.rs @@ -1,6 +1,6 @@ use serde::Serialize; -use mitra_utils::{ +use fedimovies_utils::{ canonicalization::{canonicalize_object, CanonicalizationError}, did::Did, }; @@ -26,7 +26,7 @@ pub fn create_identity_claim(actor_id: &str, did: &Did) -> Result Self { - Self { - proof_type: PROOF_TYPE_JCS_RSA.to_string(), - cryptosuite: None, - proof_purpose: PROOF_PURPOSE.to_string(), - verification_method: signer_key_id.to_string(), - created: Utc::now(), - proof_value: encode_multibase_base58btc(signature), - } - } - - pub fn jcs_eip191(signer: &DidPkh, signature: &[u8]) -> Self { - Self { - proof_type: PROOF_TYPE_JCS_EIP191.to_string(), - cryptosuite: None, - proof_purpose: PROOF_PURPOSE.to_string(), - verification_method: signer.to_string(), - created: Utc::now(), - proof_value: encode_multibase_base58btc(signature), - } - } - - pub fn jcs_ed25519(signer: &DidKey, signature: &[u8]) -> Self { - Self { - proof_type: PROOF_TYPE_JCS_ED25519.to_string(), - cryptosuite: None, - proof_purpose: PROOF_PURPOSE.to_string(), - verification_method: signer.to_string(), - created: Utc::now(), - proof_value: encode_multibase_base58btc(signature), - } - } -} - #[derive(thiserror::Error, Debug)] pub enum JsonSignatureError { #[error(transparent)] @@ -79,40 +42,14 @@ pub enum JsonSignatureError { #[error("invalid object")] InvalidObject, - - #[error("already signed")] - AlreadySigned, -} - -pub fn add_integrity_proof( - object_value: &mut Value, - proof: IntegrityProof, -) -> Result<(), JsonSignatureError> { - let object_map = object_value - .as_object_mut() - .ok_or(JsonSignatureError::InvalidObject)?; - if object_map.contains_key(PROOF_KEY) { - return Err(JsonSignatureError::AlreadySigned); - }; - let proof_value = serde_json::to_value(proof)?; - object_map.insert(PROOF_KEY.to_string(), proof_value); - Ok(()) } pub fn sign_object( - object: &Value, - signer_key: &RsaPrivateKey, - signer_key_id: &str, + _object: &Value, + _signer_key: &RsaPrivateKey, + _signer_key_id: &str, ) -> Result { - // Canonicalize - let transformed_object = canonicalize_object(object)?; - // Sign - let signature = create_rsa_sha256_signature(signer_key, &transformed_object)?; - // Insert proof - let proof = IntegrityProof::jcs_rsa(signer_key_id, &signature); - let mut signed_object = object.clone(); - add_integrity_proof(&mut signed_object, proof)?; - Ok(signed_object) + Err(JsonSignatureError::InvalidObject) } pub fn is_object_signed(object: &Value) -> bool { @@ -122,7 +59,7 @@ pub fn is_object_signed(object: &Value) -> bool { #[cfg(test)] mod tests { use super::*; - use mitra_utils::crypto_rsa::generate_weak_rsa_key; + use fedimovies_utils::crypto_rsa::generate_weak_rsa_key; use serde_json::json; #[test] diff --git a/src/json_signatures/proofs.rs b/src/json_signatures/proofs.rs index 4976529..1b176ab 100644 --- a/src/json_signatures/proofs.rs +++ b/src/json_signatures/proofs.rs @@ -12,29 +12,12 @@ pub const PROOF_TYPE_ID_MINISIGN: &str = "MitraMinisignSignature2022A"; // https://w3c.github.io/vc-data-integrity/#dataintegrityproof pub const DATA_INTEGRITY_PROOF: &str = "DataIntegrityProof"; -// Similar to https://identity.foundation/JcsEd25519Signature2020/ -// - Canonicalization algorithm: JCS -// - Digest algorithm: SHA-256 -// - Signature algorithm: RSASSA-PKCS1-v1_5 -pub const PROOF_TYPE_JCS_RSA: &str = "MitraJcsRsaSignature2022"; -pub const PROOF_TYPE_JCS_RSA_LEGACY: &str = "JcsRsaSignature2022"; -pub const CRYPTOSUITE_JCS_RSA: &str = "mitra-jcs-rsa-2022"; - // Similar to EthereumPersonalSignature2021 but with JCS -pub const PROOF_TYPE_JCS_EIP191: &str = "MitraJcsEip191Signature2022"; pub const PROOF_TYPE_JCS_EIP191_LEGACY: &str = "JcsEip191Signature2022"; -// Similar to Ed25519Signature2020 -// https://w3c-ccg.github.io/di-eddsa-2020/#ed25519signature2020 -// - Canonicalization algorithm: JCS -// - Digest algorithm: BLAKE2b-512 -// - Signature algorithm: EdDSA -pub const PROOF_TYPE_JCS_ED25519: &str = "MitraJcsEd25519Signature2022"; - #[derive(Debug, PartialEq)] pub enum ProofType { JcsEip191Signature, - JcsEd25519Signature, JcsRsaSignature, } @@ -43,11 +26,7 @@ impl FromStr for ProofType { fn from_str(value: &str) -> Result { let proof_type = match value { - PROOF_TYPE_JCS_EIP191 => Self::JcsEip191Signature, PROOF_TYPE_JCS_EIP191_LEGACY => Self::JcsEip191Signature, - PROOF_TYPE_JCS_ED25519 => Self::JcsEd25519Signature, - PROOF_TYPE_JCS_RSA => Self::JcsRsaSignature, - PROOF_TYPE_JCS_RSA_LEGACY => Self::JcsRsaSignature, _ => return Err(ConversionError), }; Ok(proof_type) @@ -56,10 +35,6 @@ impl FromStr for ProofType { impl ProofType { pub fn from_cryptosuite(value: &str) -> Result { - let proof_type = match value { - CRYPTOSUITE_JCS_RSA => Self::JcsRsaSignature, - _ => return Err(ConversionError), - }; - Ok(proof_type) + Err(ConversionError) } } diff --git a/src/json_signatures/verify.rs b/src/json_signatures/verify.rs index f66aca4..6958821 100644 --- a/src/json_signatures/verify.rs +++ b/src/json_signatures/verify.rs @@ -4,7 +4,7 @@ use rsa::RsaPublicKey; use serde_json::Value; use url::Url; -use mitra_utils::{ +use fedimovies_utils::{ canonicalization::{canonicalize_object, CanonicalizationError}, crypto_rsa::verify_rsa_sha256_signature, did::Did, @@ -116,28 +116,11 @@ pub fn verify_rsa_json_signature( Ok(()) } -pub fn verify_eip191_json_signature( - _signer: &DidPkh, - _message: &str, - _signature: &[u8], -) -> Result<(), VerificationError> { - Err(VerificationError::InvalidSignature) -} - -pub fn verify_ed25519_json_signature( - signer: &DidKey, - message: &str, - signature: &[u8], -) -> Result<(), VerificationError> { - verify_minisign_signature(signer, message, signature) - .map_err(|_| VerificationError::InvalidSignature) -} - #[cfg(test)] mod tests { use super::*; use crate::json_signatures::create::sign_object; - use mitra_utils::{crypto_rsa::generate_weak_rsa_key, currencies::Currency}; + use fedimovies_utils::{crypto_rsa::generate_weak_rsa_key, currencies::Currency}; use serde_json::json; #[test] diff --git a/src/main.rs b/src/main.rs index d071560..6e05b6d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,33 +5,33 @@ use actix_web::{ }; use tokio::sync::Mutex; -use mitra::activitypub::views as activitypub; -use mitra::atom::views::atom_scope; -use mitra::http::{ +use fedimovies::activitypub::views as activitypub; +use fedimovies::atom::views::atom_scope; +use fedimovies::http::{ create_auth_error_handler, create_default_headers_middleware, json_error_handler, }; -use mitra::job_queue::scheduler; -use mitra::logger::configure_logger; -use mitra::mastodon_api::accounts::views::account_api_scope; -use mitra::mastodon_api::apps::views::application_api_scope; -use mitra::mastodon_api::custom_emojis::views::custom_emoji_api_scope; -use mitra::mastodon_api::directory::views::directory_api_scope; -use mitra::mastodon_api::instance::views::instance_api_scope; -use mitra::mastodon_api::markers::views::marker_api_scope; -use mitra::mastodon_api::media::views::media_api_scope; -use mitra::mastodon_api::notifications::views::notification_api_scope; -use mitra::mastodon_api::oauth::views::oauth_api_scope; -use mitra::mastodon_api::search::views::search_api_scope; -use mitra::mastodon_api::settings::views::settings_api_scope; -use mitra::mastodon_api::statuses::views::status_api_scope; -use mitra::mastodon_api::subscriptions::views::subscription_api_scope; -use mitra::mastodon_api::timelines::views::timeline_api_scope; -use mitra::nodeinfo::views as nodeinfo; -use mitra::web_client::views as web_client; -use mitra::webfinger::views as webfinger; -use mitra_config::{parse_config, Environment, REEF_VERSION}; -use mitra_models::database::migrate::apply_migrations; -use mitra_models::database::{create_pool, get_database_client}; +use fedimovies::job_queue::scheduler; +use fedimovies::logger::configure_logger; +use fedimovies::mastodon_api::accounts::views::account_api_scope; +use fedimovies::mastodon_api::apps::views::application_api_scope; +use fedimovies::mastodon_api::custom_emojis::views::custom_emoji_api_scope; +use fedimovies::mastodon_api::directory::views::directory_api_scope; +use fedimovies::mastodon_api::instance::views::instance_api_scope; +use fedimovies::mastodon_api::markers::views::marker_api_scope; +use fedimovies::mastodon_api::media::views::media_api_scope; +use fedimovies::mastodon_api::notifications::views::notification_api_scope; +use fedimovies::mastodon_api::oauth::views::oauth_api_scope; +use fedimovies::mastodon_api::search::views::search_api_scope; +use fedimovies::mastodon_api::settings::views::settings_api_scope; +use fedimovies::mastodon_api::statuses::views::status_api_scope; +use fedimovies::mastodon_api::subscriptions::views::subscription_api_scope; +use fedimovies::mastodon_api::timelines::views::timeline_api_scope; +use fedimovies::nodeinfo::views as nodeinfo; +use fedimovies::web_client::views as web_client; +use fedimovies::webfinger::views as webfinger; +use fedimovies_config::{parse_config, Environment, REEF_VERSION}; +use fedimovies_models::database::migrate::apply_migrations; +use fedimovies_models::database::{create_pool, get_database_client}; #[actix_web::main] async fn main() -> std::io::Result<()> { diff --git a/src/mastodon_api/accounts/helpers.rs b/src/mastodon_api/accounts/helpers.rs index 99cce2e..e6958b5 100644 --- a/src/mastodon_api/accounts/helpers.rs +++ b/src/mastodon_api/accounts/helpers.rs @@ -1,6 +1,6 @@ use uuid::Uuid; -use mitra_models::{ +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, profiles::helpers::{find_declared_aliases, find_verified_aliases}, profiles::types::DbActorProfile, @@ -80,7 +80,7 @@ pub async fn get_aliases( #[cfg(test)] mod tests { use super::*; - use mitra_models::{ + use fedimovies_models::{ database::test_utils::create_test_database, relationships::queries::{ create_follow_request, follow, follow_request_accepted, hide_reposts, show_reposts, diff --git a/src/mastodon_api/accounts/types.rs b/src/mastodon_api/accounts/types.rs index 0182cb4..733594a 100644 --- a/src/mastodon_api/accounts/types.rs +++ b/src/mastodon_api/accounts/types.rs @@ -4,12 +4,12 @@ use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; -use mitra_models::{ +use fedimovies_models::{ profiles::types::{DbActorProfile, ExtraField, PaymentOption, ProfileImage, ProfileUpdateData}, subscriptions::types::Subscription, users::types::{ClientConfig, Permission, Role, User}, }; -use mitra_utils::{did::Did, markdown::markdown_basic_to_html}; +use fedimovies_utils::{did::Did, markdown::markdown_basic_to_html}; use crate::activitypub::{actors::helpers::ACTOR_IMAGE_MAX_SIZE, identifiers::profile_actor_url}; use crate::errors::ValidationError; @@ -527,7 +527,7 @@ pub struct Aliases { #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::ProfileImage; + use fedimovies_models::profiles::types::ProfileImage; const INSTANCE_URL: &str = "https://example.com"; diff --git a/src/mastodon_api/accounts/views.rs b/src/mastodon_api/accounts/views.rs index a698188..469ec9b 100644 --- a/src/mastodon_api/accounts/views.rs +++ b/src/mastodon_api/accounts/views.rs @@ -2,8 +2,8 @@ use actix_web::{dev::ConnectionInfo, get, patch, post, web, HttpRequest, HttpRes use actix_web_httpauth::extractors::bearer::BearerAuth; use uuid::Uuid; -use mitra_config::{Config, DefaultRole, RegistrationType}; -use mitra_models::{ +use fedimovies_config::{Config, DefaultRole, RegistrationType}; +use fedimovies_models::{ database::{get_database_client, DatabaseError, DbPool}, posts::queries::get_posts_by_author, profiles::helpers::find_verified_aliases, @@ -19,7 +19,7 @@ use mitra_models::{ users::queries::{create_user, get_user_by_did, is_valid_invite_code}, users::types::{Role, UserCreateData}, }; -use mitra_utils::{ +use fedimovies_utils::{ caip2::ChainId, canonicalization::canonicalize_object, crypto_rsa::{generate_rsa_key, serialize_private_key}, @@ -51,10 +51,7 @@ use crate::identity::{ claims::create_identity_claim, minisign::{minisign_key_to_did, parse_minisign_signature, verify_minisign_signature}, }; -use crate::json_signatures::{ - create::{add_integrity_proof, IntegrityProof}, - verify::{verify_ed25519_json_signature, verify_eip191_json_signature}, -}; +use crate::json_signatures::create::IntegrityProof; use crate::mastodon_api::{ errors::MastodonError, oauth::auth::get_current_user, pagination::get_paginated_response, search::helpers::search_profiles_only, statuses::helpers::build_status_list, @@ -206,171 +203,6 @@ async fn get_unsigned_update( Ok(HttpResponse::Ok().json(data)) } -#[post("/send_activity")] -async fn send_signed_activity( - auth: BearerAuth, - connection_info: ConnectionInfo, - config: web::Data, - db_pool: web::Data, - data: web::Json, -) -> Result { - let db_client = &mut **get_database_client(&db_pool).await?; - let current_user = get_current_user(db_client, auth.token()).await?; - let signer = data - .signer - .parse::() - .map_err(|_| ValidationError("invalid DID"))?; - if !current_user.profile.identity_proofs.any(&signer) { - return Err(ValidationError("unknown signer").into()); - }; - let mut outgoing_activity = match &data.params { - ActivityParams::Update { - internal_activity_id, - } => prepare_update_person( - db_client, - &config.instance(), - ¤t_user, - Some(*internal_activity_id), - ) - .await - .map_err(|_| MastodonError::InternalError)?, - }; - let canonical_json = canonicalize_object(&outgoing_activity.activity) - .map_err(|_| MastodonError::InternalError)?; - let proof = match signer { - Did::Key(signer) => { - let signature_bin = parse_minisign_signature(&data.signature) - .map_err(|_| ValidationError("invalid encoding"))?; - verify_ed25519_json_signature(&signer, &canonical_json, &signature_bin) - .map_err(|_| ValidationError("invalid signature"))?; - IntegrityProof::jcs_ed25519(&signer, &signature_bin) - } - Did::Pkh(signer) => { - let signature_bin = - hex::decode(&data.signature).map_err(|_| ValidationError("invalid encoding"))?; - verify_eip191_json_signature(&signer, &canonical_json, &signature_bin) - .map_err(|_| ValidationError("invalid signature"))?; - IntegrityProof::jcs_eip191(&signer, &signature_bin) - } - }; - add_integrity_proof(&mut outgoing_activity.activity, proof) - .map_err(|_| MastodonError::InternalError)?; - - outgoing_activity.enqueue(db_client).await?; - - let account = Account::from_user( - &get_request_base_url(connection_info), - &config.instance_url(), - current_user, - ); - Ok(HttpResponse::Ok().json(account)) -} - -#[get("/identity_proof")] -async fn get_identity_claim( - auth: BearerAuth, - config: web::Data, - db_pool: web::Data, - query_params: web::Query, -) -> Result { - let db_client = &**get_database_client(&db_pool).await?; - let current_user = get_current_user(db_client, auth.token()).await?; - let did = match query_params.proof_type.as_str() { - "ethereum" => { - let did_pkh = DidPkh::from_address(&Currency::Ethereum, &query_params.signer); - Did::Pkh(did_pkh) - } - "minisign" => { - let did_key = minisign_key_to_did(&query_params.signer) - .map_err(|_| ValidationError("invalid key"))?; - Did::Key(did_key) - } - _ => return Err(ValidationError("unknown proof type").into()), - }; - let actor_id = local_actor_id(&config.instance_url(), ¤t_user.profile.username); - let claim = create_identity_claim(&actor_id, &did).map_err(|_| MastodonError::InternalError)?; - let response = IdentityClaim { did, claim }; - Ok(HttpResponse::Ok().json(response)) -} - -#[post("/identity_proof")] -async fn create_identity_proof( - auth: BearerAuth, - connection_info: ConnectionInfo, - config: web::Data, - db_pool: web::Data, - proof_data: web::Json, -) -> Result { - let db_client = &mut **get_database_client(&db_pool).await?; - let mut current_user = get_current_user(db_client, auth.token()).await?; - let did = proof_data - .did - .parse::() - .map_err(|_| ValidationError("invalid DID"))?; - // Reject proof if there's another local user with the same DID. - // This is needed for matching ethereum subscriptions - match get_user_by_did(db_client, &did).await { - Ok(user) => { - if user.id != current_user.id { - return Err(ValidationError("DID already associated with another user").into()); - }; - } - Err(DatabaseError::NotFound(_)) => (), - Err(other_error) => return Err(other_error.into()), - }; - let actor_id = local_actor_id(&config.instance_url(), ¤t_user.profile.username); - let message = - create_identity_claim(&actor_id, &did).map_err(|_| ValidationError("invalid claim"))?; - - // Verify proof - let proof_type = match did { - Did::Key(ref did_key) => { - let signature_bin = parse_minisign_signature(&proof_data.signature) - .map_err(|_| ValidationError("invalid signature encoding"))?; - verify_minisign_signature(did_key, &message, &signature_bin) - .map_err(|_| ValidationError("invalid signature"))?; - IdentityProofType::LegacyMinisignIdentityProof - } - Did::Pkh(ref did_pkh) => { - if did_pkh.chain_id != ChainId::ethereum_mainnet() { - // DID must point to Ethereum Mainnet because it is a valid - // identifier on any Ethereum chain - return Err(ValidationError("unsupported chain ID").into()); - }; - let maybe_public_address = current_user.public_wallet_address(&Currency::Ethereum); - if let Some(address) = maybe_public_address { - // Do not allow to add more than one address proof - if did_pkh.address != address { - return Err(ValidationError("DID doesn't match current identity").into()); - }; - }; - return Err(ValidationError("invalid signature").into()); - } - }; - - let proof = IdentityProof { - issuer: did, - proof_type: proof_type, - value: proof_data.signature.clone(), - }; - let mut profile_data = ProfileUpdateData::from(¤t_user.profile); - profile_data.add_identity_proof(proof); - current_user.profile = update_profile(db_client, ¤t_user.id, profile_data).await?; - - // Federate - prepare_update_person(db_client, &config.instance(), ¤t_user, None) - .await? - .enqueue(db_client) - .await?; - - let account = Account::from_user( - &get_request_base_url(connection_info), - &config.instance_url(), - current_user, - ); - Ok(HttpResponse::Ok().json(account)) -} - #[get("/relationships")] async fn get_relationships_view( auth: BearerAuth, @@ -726,9 +558,6 @@ pub fn account_api_scope() -> Scope { .service(verify_credentials) .service(update_credentials) .service(get_unsigned_update) - .service(send_signed_activity) - .service(get_identity_claim) - .service(create_identity_proof) .service(get_relationships_view) .service(lookup_acct) .service(search_by_acct) diff --git a/src/mastodon_api/apps/views.rs b/src/mastodon_api/apps/views.rs index ec54123..e57b692 100644 --- a/src/mastodon_api/apps/views.rs +++ b/src/mastodon_api/apps/views.rs @@ -1,7 +1,7 @@ use actix_web::{post, web, Either, HttpResponse, Scope}; use uuid::Uuid; -use mitra_models::{ +use fedimovies_models::{ database::{get_database_client, DbPool}, oauth::queries::create_oauth_app, oauth::types::DbOauthAppData, diff --git a/src/mastodon_api/custom_emojis/types.rs b/src/mastodon_api/custom_emojis/types.rs index d268ce1..65dc7a9 100644 --- a/src/mastodon_api/custom_emojis/types.rs +++ b/src/mastodon_api/custom_emojis/types.rs @@ -1,6 +1,6 @@ use serde::Serialize; -use mitra_models::emojis::types::DbEmoji; +use fedimovies_models::emojis::types::DbEmoji; use crate::media::get_file_url; diff --git a/src/mastodon_api/custom_emojis/views.rs b/src/mastodon_api/custom_emojis/views.rs index 5257234..72180ec 100644 --- a/src/mastodon_api/custom_emojis/views.rs +++ b/src/mastodon_api/custom_emojis/views.rs @@ -1,6 +1,6 @@ use actix_web::{dev::ConnectionInfo, get, web, HttpResponse, Scope}; -use mitra_models::{ +use fedimovies_models::{ database::{get_database_client, DbPool}, emojis::queries::get_local_emojis, }; diff --git a/src/mastodon_api/directory/views.rs b/src/mastodon_api/directory/views.rs index 8335063..07a3bfd 100644 --- a/src/mastodon_api/directory/views.rs +++ b/src/mastodon_api/directory/views.rs @@ -2,8 +2,8 @@ use actix_web::{dev::ConnectionInfo, get, web, HttpResponse, Scope}; use actix_web_httpauth::extractors::bearer::BearerAuth; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DbPool}, profiles::queries::get_profiles, }; diff --git a/src/mastodon_api/errors.rs b/src/mastodon_api/errors.rs index 0f1fec4..2699aaf 100644 --- a/src/mastodon_api/errors.rs +++ b/src/mastodon_api/errors.rs @@ -1,7 +1,7 @@ use actix_web::{error::ResponseError, http::StatusCode, HttpResponse, HttpResponseBuilder}; use serde::Serialize; -use mitra_models::database::DatabaseError; +use fedimovies_models::database::DatabaseError; use crate::errors::ValidationError; diff --git a/src/mastodon_api/instance/types.rs b/src/mastodon_api/instance/types.rs index 0d0f19c..f84d3e6 100644 --- a/src/mastodon_api/instance/types.rs +++ b/src/mastodon_api/instance/types.rs @@ -1,7 +1,7 @@ use serde::Serialize; -use mitra_config::{Config, RegistrationType, REEF_VERSION}; -use mitra_utils::markdown::markdown_to_html; +use fedimovies_config::{Config, RegistrationType, REEF_VERSION}; +use fedimovies_utils::markdown::markdown_to_html; use crate::mastodon_api::MASTODON_API_VERSION; use crate::media::SUPPORTED_MEDIA_TYPES; diff --git a/src/mastodon_api/instance/views.rs b/src/mastodon_api/instance/views.rs index 5259998..7f5a2de 100644 --- a/src/mastodon_api/instance/views.rs +++ b/src/mastodon_api/instance/views.rs @@ -1,7 +1,7 @@ use actix_web::{get, web, HttpResponse, Scope}; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DbPool}, instances::queries::{get_peer_count, get_peers}, posts::queries::get_local_post_count, diff --git a/src/mastodon_api/markers/types.rs b/src/mastodon_api/markers/types.rs index ecad9ca..0ed9804 100644 --- a/src/mastodon_api/markers/types.rs +++ b/src/mastodon_api/markers/types.rs @@ -1,7 +1,7 @@ use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; -use mitra_models::markers::types::{DbTimelineMarker, Timeline}; +use fedimovies_models::markers::types::{DbTimelineMarker, Timeline}; use crate::errors::ValidationError; diff --git a/src/mastodon_api/markers/views.rs b/src/mastodon_api/markers/views.rs index caa2edb..f19675b 100644 --- a/src/mastodon_api/markers/views.rs +++ b/src/mastodon_api/markers/views.rs @@ -1,7 +1,7 @@ use actix_web::{get, post, web, HttpResponse, Scope}; use actix_web_httpauth::extractors::bearer::BearerAuth; -use mitra_models::{ +use fedimovies_models::{ database::{get_database_client, DbPool}, markers::queries::{create_or_update_marker, get_marker_opt}, markers::types::Timeline, diff --git a/src/mastodon_api/media/types.rs b/src/mastodon_api/media/types.rs index 099a67e..650c541 100644 --- a/src/mastodon_api/media/types.rs +++ b/src/mastodon_api/media/types.rs @@ -1,7 +1,7 @@ use serde::{Deserialize, Serialize}; use uuid::Uuid; -use mitra_models::attachments::types::{AttachmentType, DbMediaAttachment}; +use fedimovies_models::attachments::types::{AttachmentType, DbMediaAttachment}; use crate::media::get_file_url; diff --git a/src/mastodon_api/media/views.rs b/src/mastodon_api/media/views.rs index c9b2a0d..511f4a8 100644 --- a/src/mastodon_api/media/views.rs +++ b/src/mastodon_api/media/views.rs @@ -2,8 +2,8 @@ use actix_web::{post, web, HttpResponse, Scope}; use actix_web_httpauth::extractors::bearer::BearerAuth; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ attachments::queries::create_attachment, database::{get_database_client, DbPool}, }; diff --git a/src/mastodon_api/notifications/types.rs b/src/mastodon_api/notifications/types.rs index 3d6a74c..821165c 100644 --- a/src/mastodon_api/notifications/types.rs +++ b/src/mastodon_api/notifications/types.rs @@ -1,7 +1,7 @@ use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; -use mitra_models::notifications::types::{EventType, Notification}; +use fedimovies_models::notifications::types::{EventType, Notification}; use crate::mastodon_api::{ accounts::types::Account, pagination::PageSize, statuses::types::Status, diff --git a/src/mastodon_api/notifications/views.rs b/src/mastodon_api/notifications/views.rs index caf494d..15eb12a 100644 --- a/src/mastodon_api/notifications/views.rs +++ b/src/mastodon_api/notifications/views.rs @@ -2,8 +2,8 @@ use actix_web::{dev::ConnectionInfo, get, web, HttpRequest, HttpResponse, Scope as ActixScope}; use actix_web_httpauth::extractors::bearer::BearerAuth; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DbPool}, notifications::queries::get_notifications, }; diff --git a/src/mastodon_api/oauth/auth.rs b/src/mastodon_api/oauth/auth.rs index 350c1fc..4b32dbc 100644 --- a/src/mastodon_api/oauth/auth.rs +++ b/src/mastodon_api/oauth/auth.rs @@ -1,4 +1,4 @@ -use mitra_models::{ +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, oauth::queries::get_user_by_oauth_token, users::types::User, diff --git a/src/mastodon_api/oauth/utils.rs b/src/mastodon_api/oauth/utils.rs index 5dfaf75..e51791a 100644 --- a/src/mastodon_api/oauth/utils.rs +++ b/src/mastodon_api/oauth/utils.rs @@ -1,6 +1,6 @@ use base64; -use mitra_utils::random::generate_random_sequence; +use fedimovies_utils::random::generate_random_sequence; pub fn render_authorization_page() -> String { let page = r#" diff --git a/src/mastodon_api/oauth/views.rs b/src/mastodon_api/oauth/views.rs index d1dcb31..0d8f54a 100644 --- a/src/mastodon_api/oauth/views.rs +++ b/src/mastodon_api/oauth/views.rs @@ -2,8 +2,8 @@ use actix_web::{get, http::header as http_header, post, web, HttpResponse, Scope use actix_web_httpauth::extractors::bearer::BearerAuth; use chrono::{Duration, Utc}; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DatabaseError, DbPool}, oauth::queries::{ create_oauth_authorization, delete_oauth_token, get_oauth_app_by_client_id, @@ -11,7 +11,7 @@ use mitra_models::{ }, users::queries::get_user_by_name, }; -use mitra_utils::passwords::verify_password; +use fedimovies_utils::passwords::verify_password; use crate::errors::ValidationError; use crate::http::FormOrJson; diff --git a/src/mastodon_api/search/helpers.rs b/src/mastodon_api/search/helpers.rs index 6e47fd4..83ca1e3 100644 --- a/src/mastodon_api/search/helpers.rs +++ b/src/mastodon_api/search/helpers.rs @@ -3,8 +3,8 @@ use std::str::FromStr; use regex::Regex; use url::Url; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::{ helpers::{can_view_post, get_local_post_by_id}, @@ -15,7 +15,7 @@ use mitra_models::{ tags::queries::search_tags, users::{queries::get_user_by_name, types::User}, }; -use mitra_utils::did::Did; +use fedimovies_utils::did::Did; use crate::activitypub::{ fetcher::helpers::{ diff --git a/src/mastodon_api/search/views.rs b/src/mastodon_api/search/views.rs index 3a24ac0..1175746 100644 --- a/src/mastodon_api/search/views.rs +++ b/src/mastodon_api/search/views.rs @@ -2,8 +2,8 @@ use actix_web::{dev::ConnectionInfo, get, web, HttpResponse, Scope}; use actix_web_httpauth::extractors::bearer::BearerAuth; -use mitra_config::Config; -use mitra_models::database::{get_database_client, DbPool}; +use fedimovies_config::Config; +use fedimovies_models::database::{get_database_client, DbPool}; use super::helpers::search; use super::types::{SearchQueryParams, SearchResults}; diff --git a/src/mastodon_api/settings/helpers.rs b/src/mastodon_api/settings/helpers.rs index 1454c53..80d2cd0 100644 --- a/src/mastodon_api/settings/helpers.rs +++ b/src/mastodon_api/settings/helpers.rs @@ -1,7 +1,7 @@ use uuid::Uuid; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DatabaseClient, DatabaseError, DbPool}, profiles::types::DbActorProfile, relationships::queries::{follow, get_followers, get_following, unfollow}, @@ -179,7 +179,7 @@ pub async fn move_followers_task( #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActor; + use fedimovies_models::profiles::types::DbActor; #[test] fn test_export_profiles_to_csv() { diff --git a/src/mastodon_api/settings/views.rs b/src/mastodon_api/settings/views.rs index 697b19d..a9329c7 100644 --- a/src/mastodon_api/settings/views.rs +++ b/src/mastodon_api/settings/views.rs @@ -1,8 +1,8 @@ use actix_web::{dev::ConnectionInfo, get, post, web, HttpResponse, Scope}; use actix_web_httpauth::extractors::bearer::BearerAuth; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DatabaseError, DbPool}, profiles::helpers::find_verified_aliases, profiles::queries::{get_profile_by_acct, get_profile_by_remote_actor_id, update_profile}, @@ -10,7 +10,7 @@ use mitra_models::{ users::queries::{set_user_password, update_client_config}, users::types::ClientConfig, }; -use mitra_utils::passwords::hash_password; +use fedimovies_utils::passwords::hash_password; use super::helpers::{ export_followers, export_follows, import_follows_task, move_followers_task, parse_address_list, diff --git a/src/mastodon_api/statuses/helpers.rs b/src/mastodon_api/statuses/helpers.rs index eaf69b9..9120d8b 100644 --- a/src/mastodon_api/statuses/helpers.rs +++ b/src/mastodon_api/statuses/helpers.rs @@ -1,7 +1,7 @@ use uuid::Uuid; -use mitra_config::Instance; -use mitra_models::{ +use fedimovies_config::Instance; +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, emojis::types::DbEmoji, posts::{ diff --git a/src/mastodon_api/statuses/microsyntax/emojis.rs b/src/mastodon_api/statuses/microsyntax/emojis.rs index 8c5edb7..b838899 100644 --- a/src/mastodon_api/statuses/microsyntax/emojis.rs +++ b/src/mastodon_api/statuses/microsyntax/emojis.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use regex::Regex; -use mitra_models::{ +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, emojis::queries::get_local_emojis_by_names, emojis::types::DbEmoji, diff --git a/src/mastodon_api/statuses/microsyntax/links.rs b/src/mastodon_api/statuses/microsyntax/links.rs index 96725a8..b849733 100644 --- a/src/mastodon_api/statuses/microsyntax/links.rs +++ b/src/mastodon_api/statuses/microsyntax/links.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use regex::{Captures, Match, Regex}; -use mitra_models::{ +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::types::{Post, Visibility}, }; diff --git a/src/mastodon_api/statuses/microsyntax/mentions.rs b/src/mastodon_api/statuses/microsyntax/mentions.rs index 62b20c3..f68dbfd 100644 --- a/src/mastodon_api/statuses/microsyntax/mentions.rs +++ b/src/mastodon_api/statuses/microsyntax/mentions.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use regex::{Captures, Regex}; -use mitra_models::{ +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, profiles::queries::get_profiles_by_accts, profiles::types::DbActorProfile, @@ -107,7 +107,7 @@ pub fn replace_mentions( #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActor; + use fedimovies_models::profiles::types::DbActor; const INSTANCE_HOSTNAME: &str = "server1.com"; const INSTANCE_URL: &str = "https://server1.com"; diff --git a/src/mastodon_api/statuses/types.rs b/src/mastodon_api/statuses/types.rs index 0edba87..3fc66c6 100644 --- a/src/mastodon_api/statuses/types.rs +++ b/src/mastodon_api/statuses/types.rs @@ -2,7 +2,7 @@ use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; -use mitra_models::{ +use fedimovies_models::{ emojis::types::DbEmoji, posts::types::{Post, Visibility}, profiles::types::DbActorProfile, diff --git a/src/mastodon_api/statuses/views.rs b/src/mastodon_api/statuses/views.rs index bcad191..2cd2a55 100644 --- a/src/mastodon_api/statuses/views.rs +++ b/src/mastodon_api/statuses/views.rs @@ -4,8 +4,8 @@ use actix_web_httpauth::extractors::bearer::BearerAuth; use chrono::Utc; use uuid::Uuid; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DatabaseError, DbPool}, posts::helpers::{can_create_post, can_view_post}, posts::queries::{ @@ -16,7 +16,7 @@ use mitra_models::{ reactions::queries::{create_reaction, delete_reaction}, relationships::queries::get_subscribers, }; -use mitra_utils::markdown::markdown_lite_to_html; +use fedimovies_utils::markdown::markdown_lite_to_html; use super::helpers::{build_status, build_status_list, parse_microsyntaxes, PostContent}; use super::types::{Context, Status, StatusData, StatusPreview, StatusPreviewData}; diff --git a/src/mastodon_api/subscriptions/types.rs b/src/mastodon_api/subscriptions/types.rs index ae0a149..6510a62 100644 --- a/src/mastodon_api/subscriptions/types.rs +++ b/src/mastodon_api/subscriptions/types.rs @@ -2,7 +2,7 @@ use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; -use mitra_models::{ +use fedimovies_models::{ invoices::types::{DbInvoice, InvoiceStatus}, profiles::types::PaymentOption, }; diff --git a/src/mastodon_api/subscriptions/views.rs b/src/mastodon_api/subscriptions/views.rs index 0c7c267..2c4056a 100644 --- a/src/mastodon_api/subscriptions/views.rs +++ b/src/mastodon_api/subscriptions/views.rs @@ -6,8 +6,8 @@ use crate::http::get_request_base_url; use crate::mastodon_api::{ accounts::types::Account, errors::MastodonError, oauth::auth::get_current_user, }; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DbPool}, invoices::queries::get_invoice_by_id, subscriptions::queries::get_subscription_by_participants, diff --git a/src/mastodon_api/timelines/views.rs b/src/mastodon_api/timelines/views.rs index c2a2f37..2a58378 100644 --- a/src/mastodon_api/timelines/views.rs +++ b/src/mastodon_api/timelines/views.rs @@ -2,8 +2,8 @@ use actix_web::{dev::ConnectionInfo, get, web, HttpResponse, Scope}; use actix_web_httpauth::extractors::bearer::BearerAuth; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DbPool}, posts::queries::{get_home_timeline, get_local_timeline, get_posts_by_tag}, }; diff --git a/src/mastodon_api/uploads.rs b/src/mastodon_api/uploads.rs index 3062349..afd74be 100644 --- a/src/mastodon_api/uploads.rs +++ b/src/mastodon_api/uploads.rs @@ -1,6 +1,6 @@ use std::path::Path; -use mitra_utils::files::sniff_media_type; +use fedimovies_utils::files::sniff_media_type; use super::errors::MastodonError; use crate::media::{save_file, SUPPORTED_MEDIA_TYPES}; diff --git a/src/media.rs b/src/media.rs index 2061984..de858ac 100644 --- a/src/media.rs +++ b/src/media.rs @@ -4,9 +4,9 @@ use std::path::{Path, PathBuf}; use sha2::{Digest, Sha256}; -use mitra_config::Config; -use mitra_models::cleanup::DeletionQueue; -use mitra_utils::files::{get_media_type_extension, write_file}; +use fedimovies_config::Config; +use fedimovies_models::cleanup::DeletionQueue; +use fedimovies_utils::files::{get_media_type_extension, write_file}; use crate::ipfs::store as ipfs_store; @@ -103,7 +103,7 @@ impl From<&Config> for MediaStorage { #[cfg(test)] mod tests { use super::*; - use mitra_utils::files::sniff_media_type; + use fedimovies_utils::files::sniff_media_type; #[test] fn test_get_file_name() { diff --git a/src/nodeinfo/helpers.rs b/src/nodeinfo/helpers.rs index 2a36293..5a55b51 100644 --- a/src/nodeinfo/helpers.rs +++ b/src/nodeinfo/helpers.rs @@ -1,4 +1,4 @@ -use mitra_models::{ +use fedimovies_models::{ database::{DatabaseClient, DatabaseError}, posts::queries::get_local_post_count, users::queries::get_user_count, diff --git a/src/nodeinfo/types.rs b/src/nodeinfo/types.rs index 5aca775..d8d7af0 100644 --- a/src/nodeinfo/types.rs +++ b/src/nodeinfo/types.rs @@ -1,7 +1,7 @@ /// http://nodeinfo.diaspora.software/schema.html use serde::Serialize; -use mitra_config::{Config, RegistrationType, REEF_VERSION}; +use fedimovies_config::{Config, RegistrationType, REEF_VERSION}; const MITRA_NAME: &str = "reef"; const MITRA_REPOSITORY: &str = "https://code.caric.io/reef/reef"; diff --git a/src/nodeinfo/views.rs b/src/nodeinfo/views.rs index 31f783b..699850d 100644 --- a/src/nodeinfo/views.rs +++ b/src/nodeinfo/views.rs @@ -1,8 +1,8 @@ /// http://nodeinfo.diaspora.software/protocol.html use actix_web::{get, web, HttpResponse}; -use mitra_config::Config; -use mitra_models::database::{get_database_client, DbPool}; +use fedimovies_config::Config; +use fedimovies_models::database::{get_database_client, DbPool}; use super::helpers::get_usage; use super::types::{NodeInfo20, NodeInfo21}; diff --git a/src/tmdb/service.rs b/src/tmdb/service.rs index 3006371..7710520 100644 --- a/src/tmdb/service.rs +++ b/src/tmdb/service.rs @@ -2,15 +2,15 @@ use crate::activitypub::actors::helpers::ACTOR_IMAGE_MAX_SIZE; use crate::activitypub::fetcher::fetchers::fetch_file; use crate::mastodon_api::oauth::utils::generate_access_token; use crate::validators::users::validate_local_username; -use mitra_config::Instance; -use mitra_models::database::DatabaseClient; -use mitra_models::profiles::queries::update_profile; -use mitra_models::profiles::types::{ExtraField, ProfileImage, ProfileUpdateData}; -use mitra_models::users::queries::create_user; -use mitra_models::users::types::{Role, User, UserCreateData}; -use mitra_utils::crypto_rsa::{generate_rsa_key, serialize_private_key}; -use mitra_utils::markdown::markdown_basic_to_html; -use mitra_utils::passwords::hash_password; +use fedimovies_config::Instance; +use fedimovies_models::database::DatabaseClient; +use fedimovies_models::profiles::queries::update_profile; +use fedimovies_models::profiles::types::{ExtraField, ProfileImage, ProfileUpdateData}; +use fedimovies_models::users::queries::create_user; +use fedimovies_models::users::types::{Role, User, UserCreateData}; +use fedimovies_utils::crypto_rsa::{generate_rsa_key, serialize_private_key}; +use fedimovies_utils::markdown::markdown_basic_to_html; +use fedimovies_utils::passwords::hash_password; use serde::{Deserialize, Serialize}; use std::path::Path; use std::time::Duration; diff --git a/src/validators/posts.rs b/src/validators/posts.rs index fa6d283..4d6cfdc 100644 --- a/src/validators/posts.rs +++ b/src/validators/posts.rs @@ -1,4 +1,4 @@ -use mitra_utils::html::clean_html_strict; +use fedimovies_utils::html::clean_html_strict; use crate::errors::ValidationError; diff --git a/src/validators/profiles.rs b/src/validators/profiles.rs index 41e8c7b..126a8a1 100644 --- a/src/validators/profiles.rs +++ b/src/validators/profiles.rs @@ -1,7 +1,7 @@ use regex::Regex; -use mitra_models::profiles::types::{ExtraField, ProfileCreateData, ProfileUpdateData}; -use mitra_utils::html::{clean_html, clean_html_strict}; +use fedimovies_models::profiles::types::{ExtraField, ProfileCreateData, ProfileUpdateData}; +use fedimovies_utils::html::{clean_html, clean_html_strict}; use crate::errors::ValidationError; @@ -126,7 +126,7 @@ pub fn clean_profile_update_data( #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActor; + use fedimovies_models::profiles::types::DbActor; #[test] fn test_validate_username() { diff --git a/src/web_client/views.rs b/src/web_client/views.rs index bbee481..5b92097 100644 --- a/src/web_client/views.rs +++ b/src/web_client/views.rs @@ -9,8 +9,8 @@ use actix_web::{ }; use uuid::Uuid; -use mitra_config::Config; -use mitra_models::{ +use fedimovies_config::Config; +use fedimovies_models::{ database::{get_database_client, DbPool}, posts::queries::get_post_by_id, profiles::queries::{get_profile_by_acct, get_profile_by_id}, diff --git a/src/webfinger/types.rs b/src/webfinger/types.rs index 267b4db..cbc71d4 100644 --- a/src/webfinger/types.rs +++ b/src/webfinger/types.rs @@ -4,7 +4,7 @@ use std::{collections::HashMap, fmt, str::FromStr}; use regex::Regex; use serde::{Deserialize, Serialize}; -use mitra_models::profiles::types::DbActorProfile; +use fedimovies_models::profiles::types::DbActorProfile; use crate::errors::ValidationError; @@ -98,7 +98,7 @@ pub struct JsonResourceDescriptor { #[cfg(test)] mod tests { use super::*; - use mitra_models::profiles::types::DbActor; + use fedimovies_models::profiles::types::DbActor; #[test] fn test_local_actor_address() { diff --git a/src/webfinger/views.rs b/src/webfinger/views.rs index e51c19d..fcc43b3 100644 --- a/src/webfinger/views.rs +++ b/src/webfinger/views.rs @@ -1,7 +1,7 @@ use actix_web::{get, web, HttpResponse}; -use mitra_config::{Config, Instance}; -use mitra_models::{ +use fedimovies_config::{Config, Instance}; +use fedimovies_models::{ database::{get_database_client, DatabaseClient, DbPool}, users::queries::is_registered_user, }; @@ -119,7 +119,7 @@ pub async fn webfinger_view( #[cfg(test)] mod tests { use super::*; - use mitra_models::{ + use fedimovies_models::{ database::test_utils::create_test_database, users::{queries::create_user, types::UserCreateData}, };