Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit 2aee2071 authored by Pierre Jarriges's avatar Pierre Jarriges
Browse files

rebuild website after update

parent 5fc2717c
No related branches found
No related tags found
No related merge requests found
......@@ -26,12 +26,18 @@ pub async fn add_page(
match website.add_page(add_page_data.parent_page_id, add_page_data.new_page.clone()) {
Ok(()) => {
if let Err(msg) = website.build() {
return HttpResponse::InternalServerError()
.body(format!("Error rebuilding Website - {}", msg));
}
if let Err(msg) =
website.save(&app_state.read().expect("Couldn't read AppState").config)
{
return HttpResponse::InternalServerError()
.body(format!("Error saving website to static file - {}", msg));
};
HttpResponse::Created().finish()
}
Err(msg) => {
......@@ -64,13 +70,12 @@ pub async fn update_page(
updated_page: Json<Page>,
) -> HttpResponse {
let id = id.into_inner();
let mut website = website
.write()
.expect("Couldn't acquire website write lock");
let page = {
match website
.write()
.expect("Couldn't acquire website write lock")
.update_page(id, updated_page.into_inner())
{
match website.update_page(id, updated_page.into_inner()) {
Ok(page) => page.clone(),
Err(msg) => {
return HttpResponse::BadRequest()
......@@ -79,11 +84,12 @@ pub async fn update_page(
}
};
if let Err(msg) = website
.read()
.expect("Couldn't read WebSite")
.save(&app_state.read().expect("Couldn't read AppState").config)
{
if let Err(msg) = website.build() {
return HttpResponse::InternalServerError()
.body(format!("Error rebuilding Website - {}", msg));
}
if let Err(msg) = website.save(&app_state.read().expect("Couldn't read AppState").config) {
return HttpResponse::InternalServerError()
.body(format!("Error saving website to static file - {}", msg));
};
......@@ -129,11 +135,12 @@ pub async fn update_template(
website: Data<RwLock<WebSite>>,
updated_template: Json<PageTemplate>,
) -> HttpResponse {
let mut website = website
.write()
.expect("Couldn't acquire website write lock");
let updated = {
let mut ws = website
.write()
.expect("Couldn't acquire website write lock");
match ws.update_template(updated_template.into_inner()) {
match website.update_template(updated_template.into_inner()) {
Ok(template) => template.clone(),
Err(msg) => {
return HttpResponse::BadRequest().body(format!("Error updating template {}", msg))
......@@ -141,19 +148,14 @@ pub async fn update_template(
}
};
WebSite::update_page_rec_after_template_update(
&mut website
.write()
.expect("Couldn't acquire website write lock")
.root_page,
&updated,
);
WebSite::update_page_rec_after_template_update(&mut website.root_page, &updated);
if let Err(msg) = website
.read()
.expect("Couldn't read WebSite")
.save(&app_state.read().expect("Couldn't read AppState").config)
{
if let Err(msg) = website.build() {
return HttpResponse::InternalServerError()
.body(format!("Error rebuilding Website - {}", msg));
}
if let Err(msg) = website.save(&app_state.read().expect("Couldn't read AppState").config) {
return HttpResponse::InternalServerError()
.body(format!("Error saving website to static file - {}", msg));
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment