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( ...@@ -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()) { match website.add_page(add_page_data.parent_page_id, add_page_data.new_page.clone()) {
Ok(()) => { Ok(()) => {
if let Err(msg) = website.build() {
return HttpResponse::InternalServerError()
.body(format!("Error rebuilding Website - {}", msg));
}
if let Err(msg) = if let Err(msg) =
website.save(&app_state.read().expect("Couldn't read AppState").config) website.save(&app_state.read().expect("Couldn't read AppState").config)
{ {
return HttpResponse::InternalServerError() return HttpResponse::InternalServerError()
.body(format!("Error saving website to static file - {}", msg)); .body(format!("Error saving website to static file - {}", msg));
}; };
HttpResponse::Created().finish() HttpResponse::Created().finish()
} }
Err(msg) => { Err(msg) => {
...@@ -64,13 +70,12 @@ pub async fn update_page( ...@@ -64,13 +70,12 @@ pub async fn update_page(
updated_page: Json<Page>, updated_page: Json<Page>,
) -> HttpResponse { ) -> HttpResponse {
let id = id.into_inner(); let id = id.into_inner();
let mut website = website
.write()
.expect("Couldn't acquire website write lock");
let page = { let page = {
match website match website.update_page(id, updated_page.into_inner()) {
.write()
.expect("Couldn't acquire website write lock")
.update_page(id, updated_page.into_inner())
{
Ok(page) => page.clone(), Ok(page) => page.clone(),
Err(msg) => { Err(msg) => {
return HttpResponse::BadRequest() return HttpResponse::BadRequest()
...@@ -79,11 +84,12 @@ pub async fn update_page( ...@@ -79,11 +84,12 @@ pub async fn update_page(
} }
}; };
if let Err(msg) = website if let Err(msg) = website.build() {
.read() return HttpResponse::InternalServerError()
.expect("Couldn't read WebSite") .body(format!("Error rebuilding Website - {}", msg));
.save(&app_state.read().expect("Couldn't read AppState").config) }
{
if let Err(msg) = website.save(&app_state.read().expect("Couldn't read AppState").config) {
return HttpResponse::InternalServerError() return HttpResponse::InternalServerError()
.body(format!("Error saving website to static file - {}", msg)); .body(format!("Error saving website to static file - {}", msg));
}; };
...@@ -129,11 +135,12 @@ pub async fn update_template( ...@@ -129,11 +135,12 @@ pub async fn update_template(
website: Data<RwLock<WebSite>>, website: Data<RwLock<WebSite>>,
updated_template: Json<PageTemplate>, updated_template: Json<PageTemplate>,
) -> HttpResponse { ) -> HttpResponse {
let mut website = website
.write()
.expect("Couldn't acquire website write lock");
let updated = { let updated = {
let mut ws = website match website.update_template(updated_template.into_inner()) {
.write()
.expect("Couldn't acquire website write lock");
match ws.update_template(updated_template.into_inner()) {
Ok(template) => template.clone(), Ok(template) => template.clone(),
Err(msg) => { Err(msg) => {
return HttpResponse::BadRequest().body(format!("Error updating template {}", msg)) return HttpResponse::BadRequest().body(format!("Error updating template {}", msg))
...@@ -141,19 +148,14 @@ pub async fn update_template( ...@@ -141,19 +148,14 @@ pub async fn update_template(
} }
}; };
WebSite::update_page_rec_after_template_update( WebSite::update_page_rec_after_template_update(&mut website.root_page, &updated);
&mut website
.write()
.expect("Couldn't acquire website write lock")
.root_page,
&updated,
);
if let Err(msg) = website if let Err(msg) = website.build() {
.read() return HttpResponse::InternalServerError()
.expect("Couldn't read WebSite") .body(format!("Error rebuilding Website - {}", msg));
.save(&app_state.read().expect("Couldn't read AppState").config) }
{
if let Err(msg) = website.save(&app_state.read().expect("Couldn't read AppState").config) {
return HttpResponse::InternalServerError() return HttpResponse::InternalServerError()
.body(format!("Error saving website to static file - {}", msg)); .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