From 4fd6f104cba117a0410ba5af5173fe00cd478826 Mon Sep 17 00:00:00 2001 From: zignis Date: Mon, 8 Apr 2024 15:33:47 +0530 Subject: [PATCH] impl og service --- .config/nextest.toml | 122 ---- .env.mapping | 3 + .github/workflows/ci.yaml | 50 ++ Cargo.toml | 27 +- fixtures/story.png | Bin 0 -> 152290 bytes fixtures/story_with_external_images.png | Bin 0 -> 135595 bytes fixtures/tag.png | Bin 0 -> 43669 bytes fonts/CabinetGrotesk/CabinetGrotesk-Bold.ttf | Bin 0 -> 62816 bytes .../CabinetGrotesk-Extrabold.ttf | Bin 0 -> 62508 bytes .../CabinetGrotesk/CabinetGrotesk-Medium.ttf | Bin 0 -> 63464 bytes .../CabinetGrotesk/CabinetGrotesk-Regular.ttf | Bin 0 -> 63204 bytes fonts/Satoshi/Satoshi-Bold.ttf | Bin 0 -> 73368 bytes fonts/Satoshi/Satoshi-Medium.ttf | Bin 0 -> 73756 bytes fonts/Satoshi/Satoshi-Regular.ttf | Bin 0 -> 73476 bytes justfile | 9 - src/config.rs | 4 + src/constants/dimensions.rs | 2 + src/constants/fonts.rs | 40 ++ src/constants/icons.rs | 1 + src/constants/mod.rs | 3 + src/error.rs | 59 +- src/grpc/defs.rs | 14 + src/grpc/mod.rs | 1 + src/lib.rs | 62 +- src/main.rs | 80 ++- src/middlewares/rate_limiter.rs | 49 +- src/proto/api_service.v1.rs | 8 + src/proto/api_service.v1.serde.rs | 72 +++ src/proto/api_service.v1.tonic.rs | 149 +++++ src/proto/open_graph_def.v1.rs | 55 ++ src/proto/open_graph_def.v1.serde.rs | 588 ++++++++++++++++++ src/routes/favicon.rs | 6 +- src/routes/health.rs | 6 +- src/routes/index.rs | 6 +- src/routes/mod.rs | 4 + src/routes/robots.rs | 7 +- src/routes/stories.rs | 291 +++++++++ src/routes/tags.rs | 151 +++++ src/telemetry.rs | 17 +- src/utils/construct_svg_tree.rs | 65 ++ src/utils/escape_string.rs | 21 + src/utils/get_pixmap.rs | 15 + src/utils/get_text_width.rs | 31 + src/utils/get_thumbnail_url.rs | 12 + src/utils/mod.rs | 17 + src/utils/process_text.rs | 20 + src/utils/truncate_text.rs | 50 ++ src/utils/wrap_text.rs | 99 +++ templates/story.stpl | 64 ++ templates/tag.stpl | 30 + 50 files changed, 2127 insertions(+), 183 deletions(-) delete mode 100644 .config/nextest.toml create mode 100644 .github/workflows/ci.yaml create mode 100644 fixtures/story.png create mode 100644 fixtures/story_with_external_images.png create mode 100644 fixtures/tag.png create mode 100644 fonts/CabinetGrotesk/CabinetGrotesk-Bold.ttf create mode 100644 fonts/CabinetGrotesk/CabinetGrotesk-Extrabold.ttf create mode 100644 fonts/CabinetGrotesk/CabinetGrotesk-Medium.ttf create mode 100644 fonts/CabinetGrotesk/CabinetGrotesk-Regular.ttf create mode 100644 fonts/Satoshi/Satoshi-Bold.ttf create mode 100644 fonts/Satoshi/Satoshi-Medium.ttf create mode 100644 fonts/Satoshi/Satoshi-Regular.ttf create mode 100644 src/constants/dimensions.rs create mode 100644 src/constants/fonts.rs create mode 100644 src/constants/icons.rs create mode 100644 src/grpc/defs.rs create mode 100644 src/grpc/mod.rs create mode 100644 src/proto/api_service.v1.rs create mode 100644 src/proto/api_service.v1.serde.rs create mode 100644 src/proto/api_service.v1.tonic.rs create mode 100644 src/proto/open_graph_def.v1.rs create mode 100644 src/proto/open_graph_def.v1.serde.rs create mode 100644 src/routes/stories.rs create mode 100644 src/routes/tags.rs create mode 100644 src/utils/construct_svg_tree.rs create mode 100644 src/utils/escape_string.rs create mode 100644 src/utils/get_pixmap.rs create mode 100644 src/utils/get_text_width.rs create mode 100644 src/utils/get_thumbnail_url.rs create mode 100644 src/utils/mod.rs create mode 100644 src/utils/process_text.rs create mode 100644 src/utils/truncate_text.rs create mode 100644 src/utils/wrap_text.rs create mode 100644 templates/story.stpl create mode 100644 templates/tag.stpl diff --git a/.config/nextest.toml b/.config/nextest.toml deleted file mode 100644 index 6612844..0000000 --- a/.config/nextest.toml +++ /dev/null @@ -1,122 +0,0 @@ -# This is the default config used by nextest. It is embedded in the binary at -# build time. It may be used as a template for .config/nextest.toml. -# Reference: https://nexte.st/book/configuration.html - -[store] -# The directory under the workspace root at which nextest-related files are -# written. Profile-specific storage is currently written to dir/. -dir = "target/nextest" - -# This section defines the default nextest profile. Custom profiles are layered -# on top of the default profile. -[profile.default] -# "retries" defines the number of times a test should be retried. If set to a -# non-zero value, tests that succeed on a subsequent attempt will be marked as -# non-flaky. Can be overridden through the `--retries` option. -# Examples -# * retries = 3 -# * retries = { backoff = "fixed", count = 2, delay = "1s" } -# * retries = { backoff = "exponential", count = 10, delay = "1s", jitter = true, max-delay = "10s" } -retries = 0 - -# The number of threads to run tests with. Supported values are either an integer or -# the string "num-cpus". Can be overridden through the `--test-threads` option. -test-threads = "num-cpus" - -# The number of threads required for each test. This is generally used in overrides to -# mark certain tests as heavier than others. However, it can also be set as a global parameter. -threads-required = 1 - -# Show these test statuses in the output. -# -# The possible values this can take are: -# * none: no output -# * fail: show failed (including exec-failed) tests -# * retry: show flaky and retried tests -# * slow: show slow tests -# * pass: show passed tests -# * skip: show skipped tests (most useful for CI) -# * all: all of the above -# -# Each value includes all the values above it; for example, "slow" includes -# failed and retried tests. -# -# Can be overridden through the `--status-level` flag. -status-level = "pass" - -# Similar to status-level, show these test statuses at the end of the run. -final-status-level = "flaky" - -# "failure-output" defines when standard output and standard error for failing tests are produced. -# Accepted values are -# * "immediate": output failures as soon as they happen -# * "final": output failures at the end of the test run -# * "immediate-final": output failures as soon as they happen and at the end of -# the test run; combination of "immediate" and "final" -# * "never": don't output failures at all -# -# For large test suites and CI it is generally useful to use "immediate-final". -# -# Can be overridden through the `--failure-output` option. -failure-output = "immediate" - -# "success-output" controls production of standard output and standard error on success. This should -# generally be set to "never". -success-output = "never" - -# Cancel the test run on the first failure. For CI runs, consider setting this -# to false. -fail-fast = true - -# Treat a test that takes longer than the configured 'period' as slow, and print a message. -# See for more information. -# -# Optional: specify the parameter 'terminate-after' with a non-zero integer, -# which will cause slow tests to be terminated after the specified number of -# periods have passed. -# Example: slow-timeout = { period = "60s", terminate-after = 2 } -slow-timeout = { period = "90s" } - -# Treat a test as leaky if after the process is shut down, standard output and standard error -# aren't closed within this duration. -# -# This usually happens in case of a test that creates a child process and lets it inherit those -# handles, but doesn't clean the child process up (especially when it fails). -# -# See for more information. -leak-timeout = "100ms" - -[profile.default.junit] -# Output a JUnit report into the given file inside 'store.dir/'. -# If unspecified, JUnit is not written out. - -# path = "junit.xml" - -# The name of the top-level "report" element in JUnit report. If aggregating -# reports across different test runs, it may be useful to provide separate names -# for each report. -report-name = "nextest-run" - -# Whether standard output and standard error for passing tests should be stored in the JUnit report. -# Output is stored in the and elements of the element. -store-success-output = false - -# Whether standard output and standard error for failing tests should be stored in the JUnit report. -# Output is stored in the and elements of the element. -# -# Note that if a description can be extracted from the output, it is always stored in the -# element. -store-failure-output = true - -[test-groups] -serial-integration = { max-threads = 1 } - -# Serial tests filter -[[profile.default.overrides]] -filter = 'test(serial::)' -test-group = 'serial-integration' - -# Long running tests filter -[[profile.default.overrides]] -filter = 'test(long_running::)' -slow-timeout = { period = "360s", terminate-after = 3 } \ No newline at end of file diff --git a/.env.mapping b/.env.mapping index 1071d9e..fb5d064 100644 --- a/.env.mapping +++ b/.env.mapping @@ -4,6 +4,9 @@ HOST PORT CDN_SERVER_URL +RPC_SERVER_URL + +RPC_SECRET_TOKEN REDIS_HOST REDIS_PORT diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..1c9c014 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,50 @@ +name: Continuous integration + +on: [pull_request, push] + +env: + CARGO_TERM_COLOR: always + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install latest stable + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + components: rustfmt, clippy + + - name: Run cargo clippy + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-targets --all-features -- -D warnings + + test: + name: Run tests + runs-on: ubuntu-latest + needs: lint + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + # By default actions/checkout checks out a merge commit. Check out the PR head instead. + # https://github.com/actions/checkout#checkout-pull-request-head-commit-instead-of-merge-commit + ref: ${{ github.event.pull_request.head.sha }} + + - name: Install latest stable release + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Run tests + uses: actions-rs/cargo@v1 + with: + command: test \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 2f70e84..d5c3a92 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,24 +6,45 @@ license = "MIT" authors = ["zignis "] repository = "https://github.com/storiny/og.git" +[lib] +doctest = false + [dependencies] +abbrev-num = "0.1.0" actix-cors = "0.7.0" actix-extensible-rate-limit = { version = "0.2.1", features = ["redis"] } actix-http = "3.4.0" actix-web = { version = "4.4.0", features = ["__compress"] } -async-trait = "0.1.73" dotenv = "0.15.0" envy = "0.4.2" +lazy_static = "1.4.0" mime = "0.3.17" +png = "0.17.13" +prost = "0.12.4" redis = { version = "0.25.3", features = ["tokio-comp", "aio", "connection-manager"] } -reqwest = { version = "0.12.2", features = ["json"] } +reqwest = { version = "0.12.3", features = ["blocking"] } +resvg = "0.41.0" +rust_decimal = "1.35.0" +rusttype = "0.9.3" +sailfish = "0.8.3" sentry = { version = "0.32.0", features = ["tracing"] } serde = { version = "1.0.188", features = ["derive"] } -serde_json = "1.0.115" strum = { version = "0.26.2", features = ["derive"] } +tonic = { version = "0.11.0", features = ["gzip", "tls", "transport"] } +textwrap = { version = "0.16.1", features = ["smawk"] } thiserror = "1.0.48" +tiny-skia = { version = "0.11.4", features = ["png-format"] } tokio = { version = "1.32.0", features = ["macros"] } tracing = { version = "0.1.40", features = ["attributes"] } tracing-actix-web = "0.7.9" tracing-bunyan-formatter = "0.3.9" tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } +unicode-segmentation = "1.11.0" +unidecode = "0.3.0" +usvg = "0.41.0" +pbjson = "0.6.0" +async-trait = "0.1.79" + +[dev-dependencies] +image = { version = "0.25.1", default-features = false, features = ["jpeg", "png", "rayon"] } +image-compare = "0.4.1" diff --git a/fixtures/story.png b/fixtures/story.png new file mode 100644 index 0000000000000000000000000000000000000000..c9856fe12493419410bf82a7e11c811e92246e02 GIT binary patch literal 152290 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
PO4NeV=dYwfucI6J=?pKoEH5N*VT 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 W`}%*>slk6{JonO3qmb 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 m;WER7{Qn`FJ8B;F@g}2iX*H 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 literal 0 HcmV?d00001 diff --git a/fonts/CabinetGrotesk/CabinetGrotesk-Extrabold.ttf b/fonts/CabinetGrotesk/CabinetGrotesk-Extrabold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..626741d91d275175e83394ed58d111c6f84fd9d2 GIT binary patch literal 62508 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 literal 0 HcmV?d00001 diff --git a/fonts/CabinetGrotesk/CabinetGrotesk-Medium.ttf b/fonts/CabinetGrotesk/CabinetGrotesk-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2f1e2f1700c37e4934ba906542ce4bcb7a7a3b02 GIT binary patch literal 63464 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

