Skip to content

Instantly share code, notes, and snippets.

@nataliaconde
Created November 29, 2022 13:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nataliaconde/1bf5d079b460883a9c51ceccf89e4321 to your computer and use it in GitHub Desktop.
Save nataliaconde/1bf5d079b460883a9c51ceccf89e4321 to your computer and use it in GitHub Desktop.
const {TwingEnvironment, TwingLoaderFilesystem} = require("twing");
let loader = new TwingLoaderFilesystem(__dirname + "/views");
let twing = new TwingEnvironment(loader);
app.get("/", async (req, res) => {
try {
let tasks = [];
const query = new Parse.Query("Task");
await query.each(task => tasks.push(task.toJSON()), {});
twing.render("index.twig", {
"tasks": tasks,
}).then(out => res.send(out));
} catch (error) {
twing.render("error.twig", {
"error": error,
}).then(out => res.send(out));
}
})
app.get("/create", async (req, res) => {
twing.render("create.twig").then(out => res.send(out));
});
app.post("/create", async (req, res) => {
const name = req.body.name;
const description = req.body.description;
const isDone = !!req.body.isDone;
try {
const task = new Parse.Object("Task");
task.set("name", name);
task.set("description", description);
task.set("isDone", isDone);
await task.save();
res.redirect("/" + task.id);
} catch (error) {
twing.render("error.twig", {
"error": error,
}).then(out => res.send(out));
}
});
// Please grab the rest of the *routes.js* file from GitHub:
// https://github.com/duplxey/nodejs-back4app/blob/master/cloud/routes.js
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment