Refactoring to Rear #2

Merged
g4borg merged 3 commits from refactor_to_rear into main 2024-02-28 14:43:16 +01:00
9 changed files with 27 additions and 144 deletions
Showing only changes of commit 74eb3ac4c2 - Show all commits

108
Cargo.lock generated
View File

@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "ahash"
version = "0.7.7"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
dependencies = [
"getrandom",
"once_cell",
@ -30,9 +30,9 @@ dependencies = [
[[package]]
name = "ahash"
version = "0.8.6"
version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
checksum = "8b79b82693f705137f8fb9b37871d99e4f9a7df12b917eed79c3d3954830a60b"
dependencies = [
"cfg-if",
"getrandom",
@ -792,41 +792,6 @@ dependencies = [
"typenum",
]
[[package]]
name = "darling"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
dependencies = [
"darling_core",
"darling_macro",
]
[[package]]
name = "darling_core"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
"syn 1.0.109",
]
[[package]]
name = "darling_macro"
version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
dependencies = [
"darling_core",
"quote",
"syn 1.0.109",
]
[[package]]
name = "der"
version = "0.7.8"
@ -859,37 +824,6 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "derive_builder"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "660047478bc508c0fde22c868991eec0c40a63e48d610befef466d48e2bee574"
dependencies = [
"derive_builder_macro",
]
[[package]]
name = "derive_builder_core"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b217e6dd1011a54d12f3b920a411b5abd44b1716ecfe94f5f2f2f7b52e08ab7"
dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "derive_builder_macro"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a5f77d7e20ac9153428f7ca14a88aba652adfc7a0ef0a06d654386310ef663b"
dependencies = [
"derive_builder_core",
"syn 1.0.109",
]
[[package]]
name = "deunicode"
version = "1.4.2"
@ -1311,7 +1245,7 @@ version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
dependencies = [
"ahash 0.7.7",
"ahash 0.7.8",
]
[[package]]
@ -1320,7 +1254,7 @@ version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
dependencies = [
"ahash 0.8.6",
"ahash 0.8.10",
"allocator-api2",
]
@ -1538,12 +1472,6 @@ dependencies = [
"cc",
]
[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "idna"
version = "0.4.0"
@ -1828,7 +1756,6 @@ dependencies = [
"async-trait",
"axum 0.7.4",
"barrel",
"derive_builder",
"dotenvy",
"dunce",
"entity",
@ -1846,7 +1773,6 @@ dependencies = [
"serde_json",
"slug",
"sqlformat",
"strinto",
"tokio",
"tower-http",
"tracing",
@ -2379,25 +2305,14 @@ dependencies = [
"anyhow",
"async-trait",
"axum 0.7.4",
"barrel",
"derive_builder",
"dotenvy",
"dunce",
"env_logger",
"log",
"mime_guess",
"minijinja",
"minijinja-autoreload",
"once_cell",
"pulldown-cmark",
"rust-embed",
"sea-orm",
"serde",
"serde_json",
"slug",
"sqlformat",
"tokio",
"tower-http",
"tracing",
]
@ -3046,7 +2961,7 @@ version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd"
dependencies = [
"ahash 0.8.6",
"ahash 0.8.10",
"atoi",
"bigdecimal",
"byteorder",
@ -3261,15 +3176,6 @@ dependencies = [
"unicode-normalization",
]
[[package]]
name = "strinto"
version = "0.1.0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.48",
]
[[package]]
name = "strsim"
version = "0.10.0"

View File

@ -17,7 +17,7 @@ use_barrel = ["barrel", "sqlformat"]
default = ["use_barrel"]
[dependencies]
strinto = { path = "./strinto" }
# strinto = { path = "./strinto" }
entity = { path = "./entity" }
rear = { path = "./rear" }
sea-orm = { version = "0.12.10", features = [
@ -51,7 +51,6 @@ log = "0.4.20"
env_logger = "0.11"
serde_json = "1.0.108"
slug = "0.1.5"
derive_builder = "0.13.0"
async-trait = "0.1.77"
tracing = "0.1.40"
tower-http = { version = "0.5.1", features = ["trace"] }

View File

@ -278,3 +278,18 @@ or:
`rustup toolchain install stable-msvc`
activate toolchain with `rustup default`
### udeps
https://github.com/est31/cargo-udeps
While compilation of this tool also works on Rust stable, it needs Rust nightly to actually run.
`cargo install cargo-udeps --locked`
cargo +nightly udeps
#### switching to nightly and back
rustup override set nightly

View File

@ -8,22 +8,9 @@ publish = false
name = "rear"
path = "src/lib.rs"
[features]
# https://github.com/rust-db/barrel/blob/master/guides/diesel-setup.md
use_barrel = ["barrel", "sqlformat"]
default = ["use_barrel"]
[dependencies]
sea-orm = { version = "0.12.10", features = [
"runtime-tokio-native-tls",
"sqlx-postgres",
] }
sqlformat = { version = "0.2.2", optional = true }
anyhow = "1.0.75"
axum = "0.7"
barrel = { version = "0.7.0", optional = true, features = ["pg"] }
dotenvy = "0.15.7"
mime_guess = "2.0.4"
minijinja = { version = "1.0.11", features = [
"loader",
"builtins",
@ -31,21 +18,11 @@ minijinja = { version = "1.0.11", features = [
"deserialization",
] }
minijinja-autoreload = "1.0.8"
once_cell = "1.18.0"
pulldown-cmark = "0.9.3"
rust-embed = { version = "8.0.0", features = [
"axum",
"tokio",
"include-exclude",
] }
serde = { version = "1.0.188", features = ["derive"] }
tokio = { version = "1.32.0", features = ["full"] }
dunce = "1.0.4"
log = "0.4.20"
env_logger = "0.11"
serde_json = "1.0.108"
slug = "0.1.5"
derive_builder = "0.13.0"
async-trait = "0.1.77"
tracing = "0.1.40"
tower-http = { version = "0.5.1", features = ["trace"] }

View File

@ -50,12 +50,11 @@ mod dto {
}
pub mod repository {
use super::dto::{AdminApp, AdminModel};
use super::dto::AdminModel;
use async_trait::async_trait;
use derive_builder::Builder;
use serde::{Serialize, Serializer};
use serde_json::Value;
use std::{collections::HashMap, vec::IntoIter};
use std::vec::IntoIter;
pub type RepositoryContext = AdminModel;

View File

@ -1,4 +1,4 @@
use axum::{routing::get, routing::post, Router};
use axum::{routing::get, Router};
pub mod domain;
pub mod state;

View File

@ -1,5 +1,3 @@
use std::sync::Arc;
use axum::extract::Path;
use axum::http::HeaderMap;
use axum::Form;
@ -8,9 +6,7 @@ use log::info;
use serde_json::Value;
use crate::admin::domain::{AdminApp, AdminModel};
use crate::admin::state;
use crate::admin::state::AdminState;
use crate::service::templates;
use serde::{Deserialize, Serialize};
use super::domain::{LookupKey, RepositoryInfo, RepositoryItem, RepositoryList};

View File

@ -1,13 +1,6 @@
/* Default handlers */
use crate::service::templates::Templates;
use axum::{
body::Body,
extract::State,
http::{header, StatusCode, Uri},
response::{IntoResponse, Response},
};
use rust_embed::RustEmbed;
use std::marker::PhantomData;
use axum::{extract::State, http::StatusCode, response::IntoResponse};
// usage: .fallback(not_found_handler)
pub async fn not_found_handler(

View File

@ -1,10 +1,8 @@
use crate::service::error::Error;
use axum::response::Html;
use minijinja::value::ValueKind;
use minijinja::{path_loader, Environment, Value};
use minijinja_autoreload::AutoReloader;
use pulldown_cmark::Event;
use serde::Deserializer;
use std::sync::Arc;
#[derive(Clone)]