fO+*?GhJV`QVDdf!U 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

luNSRqP-KJ%&c~J!wBt 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 sYNXjns@1Px# literal 0 HcmV?d00001 diff --git a/fonts/Satoshi/Satoshi-Medium.ttf b/fonts/Satoshi/Satoshi-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ab149b719f24da5333b57de3b5160ec27bea3fc1 GIT binary patch literal 73756 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 oDN$^$J#+>sU>G!isU5ljLpCs3bcADy5!0;iOFK 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

ps=96V0po|g2xL^7Mv-}ESy%jsqosu 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 = + #[allow(clippy::expect_used)] + Font::try_from_bytes(include_bytes!("../../fonts/CabinetGrotesk/CabinetGrotesk-Bold.ttf") as &[u8]) + .expect("error loading the `CabinetGrotesk-Bold.ttf` font file"); + // + pub static ref CABINET_GROTESK_EXTRABOLD: Font<'static> = + #[allow(clippy::expect_used)] + Font::try_from_bytes(include_bytes!("../../fonts/CabinetGrotesk/CabinetGrotesk-Extrabold.ttf") as &[u8]) + .expect("error loading the `CabinetGrotesk-Extrabold.ttf` font file"); + // + pub static ref CABINET_GROTESK_MEDIUM: Font<'static> = + #[allow(clippy::expect_used)] + Font::try_from_bytes(include_bytes!("../../fonts/CabinetGrotesk/CabinetGrotesk-Medium.ttf") as &[u8]) + .expect("error loading the `CabinetGrotesk-Medium.ttf` font file"); + // + pub static ref CABINET_GROTESK_REGULAR: Font<'static> = + #[allow(clippy::expect_used)] + Font::try_from_bytes(include_bytes!("../../fonts/CabinetGrotesk/CabinetGrotesk-Regular.ttf") as &[u8]) + .expect("error loading the `CabinetGrotesk-Regular.ttf` font file"); + // Satoshi + pub static ref SATOSHI_BOLD: Font<'static> = + #[allow(clippy::expect_used)] + Font::try_from_bytes(include_bytes!("../../fonts/Satoshi/Satoshi-Bold.ttf") as &[u8]) + .expect("error loading the `Satoshi-Bold.ttf` font file"); + // + pub static ref SATOSHI_MEDIUM: Font<'static> = + #[allow(clippy::expect_used)] + Font::try_from_bytes(include_bytes!("../../fonts/Satoshi/Satoshi-Medium.ttf") as &[u8]) + .expect("error loading the `Satoshi-Medium.ttf` font file"); + // + pub static ref SATOSHI_REGULAR: Font<'static> = + #[allow(clippy::expect_used)] + Font::try_from_bytes(include_bytes!("../../fonts/Satoshi/Satoshi-Regular.ttf") as &[u8]) + .expect("error loading the `Satoshi-Regular.ttf` font file"); +} diff --git a/src/constants/icons.rs b/src/constants/icons.rs new file mode 100644 index 0000000..240ff74 --- /dev/null +++ b/src/constants/icons.rs @@ -0,0 +1 @@ +pub const DEFAULT_AVATAR: &str = r#"data:image/png;base64,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"#; diff --git a/src/constants/mod.rs b/src/constants/mod.rs index 339bd7a..c8f76a7 100644 --- a/src/constants/mod.rs +++ b/src/constants/mod.rs @@ -1 +1,4 @@ +pub mod dimensions; +pub mod fonts; +pub mod icons; pub mod redis_namespaces; diff --git a/src/error.rs b/src/error.rs index 6e6317c..d3435c2 100644 --- a/src/error.rs +++ b/src/error.rs @@ -1,14 +1,23 @@ use actix_http::StatusCode; -use actix_web::{HttpResponse, ResponseError}; -use std::fmt::{Display, Formatter}; +use actix_web::{ + HttpResponse, + ResponseError, +}; +use std::fmt::{ + Display, + Formatter, +}; +use tonic::Code; /// The application error type. #[derive(Debug)] pub enum AppError { - /// The [serde_json::Error] variant. - SerdeError(serde_json::Error), - /// The [reqwest::Error] variant. - ReqwestError(reqwest::Error), + /// The [png::EncodingError] variant. + PngEncodingError(png::EncodingError), + /// The [sailfish::RenderError] variant. + RenderTemplateError(sailfish::RenderError), + /// The [tonic::Status] variant. + TonicError(tonic::Status), /// Internal server error. The string value of this variant is not sent to the client. InternalError(String), /// The error raised due to bad data sent by the client. The first element of the tuple is the @@ -22,15 +31,21 @@ pub enum AppError { ClientError(StatusCode, String), } -impl From for AppError { - fn from(error: serde_json::Error) -> Self { - AppError::SerdeError(error) +impl From for AppError { + fn from(error: png::EncodingError) -> Self { + AppError::PngEncodingError(error) } } -impl From for AppError { - fn from(error: reqwest::Error) -> Self { - AppError::ReqwestError(error) +impl From for AppError { + fn from(error: sailfish::RenderError) -> Self { + AppError::RenderTemplateError(error) + } +} + +impl From for AppError { + fn from(error: tonic::Status) -> Self { + AppError::TonicError(error) } } @@ -44,9 +59,13 @@ impl ResponseError for AppError { /// Returns the HTTP [StatusCode] for the error. fn status_code(&self) -> StatusCode { match self { - AppError::InternalError(_) | AppError::SerdeError(_) | AppError::ReqwestError(_) => { - StatusCode::INTERNAL_SERVER_ERROR - } + AppError::InternalError(_) + | AppError::PngEncodingError(_) + | AppError::RenderTemplateError(_) => StatusCode::INTERNAL_SERVER_ERROR, + AppError::TonicError(status) => match status.code() { + Code::NotFound => StatusCode::NOT_FOUND, + _ => StatusCode::INTERNAL_SERVER_ERROR, + }, AppError::ClientError(status_code, _) => *status_code, } } @@ -56,9 +75,13 @@ impl ResponseError for AppError { let mut response_builder = HttpResponse::build(self.status_code()); match self { - AppError::InternalError(_) | AppError::SerdeError(_) | AppError::ReqwestError(_) => { - response_builder.body("Internal server error") - } + AppError::InternalError(_) + | AppError::PngEncodingError(_) + | AppError::RenderTemplateError(_) => response_builder.body("Internal server error"), + AppError::TonicError(status) => match status.code() { + Code::NotFound => response_builder.body("Entity not found"), + _ => response_builder.body("Internal gateway error"), + }, AppError::ClientError(_, message) => response_builder.body(message.to_string()), } } diff --git a/src/grpc/defs.rs b/src/grpc/defs.rs new file mode 100644 index 0000000..0ecb4f2 --- /dev/null +++ b/src/grpc/defs.rs @@ -0,0 +1,14 @@ +#[allow(clippy::unwrap_used)] +pub mod grpc_service { + pub mod v1 { + include!("../proto/api_service.v1.rs"); + include!("../proto/api_service.v1.serde.rs"); + } +} + +pub mod open_graph_def { + pub mod v1 { + include!("../proto/open_graph_def.v1.rs"); + include!("../proto/open_graph_def.v1.serde.rs"); + } +} diff --git a/src/grpc/mod.rs b/src/grpc/mod.rs new file mode 100644 index 0000000..fb3c845 --- /dev/null +++ b/src/grpc/mod.rs @@ -0,0 +1 @@ +pub mod defs; diff --git a/src/lib.rs b/src/lib.rs index e0fe98e..d986309 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,9 +1,69 @@ #![forbid(unsafe_code)] #![allow(clippy::module_inception)] #![deny(clippy::expect_used, clippy::unwrap_used)] -// + +use crate::grpc::defs::grpc_service::v1::api_service_client::ApiServiceClient; +use sailfish::TemplateOnce; +use tokio::sync::Mutex; +use tonic::{ + codegen::InterceptedService, + transport::Channel, + Request, + Status, +}; + pub mod config; pub mod constants; pub mod error; +pub mod grpc; pub mod routes; pub mod telemetry; +pub mod utils; + +pub type AuthInterceptor = Box) -> Result, Status> + Send>; +pub type GrpcClient = ApiServiceClient>; + +/// The application state. +pub struct AppState { + /// The environment configuration. + pub config: config::Config, + /// The gRPC service client. + pub grpc_client: Mutex, +} + +// Story open graph image template. +#[derive(TemplateOnce)] +#[template(path = "story.stpl")] +pub struct StoryTemplate { + /// The title of the story. + title: String, + /// The optional description of story. + description: Option, + /// The optional splash image URL for the story. + splash_url: Option, + /// The name of author of the story. + user_name: String, + /// The avatar image URL of author of the story. + user_avatar_url: String, + /// The read count value for the story. + read_count: String, + /// The like count value for the story. + like_count: String, + /// The comment count value for the story. + comment_count: String, + /// The vertical translation parameter for the persona and description. It depends on whether + /// the title is a single line or multiline. + title_offset: String, +} + +// Tag open graph image template. +#[derive(TemplateOnce)] +#[template(path = "tag.stpl")] +pub struct TagTemplate { + /// The name of the tag without `#` prefix. + name: String, + /// The follower count value for the tag. + follower_count: String, + /// The story count value for the tag. + story_count: String, +} diff --git a/src/main.rs b/src/main.rs index 3335e59..a9ebb7c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,19 +1,49 @@ use actix_cors::Cors; -use actix_extensible_rate_limit::{backend::SimpleInputFunctionBuilder, RateLimiter}; +use actix_extensible_rate_limit::{ + backend::SimpleInputFunctionBuilder, + RateLimiter, +}; use actix_http::Method; -use actix_web::{http::header::ContentType, web, App, HttpResponse, HttpServer, Responder}; +use actix_web::{ + http::header::ContentType, + web, + App, + HttpResponse, + HttpServer, + Responder, +}; use dotenv::dotenv; use redis::aio::ConnectionManager; -use std::{io, sync::Arc, time::Duration}; +use std::{ + io, + sync::Arc, + time::Duration, +}; use storiny_og::{ config::get_app_config, constants::redis_namespaces::RedisNamespace, + grpc::defs::grpc_service::v1::api_service_client::ApiServiceClient, routes, - telemetry::{get_subscriber, init_subscriber}, + telemetry::{ + get_subscriber, + init_subscriber, + }, + AppState, + AuthInterceptor, + GrpcClient, +}; +use tokio::sync::Mutex; +use tonic::{ + codec::CompressionEncoding, + metadata::MetadataValue, + transport::Channel, }; use tracing::error; use tracing_actix_web::TracingLogger; -use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; +use tracing_subscriber::{ + layer::SubscriberExt, + util::SubscriberInitExt, +}; mod middlewares; @@ -92,7 +122,43 @@ fn main() -> io::Result<()> { .key_prefix(Some(&format!("{}:", RedisNamespace::RateLimit))) .build(); - let web_config = web::Data::new(config.clone()); + // gRPC client + let grpc_channel = match Channel::from_shared(config.rpc_server_url.to_string()) + .expect("unable to resolve the rpc server endpoint") + .connect() + .await + { + Ok(channel) => { + println!("Connected to the rpc service"); + channel + } + Err(err) => { + error!("unable to connect to the rpc service: {err:?}"); + std::process::exit(1); + } + }; + + let auth_token: MetadataValue<_> = format!("Bearer {}", config.rpc_secret_token) + .parse() + .expect("unable to parse the rpc auth token"); + + let grpc_client: GrpcClient = + ApiServiceClient::with_interceptor::( + grpc_channel, + Box::new(move |mut req: tonic::Request<()>| { + req.metadata_mut() + .insert("authorization", auth_token.clone()); + + Ok(req) + }), + ) + .send_compressed(CompressionEncoding::Gzip) + .accept_compressed(CompressionEncoding::Gzip); + + let app_state = web::Data::new(AppState { + config: get_app_config().unwrap(), + grpc_client: Mutex::new(grpc_client), + }); HttpServer::new(move || { let input = SimpleInputFunctionBuilder::new(Duration::from_secs(5), 25) // 25 requests / 5s @@ -122,7 +188,7 @@ fn main() -> io::Result<()> { .wrap(TracingLogger::default()) .wrap(actix_web::middleware::Compress::default()) .wrap(actix_web::middleware::NormalizePath::trim()) - .app_data(web_config.clone()) + .app_data(app_state.clone()) .configure(routes::init_routes) .default_service(web::route().to(not_found)) }) diff --git a/src/middlewares/rate_limiter.rs b/src/middlewares/rate_limiter.rs index e0248d2..b1e70fe 100644 --- a/src/middlewares/rate_limiter.rs +++ b/src/middlewares/rate_limiter.rs @@ -1,8 +1,22 @@ -use actix_extensible_rate_limit::backend::{Backend, SimpleBackend, SimpleInput, SimpleOutput}; -use actix_web::{HttpResponse, ResponseError}; +use actix_extensible_rate_limit::backend::{ + Backend, + SimpleBackend, + SimpleInput, + SimpleOutput, +}; +use actix_web::{ + HttpResponse, + ResponseError, +}; use async_trait::async_trait; -use redis::{aio::ConnectionManager, AsyncCommands}; -use std::{borrow::Cow, time::Duration}; +use redis::{ + aio::ConnectionManager, + AsyncCommands, +}; +use std::{ + borrow::Cow, + time::Duration, +}; use thiserror::Error; use tokio::time::Instant; @@ -291,10 +305,11 @@ mod tests { .await .unwrap(); // In which case nothing should happen - assert!(!con - .exists::<_, bool>("test_rollback_key_gone") - .await - .unwrap()); + assert!( + !con.exists::<_, bool>("test_rollback_key_gone") + .await + .unwrap() + ); } #[tokio::test] @@ -328,15 +343,17 @@ mod tests { key: "test_key_prefix".to_string(), }; backend.request(input.clone()).await.unwrap(); - assert!(con - .exists::<_, bool>("prefix:test_key_prefix") - .await - .unwrap()); + assert!( + con.exists::<_, bool>("prefix:test_key_prefix") + .await + .unwrap() + ); backend.remove_key("test_key_prefix").await.unwrap(); - assert!(!con - .exists::<_, bool>("prefix:test_key_prefix") - .await - .unwrap()); + assert!( + !con.exists::<_, bool>("prefix:test_key_prefix") + .await + .unwrap() + ); } } diff --git a/src/proto/api_service.v1.rs b/src/proto/api_service.v1.rs new file mode 100644 index 0000000..0514982 --- /dev/null +++ b/src/proto/api_service.v1.rs @@ -0,0 +1,8 @@ +// @generated +/// This is necessary to generate an output file using tonic. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Placeholder { +} +include!("api_service.v1.tonic.rs"); +// @@protoc_insertion_point(module) \ No newline at end of file diff --git a/src/proto/api_service.v1.serde.rs b/src/proto/api_service.v1.serde.rs new file mode 100644 index 0000000..59b33ea --- /dev/null +++ b/src/proto/api_service.v1.serde.rs @@ -0,0 +1,72 @@ +// @generated +impl serde::Serialize for Placeholder { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("api_service.v1.Placeholder", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Placeholder { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Placeholder; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct api_service.v1.Placeholder") + } + + fn visit_map(self, mut map: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; + } + Ok(Placeholder { + }) + } + } + deserializer.deserialize_struct("api_service.v1.Placeholder", FIELDS, GeneratedVisitor) + } +} diff --git a/src/proto/api_service.v1.tonic.rs b/src/proto/api_service.v1.tonic.rs new file mode 100644 index 0000000..01dccfb --- /dev/null +++ b/src/proto/api_service.v1.tonic.rs @@ -0,0 +1,149 @@ +// @generated +/// Generated client implementations. +pub mod api_service_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::{ + http::Uri, + *, + }; + /** Service definition + */ + #[derive(Debug, Clone)] + pub struct ApiServiceClient { + inner: tonic::client::Grpc, + } + impl ApiServiceClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl ApiServiceClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + Send + 'static, + ::Error: Into + Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> ApiServiceClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + ApiServiceClient::new(InterceptedService::new(inner, interceptor)) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + /** * + Returns the story's open graph data + */ + pub async fn get_story_open_graph_data( + &mut self, + request: impl tonic::IntoRequest< + super::super::super::open_graph_def::v1::GetStoryOpenGraphDataRequest, + >, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/api_service.v1.ApiService/GetStoryOpenGraphData", + ); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "api_service.v1.ApiService", + "GetStoryOpenGraphData", + )); + self.inner.unary(req, path, codec).await + } + /** * + Returns the tag's open graph data + */ + pub async fn get_tag_open_graph_data( + &mut self, + request: impl tonic::IntoRequest< + super::super::super::open_graph_def::v1::GetTagOpenGraphDataRequest, + >, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/api_service.v1.ApiService/GetTagOpenGraphData", + ); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "api_service.v1.ApiService", + "GetTagOpenGraphData", + )); + self.inner.unary(req, path, codec).await + } + } +} diff --git a/src/proto/open_graph_def.v1.rs b/src/proto/open_graph_def.v1.rs new file mode 100644 index 0000000..de623d9 --- /dev/null +++ b/src/proto/open_graph_def.v1.rs @@ -0,0 +1,55 @@ +// @generated +// Get story open graph data request + +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetStoryOpenGraphDataRequest { + #[prost(string, tag="1")] + pub id: ::prost::alloc::string::String, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetStoryOpenGraphDataResponse { + #[prost(string, tag="1")] + pub id: ::prost::alloc::string::String, + #[prost(string, tag="2")] + pub title: ::prost::alloc::string::String, + #[prost(string, optional, tag="3")] + pub description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag="4")] + pub splash_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(uint32, tag="5")] + pub like_count: u32, + #[prost(uint32, tag="6")] + pub read_count: u32, + #[prost(uint32, tag="7")] + pub comment_count: u32, + #[prost(bool, tag="8")] + pub is_private: bool, + /// User + #[prost(string, tag="9")] + pub user_name: ::prost::alloc::string::String, + #[prost(string, optional, tag="10")] + pub user_avatar_id: ::core::option::Option<::prost::alloc::string::String>, +} +// Get tag open graph data request + +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTagOpenGraphDataRequest { + #[prost(string, tag="1")] + pub id: ::prost::alloc::string::String, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTagOpenGraphDataResponse { + #[prost(string, tag="1")] + pub id: ::prost::alloc::string::String, + #[prost(string, tag="2")] + pub name: ::prost::alloc::string::String, + #[prost(uint32, tag="3")] + pub story_count: u32, + #[prost(uint32, tag="4")] + pub follower_count: u32, +} +// @@protoc_insertion_point(module) diff --git a/src/proto/open_graph_def.v1.serde.rs b/src/proto/open_graph_def.v1.serde.rs new file mode 100644 index 0000000..ffc5448 --- /dev/null +++ b/src/proto/open_graph_def.v1.serde.rs @@ -0,0 +1,588 @@ +// @generated +impl serde::Serialize for GetStoryOpenGraphDataRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("open_graph_def.v1.GetStoryOpenGraphDataRequest", len)?; + if !self.id.is_empty() { + struct_ser.serialize_field("id", &self.id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetStoryOpenGraphDataRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "id", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Id, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "id" => Ok(GeneratedField::Id), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetStoryOpenGraphDataRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct open_graph_def.v1.GetStoryOpenGraphDataRequest") + } + + fn visit_map(self, mut map: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut id__ = None; + while let Some(k) = map.next_key()? { + match k { + GeneratedField::Id => { + if id__.is_some() { + return Err(serde::de::Error::duplicate_field("id")); + } + id__ = Some(map.next_value()?); + } + } + } + Ok(GetStoryOpenGraphDataRequest { + id: id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("open_graph_def.v1.GetStoryOpenGraphDataRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetStoryOpenGraphDataResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.id.is_empty() { + len += 1; + } + if !self.title.is_empty() { + len += 1; + } + if self.description.is_some() { + len += 1; + } + if self.splash_id.is_some() { + len += 1; + } + if self.like_count != 0 { + len += 1; + } + if self.read_count != 0 { + len += 1; + } + if self.comment_count != 0 { + len += 1; + } + if self.is_private { + len += 1; + } + if !self.user_name.is_empty() { + len += 1; + } + if self.user_avatar_id.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("open_graph_def.v1.GetStoryOpenGraphDataResponse", len)?; + if !self.id.is_empty() { + struct_ser.serialize_field("id", &self.id)?; + } + if !self.title.is_empty() { + struct_ser.serialize_field("title", &self.title)?; + } + if let Some(v) = self.description.as_ref() { + struct_ser.serialize_field("description", v)?; + } + if let Some(v) = self.splash_id.as_ref() { + struct_ser.serialize_field("splashId", v)?; + } + if self.like_count != 0 { + struct_ser.serialize_field("likeCount", &self.like_count)?; + } + if self.read_count != 0 { + struct_ser.serialize_field("readCount", &self.read_count)?; + } + if self.comment_count != 0 { + struct_ser.serialize_field("commentCount", &self.comment_count)?; + } + if self.is_private { + struct_ser.serialize_field("isPrivate", &self.is_private)?; + } + if !self.user_name.is_empty() { + struct_ser.serialize_field("userName", &self.user_name)?; + } + if let Some(v) = self.user_avatar_id.as_ref() { + struct_ser.serialize_field("userAvatarId", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetStoryOpenGraphDataResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "id", + "title", + "description", + "splash_id", + "splashId", + "like_count", + "likeCount", + "read_count", + "readCount", + "comment_count", + "commentCount", + "is_private", + "isPrivate", + "user_name", + "userName", + "user_avatar_id", + "userAvatarId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Id, + Title, + Description, + SplashId, + LikeCount, + ReadCount, + CommentCount, + IsPrivate, + UserName, + UserAvatarId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "id" => Ok(GeneratedField::Id), + "title" => Ok(GeneratedField::Title), + "description" => Ok(GeneratedField::Description), + "splashId" | "splash_id" => Ok(GeneratedField::SplashId), + "likeCount" | "like_count" => Ok(GeneratedField::LikeCount), + "readCount" | "read_count" => Ok(GeneratedField::ReadCount), + "commentCount" | "comment_count" => Ok(GeneratedField::CommentCount), + "isPrivate" | "is_private" => Ok(GeneratedField::IsPrivate), + "userName" | "user_name" => Ok(GeneratedField::UserName), + "userAvatarId" | "user_avatar_id" => Ok(GeneratedField::UserAvatarId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetStoryOpenGraphDataResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct open_graph_def.v1.GetStoryOpenGraphDataResponse") + } + + fn visit_map(self, mut map: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut id__ = None; + let mut title__ = None; + let mut description__ = None; + let mut splash_id__ = None; + let mut like_count__ = None; + let mut read_count__ = None; + let mut comment_count__ = None; + let mut is_private__ = None; + let mut user_name__ = None; + let mut user_avatar_id__ = None; + while let Some(k) = map.next_key()? { + match k { + GeneratedField::Id => { + if id__.is_some() { + return Err(serde::de::Error::duplicate_field("id")); + } + id__ = Some(map.next_value()?); + } + GeneratedField::Title => { + if title__.is_some() { + return Err(serde::de::Error::duplicate_field("title")); + } + title__ = Some(map.next_value()?); + } + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = map.next_value()?; + } + GeneratedField::SplashId => { + if splash_id__.is_some() { + return Err(serde::de::Error::duplicate_field("splashId")); + } + splash_id__ = map.next_value()?; + } + GeneratedField::LikeCount => { + if like_count__.is_some() { + return Err(serde::de::Error::duplicate_field("likeCount")); + } + like_count__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::ReadCount => { + if read_count__.is_some() { + return Err(serde::de::Error::duplicate_field("readCount")); + } + read_count__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::CommentCount => { + if comment_count__.is_some() { + return Err(serde::de::Error::duplicate_field("commentCount")); + } + comment_count__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::IsPrivate => { + if is_private__.is_some() { + return Err(serde::de::Error::duplicate_field("isPrivate")); + } + is_private__ = Some(map.next_value()?); + } + GeneratedField::UserName => { + if user_name__.is_some() { + return Err(serde::de::Error::duplicate_field("userName")); + } + user_name__ = Some(map.next_value()?); + } + GeneratedField::UserAvatarId => { + if user_avatar_id__.is_some() { + return Err(serde::de::Error::duplicate_field("userAvatarId")); + } + user_avatar_id__ = map.next_value()?; + } + } + } + Ok(GetStoryOpenGraphDataResponse { + id: id__.unwrap_or_default(), + title: title__.unwrap_or_default(), + description: description__, + splash_id: splash_id__, + like_count: like_count__.unwrap_or_default(), + read_count: read_count__.unwrap_or_default(), + comment_count: comment_count__.unwrap_or_default(), + is_private: is_private__.unwrap_or_default(), + user_name: user_name__.unwrap_or_default(), + user_avatar_id: user_avatar_id__, + }) + } + } + deserializer.deserialize_struct("open_graph_def.v1.GetStoryOpenGraphDataResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetTagOpenGraphDataRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("open_graph_def.v1.GetTagOpenGraphDataRequest", len)?; + if !self.id.is_empty() { + struct_ser.serialize_field("id", &self.id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetTagOpenGraphDataRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "id", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Id, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "id" => Ok(GeneratedField::Id), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetTagOpenGraphDataRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct open_graph_def.v1.GetTagOpenGraphDataRequest") + } + + fn visit_map(self, mut map: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut id__ = None; + while let Some(k) = map.next_key()? { + match k { + GeneratedField::Id => { + if id__.is_some() { + return Err(serde::de::Error::duplicate_field("id")); + } + id__ = Some(map.next_value()?); + } + } + } + Ok(GetTagOpenGraphDataRequest { + id: id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("open_graph_def.v1.GetTagOpenGraphDataRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetTagOpenGraphDataResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.id.is_empty() { + len += 1; + } + if !self.name.is_empty() { + len += 1; + } + if self.story_count != 0 { + len += 1; + } + if self.follower_count != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("open_graph_def.v1.GetTagOpenGraphDataResponse", len)?; + if !self.id.is_empty() { + struct_ser.serialize_field("id", &self.id)?; + } + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if self.story_count != 0 { + struct_ser.serialize_field("storyCount", &self.story_count)?; + } + if self.follower_count != 0 { + struct_ser.serialize_field("followerCount", &self.follower_count)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetTagOpenGraphDataResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "id", + "name", + "story_count", + "storyCount", + "follower_count", + "followerCount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Id, + Name, + StoryCount, + FollowerCount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "id" => Ok(GeneratedField::Id), + "name" => Ok(GeneratedField::Name), + "storyCount" | "story_count" => Ok(GeneratedField::StoryCount), + "followerCount" | "follower_count" => Ok(GeneratedField::FollowerCount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetTagOpenGraphDataResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct open_graph_def.v1.GetTagOpenGraphDataResponse") + } + + fn visit_map(self, mut map: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut id__ = None; + let mut name__ = None; + let mut story_count__ = None; + let mut follower_count__ = None; + while let Some(k) = map.next_key()? { + match k { + GeneratedField::Id => { + if id__.is_some() { + return Err(serde::de::Error::duplicate_field("id")); + } + id__ = Some(map.next_value()?); + } + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map.next_value()?); + } + GeneratedField::StoryCount => { + if story_count__.is_some() { + return Err(serde::de::Error::duplicate_field("storyCount")); + } + story_count__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::FollowerCount => { + if follower_count__.is_some() { + return Err(serde::de::Error::duplicate_field("followerCount")); + } + follower_count__ = + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(GetTagOpenGraphDataResponse { + id: id__.unwrap_or_default(), + name: name__.unwrap_or_default(), + story_count: story_count__.unwrap_or_default(), + follower_count: follower_count__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("open_graph_def.v1.GetTagOpenGraphDataResponse", FIELDS, GeneratedVisitor) + } +} diff --git a/src/routes/favicon.rs b/src/routes/favicon.rs index 93959ca..894e100 100644 --- a/src/routes/favicon.rs +++ b/src/routes/favicon.rs @@ -1,5 +1,9 @@ use crate::error::AppError; -use actix_web::{get, web, HttpResponse}; +use actix_web::{ + get, + web, + HttpResponse, +}; use tracing::error; const FAVICON: &[u8] = include_bytes!("../../static/favicon.ico"); diff --git a/src/routes/health.rs b/src/routes/health.rs index 9e702af..36eb1a4 100644 --- a/src/routes/health.rs +++ b/src/routes/health.rs @@ -1,5 +1,9 @@ use crate::error::AppError; -use actix_web::{get, web, HttpResponse}; +use actix_web::{ + get, + web, + HttpResponse, +}; #[get("/health")] #[tracing::instrument(name = "GET /health", skip_all, err)] diff --git a/src/routes/index.rs b/src/routes/index.rs index 6063761..04c71ec 100644 --- a/src/routes/index.rs +++ b/src/routes/index.rs @@ -1,5 +1,9 @@ use crate::error::AppError; -use actix_web::{get, web, HttpResponse}; +use actix_web::{ + get, + web, + HttpResponse, +}; #[get("/")] #[tracing::instrument(name = "GET /", skip_all, err)] diff --git a/src/routes/mod.rs b/src/routes/mod.rs index f607898..f8ad3f8 100644 --- a/src/routes/mod.rs +++ b/src/routes/mod.rs @@ -4,6 +4,8 @@ mod favicon; mod health; mod index; mod robots; +mod stories; +mod tags; /// Registers the routes. /// @@ -13,4 +15,6 @@ pub fn init_routes(cfg: &mut web::ServiceConfig) { health::init_routes(cfg); favicon::init_routes(cfg); robots::init_routes(cfg); + tags::init_routes(cfg); + stories::init_routes(cfg); } diff --git a/src/routes/robots.rs b/src/routes/robots.rs index 851ef06..cef1a1a 100644 --- a/src/routes/robots.rs +++ b/src/routes/robots.rs @@ -1,5 +1,10 @@ use crate::error::AppError; -use actix_web::{get, http::header::ContentType, web, HttpResponse}; +use actix_web::{ + get, + http::header::ContentType, + web, + HttpResponse, +}; const ROBOTS_TXT: &str = include_str!("../../static/robots.txt"); diff --git a/src/routes/stories.rs b/src/routes/stories.rs new file mode 100644 index 0000000..e68885d --- /dev/null +++ b/src/routes/stories.rs @@ -0,0 +1,291 @@ +use crate::{ + config::Config, + constants::{ + fonts::{ + CABINET_GROTESK_EXTRABOLD, + SATOSHI_MEDIUM, + SATOSHI_REGULAR, + }, + icons::DEFAULT_AVATAR, + }, + error::AppError, + grpc::defs::open_graph_def::v1::{ + GetStoryOpenGraphDataRequest, + GetStoryOpenGraphDataResponse, + }, + utils::{ + construct_svg_tree, + escape_string, + get_pixmap, + get_text_width, + get_thumbnail_url, + process_text, + truncate_text, + wrap_text, + }, + AppState, + StoryTemplate, +}; +use abbrev_num::abbrev_num; +use actix_http::StatusCode; +use actix_web::{ + get, + http::header::{ + CacheControl, + CacheDirective, + }, + web, + HttpResponse, +}; +use resvg::render; +use sailfish::TemplateOnce; +use serde::Deserialize; +use tiny_skia::Transform; +use tonic::Code; + +#[derive(Deserialize)] +struct Fragments { + id: String, +} + +#[get("/stories/{id}")] +#[tracing::instrument( + name = "GET /stories/{id}", + skip_all, + fields( + id = %path.id + ), + err +)] +async fn get( + path: web::Path, + state: web::Data, +) -> Result { + let id = path + .id + .parse::() + .map_err(|_| AppError::from("Invalid story ID"))?; + + let response = { + let grpc_client = &state.grpc_client; + let mut client = grpc_client.lock().await; + + client + .get_story_open_graph_data(tonic::Request::new(GetStoryOpenGraphDataRequest { + id: id.to_string(), + })) + .await + .map_err(|status| { + if matches!(status.code(), Code::NotFound) { + AppError::ClientError(StatusCode::NOT_FOUND, "Story not found".to_string()) + } else { + AppError::TonicError(status) + } + })? + .into_inner() + }; + + if response.is_private { + return Ok(HttpResponse::Forbidden().body("This story is private")); + } + + let bytes = generate_story_open_graph_image(&state.config, response).await?; + let mut builder = HttpResponse::Ok(); + + builder.insert_header(CacheControl(vec![ + CacheDirective::Public, + CacheDirective::MaxAge(86400_u32), // 24 hours + ])); + + Ok(builder.content_type(mime::IMAGE_PNG).body(bytes)) +} + +/// Renders the open graph image for a story. +/// +/// * `config` - The environment configuration. +/// * `response` - The story open graph response. +async fn generate_story_open_graph_image( + config: &Config, + response: GetStoryOpenGraphDataResponse, +) -> Result, AppError> { + let mut pixmap = get_pixmap()?; + + let splash_url = response + .splash_id + .map(|id| get_thumbnail_url(&config.cdn_server_url, id.as_str())); + let user_avatar_url = response + .user_avatar_id + .map(|id| get_thumbnail_url(&config.cdn_server_url, id.as_str())) + .unwrap_or(DEFAULT_AVATAR.to_string()); + + let read_count = abbrev_num(response.read_count as isize, None).unwrap_or_default(); + let like_count = abbrev_num(response.like_count as isize, None).unwrap_or_default(); + let comment_count = abbrev_num(response.comment_count as isize, None).unwrap_or_default(); + + let mut title_offset = "0"; + + let title = { + let title_lines = wrap_text(&process_text(&response.title), 920, Some(2), |text| { + get_text_width(&CABINET_GROTESK_EXTRABOLD, 46.0, text) as usize + }); + + if title_lines.len() == 1 { + title_offset = "-60"; + } + + title_lines + .iter() + .enumerate() + .map(|(index, line)| { + format!( + r#"{}"#, + if index == 0 { + r#"y="81.57""# + } else { + r#"dy="1.25em""# + }, + escape_string(line) + ) + }) + .collect::>() + .join("") + }; + + let description = response.description.map(|value| { + wrap_text( + &process_text(value.as_str()), + if splash_url.is_some() { 430 } else { 760 }, + Some(3), + |text| get_text_width(&SATOSHI_REGULAR, 30.0, text) as usize, + ) + .iter() + .enumerate() + .map(|(index, line)| { + format!( + r#"{}"#, + if index == 0 { + r#"y="308.133""# + } else { + r#"dy="1.3em""# + }, + escape_string(line) + ) + }) + .collect::>() + .join("") + }); + + let user_name = truncate_text( + &process_text(&response.user_name), + if splash_url.is_some() { 360 } else { 640 }, + |text| get_text_width(&SATOSHI_MEDIUM, 32.0, text) as usize, + ); + + let svg = StoryTemplate { + title, + description, + splash_url, + read_count, + like_count, + comment_count, + user_name, + user_avatar_url, + title_offset: title_offset.to_string(), + } + .render_once()?; + + let tree = construct_svg_tree(&svg).await?; + + render(&tree, Transform::default(), &mut pixmap.as_mut()); + + let bytes = pixmap.encode_png()?; + + Ok(bytes) +} + +pub fn init_routes(cfg: &mut web::ServiceConfig) { + cfg.service(get); +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::config::get_app_config; + use image::EncodableLayout; + + #[tokio::test] + async fn can_generate_open_graph_image_for_a_story() { + let config = get_app_config().unwrap(); + let bytes = generate_story_open_graph_image( + &config, + GetStoryOpenGraphDataResponse { + id: "0".to_string(), + title: "The quick brown fox jumps over the lazy dog's back, vaulting effortlessly, while the hazy sky blankets the quaint village, igniting whispered conversations amongst jovial townsfolk.".to_string(), + description: Some("Jumbled thoughts quickly zapped by fox, quirky vixen whispers joyfully; amid fancy, exploring grand, hazy jungles, kickboxing lions menace, nervously observing playful quetzals, rambunctious sloths, tigers, ungulates, vexing wolverines, xylophones yielding zany antics.".to_string()), + splash_id: None, + read_count: 9_600_000, + like_count: 120_000, + comment_count: 1_890, + is_private: false, + user_name: "Ian Weaver".to_string(), + user_avatar_id: None, + }, + ) + .await + .unwrap(); + + let og_image = image::load_from_memory(bytes.as_bytes()) + .expect("unable to load the open graph result") + .into_rgb8(); + + let expected_image = image::open("fixtures/story.png") + .expect("could not find the fixture image") + .into_rgb8(); + + let result = image_compare::rgb_hybrid_compare(&og_image, &expected_image) + .expect("images had different dimensions"); + + assert_eq!(result.score, 1.0); + } + + #[tokio::test] + async fn can_generate_open_graph_image_for_a_story_with_external_images() { + let config = get_app_config().unwrap(); + let bytes = generate_story_open_graph_image( + &config, + GetStoryOpenGraphDataResponse { + id: "0".to_string(), + title: "The quick brown fox jumps over the lazy dog's back, vaulting effortlessly, while the hazy sky blankets the quaint village, igniting whispered conversations amongst jovial townsfolk.".to_string(), + description: Some("Jumbled thoughts quickly zapped by fox, quirky vixen whispers joyfully; amid fancy, exploring grand, hazy jungles, kickboxing lions menace, nervously observing playful quetzals, rambunctious sloths, tigers, ungulates, vexing wolverines, xylophones yielding zany antics.".to_string()), + splash_id: Some( + "https://gist.github.com/assets/77036902/03350aca-511c-4007-9eff-1bddcd7b5c33" + .to_string(), + ), + read_count: 9_600_000, + like_count: 120_000, + comment_count: 1_890, + is_private: false, + user_name: "Ian Weaver".to_string(), + user_avatar_id: Some( + "https://gist.github.com/assets/77036902/23e75ee6-25d6-4844-b005-b17a099cebd6" + .to_string(), + ), + }, + ) + .await + .unwrap(); + + let og_image = image::load_from_memory(bytes.as_bytes()) + .expect("unable to load the open graph result") + .into_rgb8(); + + let expected_image = image::open("fixtures/story_with_external_images.png") + .expect("could not find the fixture image") + .into_rgb8(); + + let result = image_compare::rgb_hybrid_compare(&og_image, &expected_image) + .expect("images had different dimensions"); + + assert_eq!(result.score, 1.0); + } +} diff --git a/src/routes/tags.rs b/src/routes/tags.rs new file mode 100644 index 0000000..3b4a858 --- /dev/null +++ b/src/routes/tags.rs @@ -0,0 +1,151 @@ +use crate::{ + constants::fonts::CABINET_GROTESK_EXTRABOLD, + error::AppError, + grpc::defs::open_graph_def::v1::{ + GetTagOpenGraphDataRequest, + GetTagOpenGraphDataResponse, + }, + utils::{ + construct_svg_tree, + get_pixmap, + get_text_width, + process_text, + truncate_text, + }, + AppState, + TagTemplate, +}; +use abbrev_num::abbrev_num; +use actix_http::StatusCode; +use actix_web::{ + get, + http::header::{ + CacheControl, + CacheDirective, + }, + web, + HttpResponse, +}; +use resvg::render; +use sailfish::TemplateOnce; +use serde::Deserialize; +use tiny_skia::Transform; +use tonic::Code; + +#[derive(Deserialize)] +struct Fragments { + id: String, +} + +#[get("/tags/{id}")] +#[tracing::instrument( + name = "GET /tags/{id}", + skip_all, + fields( + id = %path.id + ), + err +)] +async fn get( + path: web::Path, + state: web::Data, +) -> Result { + let id = path + .id + .parse::() + .map_err(|_| AppError::from("Invalid tag ID"))?; + + let response = { + let grpc_client = &state.grpc_client; + let mut client = grpc_client.lock().await; + + client + .get_tag_open_graph_data(tonic::Request::new(GetTagOpenGraphDataRequest { + id: id.to_string(), + })) + .await + .map_err(|status| { + if matches!(status.code(), Code::NotFound) { + AppError::ClientError(StatusCode::NOT_FOUND, "Tag not found".to_string()) + } else { + AppError::TonicError(status) + } + })? + .into_inner() + }; + + let bytes = generate_tag_open_graph_image(response).await?; + let mut builder = HttpResponse::Ok(); + + builder.insert_header(CacheControl(vec![ + CacheDirective::Public, + CacheDirective::MaxAge(86400_u32), // 24 hours + ])); + + Ok(builder.content_type(mime::IMAGE_PNG).body(bytes)) +} + +/// Renders the open graph image for a tag. +/// +/// * `response` - The tag open graph response. +async fn generate_tag_open_graph_image( + response: GetTagOpenGraphDataResponse, +) -> Result, AppError> { + let mut pixmap = get_pixmap()?; + + let story_count = abbrev_num(response.story_count as isize, None).unwrap_or_default(); + let follower_count = abbrev_num(response.follower_count as isize, None).unwrap_or_default(); + let name = truncate_text(&process_text(&response.name), 900, |text| { + get_text_width(&CABINET_GROTESK_EXTRABOLD, 112.0, &format!("#{text}")) as usize + }); + + let svg = TagTemplate { + name, + story_count, + follower_count, + } + .render_once()?; + + let tree = construct_svg_tree(&svg).await?; + + render(&tree, Transform::default(), &mut pixmap.as_mut()); + + let bytes = pixmap.encode_png()?; + + Ok(bytes) +} + +pub fn init_routes(cfg: &mut web::ServiceConfig) { + cfg.service(get); +} + +#[cfg(test)] +mod tests { + use super::*; + use image::EncodableLayout; + + #[tokio::test] + async fn can_generate_open_graph_image_for_a_tag() { + let bytes = generate_tag_open_graph_image(GetTagOpenGraphDataResponse { + id: "0".to_string(), + name: "The quick brown fox jumped over the lazy dogs".to_string(), + story_count: 1_344, + follower_count: 1_520_000, + }) + .await + .unwrap(); + + let og_image = image::load_from_memory(bytes.as_bytes()) + .expect("unable to load the open graph result") + .into_rgb8(); + + let expected_image = image::open("fixtures/tag.png") + .expect("could not find the fixture image") + .into_rgb8(); + + let result = image_compare::rgb_hybrid_compare(&og_image, &expected_image) + .expect("images had different dimensions"); + + assert_eq!(result.score, 1.0); + } +} diff --git a/src/telemetry.rs b/src/telemetry.rs index 7273063..ed42d4c 100644 --- a/src/telemetry.rs +++ b/src/telemetry.rs @@ -1,7 +1,18 @@ use actix_web::rt::task::JoinHandle; -use tracing::{subscriber::set_global_default, Subscriber}; -use tracing_bunyan_formatter::{BunyanFormattingLayer, JsonStorageLayer}; -use tracing_subscriber::{fmt::MakeWriter, layer::SubscriberExt, EnvFilter, Registry}; +use tracing::{ + subscriber::set_global_default, + Subscriber, +}; +use tracing_bunyan_formatter::{ + BunyanFormattingLayer, + JsonStorageLayer, +}; +use tracing_subscriber::{ + fmt::MakeWriter, + layer::SubscriberExt, + EnvFilter, + Registry, +}; /// Composes multiple layers into a tracing's subscriber. /// diff --git a/src/utils/construct_svg_tree.rs b/src/utils/construct_svg_tree.rs new file mode 100644 index 0000000..9bb306f --- /dev/null +++ b/src/utils/construct_svg_tree.rs @@ -0,0 +1,65 @@ +use crate::error::AppError; +use lazy_static::lazy_static; +use reqwest::header::ACCEPT; +use std::{ + ops::Deref, + sync::Arc, +}; +use usvg::{ + fontdb, + ImageHrefResolver, + ImageKind, + Options, + Tree, +}; + +lazy_static! { + static ref REQUEST_CLIENT : reqwest::blocking::Client = reqwest::blocking::Client::new(); + // + static ref OPTIONS: Options = Options { + image_href_resolver: ImageHrefResolver { + resolve_string: Box::new(move |path: &str, _, _| { + let res = REQUEST_CLIENT.get(path).header(ACCEPT, "image/png, image/jpeg").send().ok()?; + let content_type = res + .headers() + .get("content-type") + .and_then(|value| value.to_str().ok())? + .to_owned(); + let buffer = res.bytes().ok()?.into_iter().collect::>(); + + match content_type.as_str() { + "image/png" => Some(ImageKind::PNG(Arc::new(buffer))), + "image/jpeg" => Some(ImageKind::JPEG(Arc::new(buffer))), + _ => None, + } + }), + ..Default::default() + }, + ..Default::default() + }; + // + static ref FONT_DB: fontdb::Database = { + let mut font_db = fontdb::Database::new(); + font_db.load_fonts_dir("fonts"); + font_db + }; +} + +/// Constructs a SVG tree using the provided SVG string. +/// +/// # Image fetching behaviour +/// +/// Only PNG and JPEG images are resolved. Other image formats are ignored. +/// +/// * `svg_string` - The SVG string. +#[tracing::instrument(err)] +pub async fn construct_svg_tree(svg_string: &str) -> Result { + let svg_string = svg_string.to_owned(); + + tokio::task::spawn_blocking(move || { + Tree::from_str(&svg_string, OPTIONS.deref(), FONT_DB.deref()) + .map_err(|err| AppError::InternalError(format!("unable to parse the svg: {err:?}"))) + }) + .await + .map_err(|err| AppError::InternalError(format!("unable to complete the task: {err:?}")))? +} diff --git a/src/utils/escape_string.rs b/src/utils/escape_string.rs new file mode 100644 index 0000000..ffe8e9c --- /dev/null +++ b/src/utils/escape_string.rs @@ -0,0 +1,21 @@ +use sailfish::runtime::escape::escape_to_string; + +/// Replaces the characters `&"'<>` in the provided text with the equivalent HTML. +/// +/// * `text` - The text to escape. +pub fn escape_string(text: &str) -> String { + let mut buffer = String::new(); + escape_to_string(text, &mut buffer); + buffer +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn can_escape_a_string() { + let result = escape_string("

