{
    "path": "/home/krm/dev/mimer-academia/server/web/Tutorial/using-cookies-for-user-info.sv.json",
    "s": "Ignor",
    "invert": true,
    "level": 1,
    "title": [
        "Hantera information hos användare via kakor"
    ],
    "description": [
        [
            {
                "form": "important"
            },
            "author: krm\ncreated: 2022-05-02\nstatus: alpha\n"
        ]
    ],
    "statments": [],
    "comment": [],
    "cards": [
        {
            "level": 1,
            "title": [
                "# 👁️‍🗨️ Om detta avsnitt"
            ],
            "description": [
                "Använd en kaka för att se hur ofta en person har läst en sida. Vi kommer behöva installera ett paket som kan parsar kakorna för \noss. Vi kommer i testeran utgå från att guiden nedan är gjort."
            ],
            "statments": [
                {
                    "description": [
                        "🦉 ",
                        [
                            {
                                "link": "https://htsit.se/t/web-server/using-mustasch-for-pages.sv.html"
                            },
                            "Använda mustash för att få dynamisak sidor"
                        ]
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "❓ Vad är en webbkaka?"
            ],
            "description": [
                "Är data som sparas av server på klientdator av webläsaren. Om webkakan innehåller personklig information måste användaren frågas \nom tillåteslse att anväda dem, annars inte."
            ],
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 1,
            "title": [
                "Installera paketet “cookie-parser”."
            ],
            "description": [
                "Vi behöver ett paket som kan göra parsningen av dessa åt oss."
            ],
            "lang": "js",
            "code": "npm install cookie-parser\nnpm install @types/cookie-parser",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 2,
            "title": [
                "Importera packetet cookie-parser"
            ],
            "description": [
                "Skriv denna kod högst upp i programmet."
            ],
            "lang": "js",
            "code": "import cookie from \"cookie-parser\";",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 3,
            "title": [
                "Lägg till ett midelware"
            ],
            "description": [
                "Vi ska nu använda oss av detta paket. Lägg sedan till följande kod för att registrera ett midelware. Detta måste komma föra anrop som \nska använda det."
            ],
            "lang": "js",
            "code": "app.use(cookie());",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 4,
            "title": [
                "Räkna hur ofta någon har besökt en sida"
            ],
            "description": [
                "Lägg till följande variabel i main funktionen."
            ],
            "lang": "js",
            "code": "let count =0;",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 5,
            "title": [
                "Finns kakan?"
            ],
            "description": [
                "Vi ska nu titta om det inte finns en kaka som heter ",
                [
                    {
                        "form": "important"
                    },
                    "count"
                ],
                "."
            ],
            "lang": "js",
            "code": "if(req.cookies.count === undefined) {",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 6,
            "title": [
                "Skapa en tom kaka."
            ],
            "description": [
                "För om det inte finns en sådan kaka så får vi helt enkelt göra en."
            ],
            "lang": "js",
            "code": "res.cookie(\"count\", 0, {maxAge: 100000000});\n}",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 7,
            "title": [
                "Om kakan redan finns"
            ],
            "description": [
                "Då har vi möjlighet att göra något med den. Kakan kommer innehålla värdet som den har fått tidigare."
            ],
            "lang": "js",
            "code": "else {\n// CODE\n}",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 8,
            "title": [
                "Få data om kakan"
            ],
            "description": [
                "I kode avsnittet ovan så gör kod som lägga kakans värde i vår “count” variabel och sedan öka den med ett för att sedan sätta kakvan till \ndetta värde."
            ],
            "lang": "js",
            "code": "count = Number(req.cookies.count);\ncount++;",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 9,
            "title": [
                "Spara sedan data i kakan."
            ],
            "description": [
                "Vi behöver nu uppdaera kaka med det nya värdet."
            ],
            "lang": "js",
            "code": "res.cookie(\"count\", count, {maxAge: 100000000});",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 10,
            "title": [
                "Att skriva ut värdet."
            ],
            "description": [
                "Vi ska nu skriva ut värdet och då utgår vi från guiden \"Använda mustash för att få dynamisak sidor\", men du kan själv välja på vilket sätt du \nväljer att visa värdet på. Börja med att komplettera vårt objekt som \nanvädns för rendering."
            ],
            "lang": "json",
            "code": "\"count\": count,",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 11,
            "title": [
                "Updatera vår mal"
            ],
            "description": [
                "Vi behöver också komplettera vår mall där värdet ska visas."
            ],
            "lang": "html",
            "code": "<h2> Du har varit här {{count}}! </h2>",
            "statments": [],
            "comment": []
        },
        {
            "level": 1,
            "index": 12,
            "title": [
                "✔️ Starta om servern och testa anropet"
            ],
            "description": [
                "Starta om server och gå in på sidan:"
            ],
            "statments": [
                {
                    "description": [
                        "🔗 ",
                        [
                            {
                                "link": "http://localhost:3000"
                            },
                            "http://localhost:3000"
                        ]
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "index": 13,
            "title": [
                "✔️ Tiita att du har en kaka i webbläsare"
            ],
            "description": [],
            "statments": [],
            "comment": []
        }
    ]
}