use to_owned instead of clone
Some checks are pending
ci/woodpecker/push/publish Pipeline is pending
Some checks are pending
ci/woodpecker/push/publish Pipeline is pending
This commit is contained in:
parent
1afa14dfed
commit
b0112c06d6
12 changed files with 27 additions and 23 deletions
|
@ -93,10 +93,14 @@ pub fn get_config(file_path: &str) -> Config {
|
||||||
|
|
||||||
let static_dir = "static".to_owned();
|
let static_dir = "static".to_owned();
|
||||||
let templates_dir = "templates".to_owned();
|
let templates_dir = "templates".to_owned();
|
||||||
let files_root = init("dist".to_owned(), static_dir.clone(), templates_dir.clone());
|
let files_root = init(
|
||||||
|
"dist".to_owned(),
|
||||||
|
static_dir.to_owned(),
|
||||||
|
templates_dir.to_owned(),
|
||||||
|
);
|
||||||
|
|
||||||
Config {
|
Config {
|
||||||
fc: internal_config.clone(),
|
fc: internal_config.to_owned(),
|
||||||
static_location: format!("{}/{}", files_root, static_dir),
|
static_location: format!("{}/{}", files_root, static_dir),
|
||||||
tmpl: Template {
|
tmpl: Template {
|
||||||
directory: format!("{}/{}", files_root, templates_dir),
|
directory: format!("{}/{}", files_root, templates_dir),
|
||||||
|
|
|
@ -20,14 +20,14 @@ async fn main() -> Result<()> {
|
||||||
|
|
||||||
println!(
|
println!(
|
||||||
"Listening to {}://{}:{}",
|
"Listening to {}://{}:{}",
|
||||||
config.clone().fc.scheme.unwrap(),
|
config.to_owned().fc.scheme.unwrap(),
|
||||||
addr.0,
|
addr.0,
|
||||||
addr.1
|
addr.1
|
||||||
);
|
);
|
||||||
|
|
||||||
HttpServer::new(move || {
|
HttpServer::new(move || {
|
||||||
App::new()
|
App::new()
|
||||||
.app_data(web::Data::new(config.clone()))
|
.app_data(web::Data::new(config.to_owned()))
|
||||||
.wrap(DefaultHeaders::new().add((
|
.wrap(DefaultHeaders::new().add((
|
||||||
"Onion-Location",
|
"Onion-Location",
|
||||||
config.fc.onion.as_deref().unwrap_or_default(),
|
config.fc.onion.as_deref().unwrap_or_default(),
|
||||||
|
@ -46,7 +46,7 @@ async fn main() -> Result<()> {
|
||||||
.service(gaming::page)
|
.service(gaming::page)
|
||||||
.service(cours::page)
|
.service(cours::page)
|
||||||
.service(cv::page)
|
.service(cv::page)
|
||||||
.service(Files::new("/", config.static_location.clone()))
|
.service(Files::new("/", config.static_location.to_owned()))
|
||||||
.default_service(web::to(not_found::page))
|
.default_service(web::to(not_found::page))
|
||||||
})
|
})
|
||||||
.bind(addr)?
|
.bind(addr)?
|
||||||
|
|
|
@ -68,7 +68,7 @@ pub async fn fetch_pr() -> Result<Vec<Project>, Error> {
|
||||||
resp.items.iter().for_each(|p| {
|
resp.items.iter().for_each(|p| {
|
||||||
list.push(Project {
|
list.push(Project {
|
||||||
project: p.repository_url.split('/').last().unwrap().to_owned(),
|
project: p.repository_url.split('/').last().unwrap().to_owned(),
|
||||||
project_url: p.repository_url.clone(),
|
project_url: p.repository_url.to_owned(),
|
||||||
status: if p.pull_request.merged_at.is_none() {
|
status: if p.pull_request.merged_at.is_none() {
|
||||||
if p.state == "closed" {
|
if p.state == "closed" {
|
||||||
ProjectState::Closed
|
ProjectState::Closed
|
||||||
|
@ -78,9 +78,9 @@ pub async fn fetch_pr() -> Result<Vec<Project>, Error> {
|
||||||
} else {
|
} else {
|
||||||
ProjectState::Merged
|
ProjectState::Merged
|
||||||
},
|
},
|
||||||
title: p.title.clone(),
|
title: p.title.to_owned(),
|
||||||
id: p.number,
|
id: p.number,
|
||||||
contrib_url: p.pull_request.html_url.clone(),
|
contrib_url: p.pull_request.html_url.to_owned(),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ use ramhorns::Content;
|
||||||
#[get("/security.txt")]
|
#[get("/security.txt")]
|
||||||
pub async fn security(req: HttpRequest, config: web::Data<Config>) -> impl Responder {
|
pub async fn security(req: HttpRequest, config: web::Data<Config>) -> impl Responder {
|
||||||
HttpResponse::Ok().body(build_securitytxt(
|
HttpResponse::Ok().body(build_securitytxt(
|
||||||
config.get_ref().clone(),
|
config.get_ref().to_owned(),
|
||||||
req.connection_info().to_owned(),
|
req.connection_info().to_owned(),
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ use crate::{
|
||||||
|
|
||||||
#[get("/blog")]
|
#[get("/blog")]
|
||||||
pub async fn index(config: web::Data<Config>) -> impl Responder {
|
pub async fn index(config: web::Data<Config>) -> impl Responder {
|
||||||
HttpResponse::Ok().body(build_index(config.get_ref().clone()))
|
HttpResponse::Ok().body(build_index(config.get_ref().to_owned()))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Content)]
|
#[derive(Content)]
|
||||||
|
@ -115,7 +115,7 @@ struct BlogPostTemplate {
|
||||||
|
|
||||||
#[get("/blog/{id}")]
|
#[get("/blog/{id}")]
|
||||||
pub async fn page(path: web::Path<(String,)>, config: web::Data<Config>) -> impl Responder {
|
pub async fn page(path: web::Path<(String,)>, config: web::Data<Config>) -> impl Responder {
|
||||||
HttpResponse::Ok().body(build_post(path.into_inner().0, config.get_ref().clone()))
|
HttpResponse::Ok().body(build_post(path.into_inner().0, config.get_ref().to_owned()))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn build_post(file: String, config: Config) -> String {
|
pub fn build_post(file: String, config: Config) -> String {
|
||||||
|
|
|
@ -11,7 +11,7 @@ use ramhorns::Content;
|
||||||
|
|
||||||
#[get("/contrib")]
|
#[get("/contrib")]
|
||||||
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
||||||
HttpResponse::Ok().body(build_page(config.get_ref().clone()).await)
|
HttpResponse::Ok().body(build_page(config.get_ref().to_owned()).await)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Content)]
|
#[derive(Content)]
|
||||||
|
@ -51,7 +51,7 @@ pub async fn build_page(config: Config) -> String {
|
||||||
let mut map: HashMap<&str, Vec<Pull>> = HashMap::new();
|
let mut map: HashMap<&str, Vec<Pull>> = HashMap::new();
|
||||||
projects.iter().for_each(|p| {
|
projects.iter().for_each(|p| {
|
||||||
let project = Pull {
|
let project = Pull {
|
||||||
url: p.contrib_url.clone(),
|
url: p.contrib_url.to_owned(),
|
||||||
id: p.id,
|
id: p.id,
|
||||||
name_repo: p.project.to_owned(),
|
name_repo: p.project.to_owned(),
|
||||||
title: p.title.to_owned(),
|
title: p.title.to_owned(),
|
||||||
|
@ -63,7 +63,7 @@ pub async fn build_page(config: Config) -> String {
|
||||||
} else {
|
} else {
|
||||||
data.push(Project {
|
data.push(Project {
|
||||||
name: project_name.to_owned(),
|
name: project_name.to_owned(),
|
||||||
url: p.project_url.clone(),
|
url: p.project_url.to_owned(),
|
||||||
pulls_merged: Vec::new(),
|
pulls_merged: Vec::new(),
|
||||||
pulls_closed: Vec::new(),
|
pulls_closed: Vec::new(),
|
||||||
pulls_open: Vec::new(),
|
pulls_open: Vec::new(),
|
||||||
|
@ -77,9 +77,9 @@ pub async fn build_page(config: Config) -> String {
|
||||||
map.get(d.name.as_str()).unwrap().iter().for_each(|p| {
|
map.get(d.name.as_str()).unwrap().iter().for_each(|p| {
|
||||||
let state = p.state.into();
|
let state = p.state.into();
|
||||||
match state {
|
match state {
|
||||||
ProjectState::Closed => d.pulls_closed.push(p.clone()),
|
ProjectState::Closed => d.pulls_closed.push(p.to_owned()),
|
||||||
ProjectState::Merged => d.pulls_merged.push(p.clone()),
|
ProjectState::Merged => d.pulls_merged.push(p.to_owned()),
|
||||||
ProjectState::Open => d.pulls_open.push(p.clone()),
|
ProjectState::Open => d.pulls_open.push(p.to_owned()),
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
let mut name: Vec<char> = d.name.replace('-', " ").chars().collect();
|
let mut name: Vec<char> = d.name.replace('-', " ").chars().collect();
|
||||||
|
|
|
@ -5,7 +5,7 @@ use crate::{config::Config, template::Infos};
|
||||||
|
|
||||||
#[get("/")]
|
#[get("/")]
|
||||||
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
||||||
HttpResponse::Ok().body(build_page(config.get_ref().clone()))
|
HttpResponse::Ok().body(build_page(config.get_ref().to_owned()))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[once(time = 60)]
|
#[once(time = 60)]
|
||||||
|
|
|
@ -5,7 +5,7 @@ use crate::{config::Config, template::Infos};
|
||||||
|
|
||||||
#[get("/networks")]
|
#[get("/networks")]
|
||||||
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
||||||
HttpResponse::Ok().body(build_page(config.get_ref().clone()))
|
HttpResponse::Ok().body(build_page(config.get_ref().to_owned()))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[once(time = 60)]
|
#[once(time = 60)]
|
||||||
|
|
|
@ -4,7 +4,7 @@ use cached::proc_macro::once;
|
||||||
use crate::{config::Config, template::Infos};
|
use crate::{config::Config, template::Infos};
|
||||||
|
|
||||||
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
||||||
HttpResponse::NotFound().body(build_page(config.get_ref().clone()))
|
HttpResponse::NotFound().body(build_page(config.get_ref().to_owned()))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[once(time = 60)]
|
#[once(time = 60)]
|
||||||
|
|
|
@ -11,7 +11,7 @@ use crate::{
|
||||||
|
|
||||||
#[get("/portfolio")]
|
#[get("/portfolio")]
|
||||||
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
||||||
HttpResponse::Ok().body(build_page(config.get_ref().clone()))
|
HttpResponse::Ok().body(build_page(config.get_ref().to_owned()))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Content)]
|
#[derive(Content)]
|
||||||
|
|
|
@ -5,7 +5,7 @@ use crate::{config::Config, template::Infos};
|
||||||
|
|
||||||
#[get("/web3")]
|
#[get("/web3")]
|
||||||
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
pub async fn page(config: web::Data<Config>) -> impl Responder {
|
||||||
HttpResponse::Ok().body(build_page(config.get_ref().clone()))
|
HttpResponse::Ok().body(build_page(config.get_ref().to_owned()))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[once(time = 60)]
|
#[once(time = 60)]
|
||||||
|
|
|
@ -41,7 +41,7 @@ impl Template {
|
||||||
let tplt = templates.from_file(template).unwrap();
|
let tplt = templates.from_file(template).unwrap();
|
||||||
|
|
||||||
tplt.render(&Data {
|
tplt.render(&Data {
|
||||||
app_name: self.app_name.clone(),
|
app_name: self.app_name.to_owned(),
|
||||||
page_title: info.page_title,
|
page_title: info.page_title,
|
||||||
page_desc: info.page_desc,
|
page_desc: info.page_desc,
|
||||||
page_kw: info.page_kw,
|
page_kw: info.page_kw,
|
||||||
|
|
Loading…
Reference in a new issue