Hello, world!"); + assert_eq!(result, "<h1>Hello, world!</ h1>"); + } +} diff --git a/src/utils/get_pixmap.rs b/src/utils/get_pixmap.rs new file mode 100644 index 0000000..1391b7b --- /dev/null +++ b/src/utils/get_pixmap.rs @@ -0,0 +1,15 @@ +use crate::{ + constants::dimensions::{ + IMG_HEIGHT, + IMG_WIDTH, + }, + error::AppError, +}; +use tiny_skia::Pixmap; + +/// Allocates and returns a new [Pixmap] using the default [IMG_WIDTH] and [IMG_HEIGHT] values. +pub fn get_pixmap() -> Result { + Pixmap::new(IMG_WIDTH, IMG_HEIGHT).ok_or(AppError::InternalError( + "pixmap allocation error".to_string(), + )) +} diff --git a/src/utils/get_text_width.rs b/src/utils/get_text_width.rs new file mode 100644 index 0000000..2cb4b43 --- /dev/null +++ b/src/utils/get_text_width.rs @@ -0,0 +1,31 @@ +use rusttype::{ + point, + Font, + Scale, +}; + +/// Computes the width (in pixels) of a given text using the provided font size and family. +/// +/// See https://stackoverflow.com/a/68154492/22683234 +/// +/// * `font` - The font instance to use for measuring the width. +/// * `font_size` - The font size value. +/// * `text` - The target text. +pub fn get_text_width(font: &Font, font_size: f32, text: &str) -> f32 { + font.layout(text, Scale::uniform(font_size), point(0.0, 0.0)) + .last() + .map(|glyph| glyph.position().x + glyph.unpositioned().h_metrics().advance_width) + .unwrap_or(0.0) +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::constants::fonts::SATOSHI_REGULAR; + + #[test] + fn can_compute_text_width() { + let text_width = get_text_width(&SATOSHI_REGULAR, 16.0, "Hello world"); + assert_eq!(format!("{:.1}", text_width), "63.7".to_string()); + } +} diff --git a/src/utils/get_thumbnail_url.rs b/src/utils/get_thumbnail_url.rs new file mode 100644 index 0000000..989d193 --- /dev/null +++ b/src/utils/get_thumbnail_url.rs @@ -0,0 +1,12 @@ +/// Returns the thumbnail URL of the image mapped to provided ID. +/// +/// * `cdn_server_url` - The URL of the CDN server. +/// * `id` - The public key of the image. +pub fn get_thumbnail_url(cdn_server_url: &str, id: &str) -> String { + if cfg!(test) { + // Return the ID during tests. + id.to_string() + } else { + format!("{cdn_server_url}/thumb/{id}") + } +} diff --git a/src/utils/mod.rs b/src/utils/mod.rs new file mode 100644 index 0000000..7415c30 --- /dev/null +++ b/src/utils/mod.rs @@ -0,0 +1,17 @@ +mod construct_svg_tree; +mod escape_string; +mod get_pixmap; +mod get_text_width; +mod get_thumbnail_url; +mod process_text; +mod truncate_text; +mod wrap_text; + +pub use construct_svg_tree::*; +pub use escape_string::*; +pub use get_pixmap::*; +pub use get_text_width::*; +pub use get_thumbnail_url::*; +pub use process_text::*; +pub use truncate_text::*; +pub use wrap_text::*; diff --git a/src/utils/process_text.rs b/src/utils/process_text.rs new file mode 100644 index 0000000..953f87d --- /dev/null +++ b/src/utils/process_text.rs @@ -0,0 +1,20 @@ +use unidecode::unidecode; + +/// Normalizes all non-ASCII characters in the text. This serves as a temporary solution to the +/// rendering complications for complex characters and emojis. +/// +/// * `text` - The text to normalize. +pub fn process_text(text: &str) -> String { + unidecode(text) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn can_normalize_a_text() { + let result = process_text("Æneid"); + assert_eq!(result, "AEneid".to_string()); + } +} diff --git a/src/utils/truncate_text.rs b/src/utils/truncate_text.rs new file mode 100644 index 0000000..df43a16 --- /dev/null +++ b/src/utils/truncate_text.rs @@ -0,0 +1,50 @@ +use unicode_segmentation::UnicodeSegmentation; + +/// Truncates the given text to fit inside the provided `max_width` value. The `compute_text_width` +/// should return the width of the text in pixels. +/// +/// * `text` - The text to truncate. +/// * `max_width` - The maximum width in pixels. +/// * `compute_text_width` - The closure to compute width of the text passed as an argument in +/// pixels. +pub fn truncate_text(text: &str, max_width: u32, compute_text_width: F) -> String +where + F: Fn(&str) -> usize, +{ + let mut text = text.to_owned(); + let text_width = compute_text_width(&text); + let text_chars = text.graphemes(true).count().max(1); // Total number of characters. + let char_width = text_width / text_chars; // Average width of each character in pixels. + // Maximum number of characters that can fit inside the given `max_width` value. + let mut fitting_chars = ((max_width / char_width as u32) as f32).floor() as usize; + + // Remove the remaining characters. + if text_chars > fitting_chars { + // For `…` at the end + fitting_chars = fitting_chars.saturating_sub(1); + text.truncate(fitting_chars); + text = format!("{text}…"); + } + + text +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::{ + constants::fonts::SATOSHI_REGULAR, + utils::get_text_width, + }; + + #[test] + fn can_truncate_a_text() { + let result = truncate_text( + "a sufficiently long string to perform truncation", + 128, + |text| get_text_width(&SATOSHI_REGULAR, 16.0, text) as usize, + ); + + assert_eq!(result, "a sufficiently long stri…".to_string()); + } +} diff --git a/src/utils/wrap_text.rs b/src/utils/wrap_text.rs new file mode 100644 index 0000000..2b7ba24 --- /dev/null +++ b/src/utils/wrap_text.rs @@ -0,0 +1,99 @@ +use textwrap::wrap; +use unicode_segmentation::UnicodeSegmentation; + +/// Wraps the text into multiple lines (upto a maximum of `max_lines` if provided) to fit inside the +/// provided `max_width` value. +/// +/// * `text` - The text to wrap. +/// * `max_width` - The maximum width of the text container in pixels. +/// * `max_lines` - The maximum lines to wrap. +/// * `compute_text_width` - The closure to compute width of the text passed as an argument in +/// pixels. +pub fn wrap_text( + text: &str, + max_width: u32, + max_lines: Option, + compute_text_width: F, +) -> Vec +where + F: Fn(&str) -> usize, +{ + let text_width = compute_text_width(text); + let text_chars = text.graphemes(true).count(); + let char_width = text_width / text_chars.max(1); // Average width of each character in pixels. + let columns = max_width / char_width as u32; + let lines = wrap(text, columns as usize); + + lines + .iter() + .enumerate() + .filter_map(|(index, line)| { + if let Some(max_lines) = max_lines { + let index = index as u32; + let max_index = max_lines - 1; + + if index > max_index { + return None; + } + + let is_last_line = index == max_index; + let has_next_line = lines.get((index + 1) as usize).is_some(); + + // Truncate the last line if next line is present. + if is_last_line && has_next_line { + let mut chars = line.chars(); + chars.next_back(); // Remove the last character for `…` + return Some(format!("{}…", chars.as_str())); + } + }; + + Some(line.to_string()) + }) + .collect::>() +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::{ + constants::fonts::SATOSHI_REGULAR, + utils::get_text_width, + }; + + #[test] + fn can_wrap_a_text() { + let result = wrap_text( + "The quick brown fox jumps over the lazy dog", + 108, + None, + |text| get_text_width(&SATOSHI_REGULAR, 16.0, text) as usize, + ); + + assert_eq!( + result, + vec![ + "The quick brown fox".to_string(), + "jumps over the lazy".to_string(), + "dog".to_string() + ] + ); + } + + #[test] + fn can_limit_the_number_of_lines() { + let result = wrap_text( + "The quick brown fox jumps over the lazy dog", + 108, + Some(2), + |text| get_text_width(&SATOSHI_REGULAR, 16.0, text) as usize, + ); + + assert_eq!( + result, + vec![ + "The quick brown fox".to_string(), + "jumps over the laz…".to_string(), + ] + ); + } +} diff --git a/templates/story.stpl b/templates/story.stpl new file mode 100644 index 0000000..01b3bd3 --- /dev/null +++ b/templates/story.stpl @@ -0,0 +1,64 @@ + + + + + + + <% if let Some(ref splash_url) = splash_url { %> + + + + + <% } %> + + + + + <% if splash_url.is_some() { %> + + <% } %> + + + + <%= read_count %> + Reads + + + <%= like_count %> + Likes + + + <%= comment_count %> + Comments + + + + + <%- title %> + + + <%= user_name %> + + <% if let Some(description) = description { %> + <%- description %> + <% } %> + diff --git a/templates/tag.stpl b/templates/tag.stpl new file mode 100644 index 0000000..e7f9459 --- /dev/null +++ b/templates/tag.stpl @@ -0,0 +1,30 @@ + + + + + + + + <%= story_count %> + Stories + + + <%= follower_count %> + Followers + + + + + #<%= name %> +