parent
adf69936bb
commit
52a2b2caab
@ -0,0 +1,17 @@ |
|||||||
|
import { ToDo } from "../lib/models.js"; |
||||||
|
import nunjucks from "nunjucks"; |
||||||
|
|
||||||
|
export const get = async (req, rep) => { |
||||||
|
const todo_list = await ToDo.all({}); |
||||||
|
rep.code(200).send(todo_list); |
||||||
|
} |
||||||
|
|
||||||
|
export const post = async (req, rep) => { |
||||||
|
if(req.query.todo_id !== undefined) { |
||||||
|
await ToDo.delete({id: req.query.todo_id}); |
||||||
|
} else { |
||||||
|
await ToDo.insert({task: req.body.task}); |
||||||
|
} |
||||||
|
|
||||||
|
await get(req, rep); |
||||||
|
} |
@ -1,29 +0,0 @@ |
|||||||
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 }; |
|
@ -1,30 +0,0 @@ |
|||||||
import { ToDo } from "../lib/models.js"; |
|
||||||
import nunjucks from "nunjucks"; |
|
||||||
|
|
||||||
export class Todo { |
|
||||||
async get(req, rep) { |
|
||||||
if(req.headers.accept === "application/json") { |
|
||||||
const todo_list = await ToDo.all({}); |
|
||||||
rep.code(200).send(todo_list); |
|
||||||
} else { |
|
||||||
const result = nunjucks.render("todo_alpine.html", {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 { |
|
||||||
await ToDo.insert({task: req.body.task}); |
|
||||||
} |
|
||||||
|
|
||||||
await this.get(req, rep); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// you use the export default to set the route URL?
|
|
||||||
// I mean, it works not sure if I like it though
|
|
||||||
export default { |
|
||||||
todo_alpine: Todo, |
|
||||||
}; |
|
@ -0,0 +1,23 @@ |
|||||||
|
import { ToDo } from "../lib/models.js"; |
||||||
|
import nunjucks from "nunjucks"; |
||||||
|
|
||||||
|
export const get = async (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); |
||||||
|
} |
||||||
|
|
||||||
|
export const post = async (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"); |
||||||
|
} |
Loading…
Reference in new issue