From 7cd0cc44a15d61c7ca2242ad49c11795daa5721e Mon Sep 17 00:00:00 2001
From: Pierre Jarriges <pierre.jarriges@tutanota.com>
Date: Sun, 7 Nov 2021 15:05:28 +0100
Subject: [PATCH] wip admin panel - create article form ok

---
 .../src/components/create-article-form.js     | 112 ++++++++++++++++--
 admin-frontend/src/components/root.js         |  53 +++++++++
 .../src/components/update-article-form.js     |   0
 admin-frontend/src/constants.js               |   3 +
 admin-frontend/src/index.js                   |  56 +--------
 admin-frontend/src/xhr.js                     |  10 +-
 ...{obj-to-html-logo.png => obj2htm-logo.png} | Bin
 public/assets/images/mental-eau.png           | Bin 0 -> 17155 bytes
 public/assets/images/obj2htm-logo.png         | Bin 0 -> 952 bytes
 public/assets/images/screen_make_frames.png   | Bin 0 -> 19795 bytes
 src/middleware.rs                             |   5 +-
 src/service/articles.rs                       |   4 +-
 12 files changed, 171 insertions(+), 72 deletions(-)
 create mode 100644 admin-frontend/src/components/root.js
 create mode 100644 admin-frontend/src/components/update-article-form.js
 create mode 100644 admin-frontend/src/constants.js
 rename public/articles/software/object-to-html-renderer/images/{obj-to-html-logo.png => obj2htm-logo.png} (100%)
 create mode 100644 public/assets/images/mental-eau.png
 create mode 100644 public/assets/images/obj2htm-logo.png
 create mode 100644 public/assets/images/screen_make_frames.png

diff --git a/admin-frontend/src/components/create-article-form.js b/admin-frontend/src/components/create-article-form.js
index 39b06fc..792877b 100644
--- a/admin-frontend/src/components/create-article-form.js
+++ b/admin-frontend/src/components/create-article-form.js
@@ -1,6 +1,7 @@
 "use strict";
 
-const { fetch_post_article } = require("../xhr");
+const { images_url } = require("../constants");
+const { fetch_post_article, fetch_article } = require("../xhr");
 
 class CreateArticleForm {
     constructor() {
@@ -12,10 +13,24 @@ class CreateArticleForm {
                 details: [],
                 images: [],
                 body: "",
-            }
+            },
+            article_sent: {},
         }
     }
 
+    reset() {
+        this.state.output = {
+            title: "",
+            subtitle: "",
+            category: "",
+            details: [],
+            images: [],
+            body: "",
+        };
+        this.state.article_sent = {};
+        this.refresh();
+    }
+
     handle_text_input(field, e) {
         this.state.output[field] = e.target.value;
     }
