An even more educational version of the Bandolier for Learn JS the Hard Way. https://learnjsthehardway.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
761 B

import { ToDo } from "../lib/models.js";
import nunjucks from "nunjucks";
export class Todo {
async get(req, rep) {
const todo_list = await ToDo.all({});
const result = nunjucks.render("todo.html",
{todo_list, name: "Zed"});
rep.code(200).type("text/html").send(result);
}
async post(req, rep) {
if(req.query.todo_id !== undefined) {
await ToDo.delete({id: req.query.todo_id});
} else {
console.log("ADDING TASK", req.body.task);
await ToDo.insert({task: req.body.task});
}
// this is how you can prevent the annoying double submit
rep.redirect("/todo");
}
}
// you use the export default to set the route URL?
// I mean, it works not sure if I like it though
export default { todo: Todo };