@@ -128,11 +143,30 @@ class CreateArticleForm {
                 return {
                     tag: "li",
                     style_rules: {
-                        display: "grid",
-                        gridTemplateColumns: "300px 60px",
+                        display: "flex",
+                        alignItems: "center",
                         gap: "10px",
                     },
                     contents: [
+                        {
+                            tag: "div",
+                            style_rules: {
+                                display: "flex",
+                                flexDirection: "center",
+                                alignItems: "center",
+                                justifyContent: "center",
+                                width: "150px",
+                                height: "150px",
+                                overflow: "hidden",
+                            },
+                            contents: [
+                                {
+                                    tag: "img",
+                                    style_rules: { minWidth: "100%", minHeight: "100%" },
+                                    src: img ? `${images_url}/${img}` : "",
+                                }
+                            ],
+                        },
                         {
                             tag: "input",
                             type: "text",
@@ -142,6 +176,10 @@ class CreateArticleForm {
                                 this.state.output.images[i] = e.target.value;
                             }
                         },
+                        {
+                            tag: "button", contents: "OK",
+                            onclick: this.refresh_images.bind(this)
+                        },
                         {
                             tag: "button", contents: "DEL",
                             onclick: this.handle_del_image.bind(this, i)
@@ -159,9 +197,60 @@ class CreateArticleForm {
         }
     }
 
+    render_article_sent() {
+        const article = this.state.article_sent;
+        return {
+            tag: "div",
+            style_rules: {
+                maxWidth: "800px",
+            },
+            contents: [
+                { tag: "button", contents: "RESET", onclick: this.reset.bind(this) },
+                { tag: "h2", contents: article.title },
+                { tag: "h4", contents: article.subtitle },
+                { tag: "p", contents: article.body.replace(/\n/g, "<br>") },
+                {
+                    tag: "ul", contents: article.details.map(det => {
+                        return {
+                            tag: "li",
+                            style_rules: {
+                                display: "flex",
+                                gap: "20px",
+                                justifyContent: "space-between",
+                            },
+                            contents: [
+                                { tag: "span", contents: det.label },
+                                { tag: "span", contents: det.value }
+                            ]
+                        };
+                    })
+                },
+                {
+                    tag: "div", style_rules: { display: "flex", gap: "10px" },
+                    contents: article.images.map(img => {
+                        return {
+                            tag: "img",
+                            style_rules: { height: "100px", width: "auto" },
+                            src: `${images_url}/${img}`
+                        }
+                    })
+                }
+            ]
+        }
+    }
+
+    refresh() {
+        obj2htm.subRender(
+            this.render(),
+            document.getElementById("create-article-form"),
+            { mode: "replace" }
+        );
+    }
+
     render() {
         return {
             tag: "form",
+            id: "create-article-form",
             style_rules: {
                 display: "grid",
                 maxWidth: "800px",
@@ -170,12 +259,17 @@ class CreateArticleForm {
             },
             onsubmit: e => {
                 e.preventDefault();
-                console.log("will post output", this.state.output)
-                // fetch_post_article(this.state.output)
-                //     .then(res => console.log(res))
-                //     .catch(err => console.log(err))
+                fetch_post_article(this.state.output)
+                    .then(res => {
+                        const id = res.insertedId.$oid;
+                        fetch_article(id).then(article => {
+                            this.state.article_sent = article;
+                            this.refresh();
+                        }).catch(er => console.log(er));
+                    })
+                    .catch(err => console.log(err))
             },
-            contents: [
+            contents: this.state.article_sent._id ? [this.render_article_sent()] : [
                 {
                     tag: "input", type: "text", placeholder: "category",
                     value: this.state.output.category,
diff --git a/admin-frontend/src/components/root.js b/admin-frontend/src/components/root.js
new file mode 100644
index 0000000..eb81cfd
--- /dev/null
+++ b/admin-frontend/src/components/root.js
@@ -0,0 +1,53 @@
+
+const CreateArticleForm = require("./create-article-form");
+
+class RootComponent {
+    constructor() {
+        this.state = {
+            selected_tab: ""
+        };
+    }
+
+    handle_nav_click(e) {
+        this.state.selected_tab = e.target.tab_name;
+        obj2htm.renderCycle();
+    }
+
+    render_state() {
+        switch (this.state.selected_tab) {
+            case "create":
+                return new CreateArticleForm().render();
+            case "update":
+                return undefined;
+            default:
+                return undefined;
+        }
+    }
+
+    render() {
+        return {
+            tag: "main",
+            contents: [
+                { tag: "h1", contents: "Kuadrado admin panel" },
+                {
+                    tag: "nav",
+                    contents: [
+                        {
+                            tag: "span", contents: "Create article", tab_name: "create",
+                            class: this.state.selected_tab === "create" ? "selected" : "",
+                            onclick: this.handle_nav_click.bind(this),
+                        },
+                        {
+                            tag: "span", contents: "Update article", tab_name: "update",
+                            class: this.state.selected_tab === "update" ? "selected" : "",
+                            onclick: this.handle_nav_click.bind(this),
+                        },
+                    ],
+                },
+                this.render_state(),
+            ],
+        };
+    }
+}
+
+module.exports = RootComponent;
\ No newline at end of file
diff --git a/admin-frontend/src/components/update-article-form.js b/admin-frontend/src/components/update-article-form.js
new file mode 100644
index 0000000..e69de29
diff --git a/admin-frontend/src/constants.js b/admin-frontend/src/constants.js
new file mode 100644
index 0000000..ffe6ed3
--- /dev/null
+++ b/admin-frontend/src/constants.js
@@ -0,0 +1,3 @@
+module.exports = {
+    images_url: "/assets/images"
+}
\ No newline at end of file
diff --git a/admin-frontend/src/index.js b/admin-frontend/src/index.js
index ee56e9a..7be69ac 100644
--- a/admin-frontend/src/index.js
+++ b/admin-frontend/src/index.js
@@ -1,60 +1,6 @@
 const renderer = require("object-to-html-renderer");
-const CreateArticleForm = require("./components/create-article-form");
-
-class RootComponent {
-    constructor() {
-        this.state = {
-            selected_tab: ""
-        };
-    }
-
-    handle_nav_click(e) {
-        this.state.selected_tab = e.target.tab_name;
-        this.refresh();
-    }
-
-    refresh() {
-        obj2htm.renderCycle();
-    }
-
-    render_state() {
-        switch (this.state.selected_tab) {
-            case "create":
-                return new CreateArticleForm().render();
-            case "update":
-                return undefined;
-            default:
-                return undefined;
-        }
-    }
-
-    render() {
-        return {
-            tag: "main",
-            contents: [
-                { tag: "h1", contents: "Kuadrado admin panel" },
-                {
-                    tag: "nav",
-                    contents: [
-                        {
-                            tag: "span", contents: "Create article", tab_name: "create",
-                            class: this.state.selected_tab === "create" ? "selected" : "",
-                            onclick: this.handle_nav_click.bind(this),
-                        },
-                        {
-                            tag: "span", contents: "Update article", tab_name: "update",
-                            class: this.state.selected_tab === "update" ? "selected" : "",
-                            onclick: this.handle_nav_click.bind(this),
-                        },
-                    ],
-                },
-                this.render_state(),
-            ],
-        };
-    }
-}
+const RootComponent = require("./components/root");
 
 renderer.register("obj2htm");
-
 obj2htm.setRenderCycleRoot(new RootComponent());
 obj2htm.renderCycle();
\ No newline at end of file
diff --git a/admin-frontend/src/xhr.js b/admin-frontend/src/xhr.js
index d5321e9..1b77ca7 100644
--- a/admin-frontend/src/xhr.js
+++ b/admin-frontend/src/xhr.js
@@ -53,11 +53,12 @@ async function fetch_post_article(article_data) {
             body: JSON.stringify(article_data),
         })
             .then(async res => {
-                const text = await res.text();
                 if (res.status >= 400 && res.status < 600) {
+                    const text = await res.text();
                     reject(text)
                 } else {
-                    resolve(text);
+                    const json = await res.json();
+                    resolve(json);
                 }
             })
             .catch(err => reject(err))
@@ -75,11 +76,12 @@ async function fetch_update_article(article_data) {
             body: JSON.stringify(article_data),
         })
             .then(async res => {
-                const text = await res.text();
                 if (res.status >= 400 && res.status < 600) {
+                    const text = await res.text();
                     reject(text)
                 } else {
-                    resolve(text);
+                    const json = await res.json();
+                    resolve(json);
                 }
             })
             .catch(err => reject(err))
diff --git a/public/articles/software/object-to-html-renderer/images/obj-to-html-logo.png b/public/articles/software/object-to-html-renderer/images/obj2htm-logo.png
similarity index 100%
rename from public/articles/software/object-to-html-renderer/images/obj-to-html-logo.png
rename to public/articles/software/object-to-html-renderer/images/obj2htm-logo.png
diff --git a/public/assets/images/mental-eau.png b/public/assets/images/mental-eau.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed6c2eeced7fbb226d7c30e1a526b7c0b09c6d93
GIT binary patch
literal 17155
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
UGUikYLk4S^%c{i*3%8yAe{Z2>W&i*H

literal 0
HcmV?d00001

diff --git a/public/assets/images/obj2htm-logo.png b/public/assets/images/obj2htm-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..8efda75f697267280b833f5aeb6b1a36b96cee67
GIT binary patch
literal 952
zcmV;p14sOcP)<h;3K|Lk000e1NJLTq0077U0077V0{{R3mzF%;0004mX+uL$Nkc;*
zaB^>EX>4Tx04R}tkv&MmKpe$iQ>7v;f_4xQ$xxjv6cusQDionYs1;guFuC*#nlvOS
zE{=k0!NHHks)LKOt`4q(Aou~|=H{g6A|?JWDYS_7;J6>}?mh0_0YbgZG^;BHXu55t
z5^*t;T@?eb2%sM!#4sW=%b1g-Bsz|-d-(Wz7v))<&;2<<YR+PSPb8jYhG`RT5KnK~
z2Iqa^Fe}O`@j3ChNf#u3<htVV8|Q+{0?!Pa>C`-Nm{=^dvC_t@Xlle$#1U1~DPPEV
zta9Gstd*;*c~AbrU`}6I<~q$`B(R7jND!f*iW17O5v5fp#X^eq;~o4%u3sXTLaq`R
zITlcX2HEw4|H1EWt^DMKmlTWx-7k*wF$x5Bfkw@7zK<QJaRT_Cfh)b`uhfB=Ptt2G
zEpi0(Z37qAElt@2E_Z;zCqp)6SMt*o@_FF>jJ_!g4BP^}YhG{7eVjf3Y3eF@0~{Oz
zV+G1y@9^%P_TK(I)9mjDj)HQs_{KmA00006P)t-s00030|No`gpWOfe00Cl4M??UK
z1szBL000SaNLh0L04^f{04^f|c%?sf00007bV*G`2jvG64KxSu`<9Xb000?uMObu0
zZ*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0004lNkl<ZSi|j=F>=Hp3`NCII2|ds
z3O5PYN|A|uG>*a%C@DN9NEYlG*x4rO^c!n<Sg?O389*cwi9{mN|H|y$f{Qg6$iYEw
zgaen)r)or{O12k7Pl)e`jy-{nKqbdO*5@S9V_|ZGCETVY6=G*Z6Y&#b3-LBh$eO@-
zdyGV9BIhr;5W^%6WG!oEGx_L=%Ee#1(c?-C+G@9AW_%z!*&B(_4sdsJW^pYDt#lST
z+0jixD;|p{P<qF=2bWsuSh~_DT{6|;Sui|Z`C*sJ#y|vb6&o=LQ=Y_=(UoARnFM?t
z7r*J)#A|#GdAzgd?Hmdd6MHAH?zl5kC6r|NHa7#c4=$)wx3CAMCQ&Ud6Y?63LqfJS
zuPJFsry?i25|>jcUVHY%r4AM*VIYdhHddlbOQ8R1Acjbs5JhC0b;(yDAJhJMGalZj
zq?9#WyHUR;eEdUi=Yh0I;X9)H>C#A@E^Sshct-9sk*63;NWJ6JIcf)z<bxy<i9{mN
apXe8)qb))s^l9_}0000<MNUMnLSTaQbC!(&

literal 0
HcmV?d00001

diff --git a/public/assets/images/screen_make_frames.png b/public/assets/images/screen_make_frames.png
new file mode 100644
index 0000000000000000000000000000000000000000..1cad3ad3fa68becd61855f7055cfacfc231ef401
GIT binary patch
literal 19795
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

literal 0
HcmV?d00001

diff --git a/src/middleware.rs b/src/middleware.rs
index a239355..1dde054 100644
--- a/src/middleware.rs
+++ b/src/middleware.rs
@@ -2,14 +2,15 @@ use crate::{
     model::{AdminAuthCredentials, Administrator},
     AppState,
 };
-use actix_web::{http::Cookie, web::Form, HttpMessage, HttpRequest};
+use actix_web::{cookie::SameSite, http::Cookie, web::Form, HttpMessage, HttpRequest};
 use wither::{bson::doc, prelude::Model};
 
-/// Returns a actix_web::http::Cookie instance designed to be an authentication cookie.
+/// Returns a Secure actix_web::http::Cookie.
 pub fn get_auth_cookie(name: &'static str, value: String) -> Cookie<'static> {
     Cookie::build(name, value)
         .secure(true)
         .http_only(true)
+        .same_site(SameSite::Strict)
         .path("/")
         .finish()
 }
diff --git a/src/service/articles.rs b/src/service/articles.rs
index fe2cf62..38f7849 100644
--- a/src/service/articles.rs
+++ b/src/service/articles.rs
@@ -40,7 +40,7 @@ pub async fn post_article(
         .insert_one(article_data, None)
         .await
     {
-        Ok(_) => HttpResponse::Created().body("Article inserted with success"),
+        Ok(res) => HttpResponse::Created().json(res),
         Err(e) => {
             HttpResponse::InternalServerError().body(format!("Error inserting new article {:?}", e))
         }
@@ -74,7 +74,7 @@ pub async fn update_article(
         .find_one_and_replace(doc! {"_id": &article_id}, article_data, None)
         .await
     {
-        Ok(_) => HttpResponse::Ok().finish(),
+        Ok(res) => HttpResponse::Ok().json(res.unwrap()),
         Err(_) => HttpResponse::InternalServerError().finish(),
     }
 }
-- 
GitLab