Implement exercise 1.1 (open help page)
This commit is contained in:
@@ -21,11 +21,9 @@ account.get("/", (req: Request, res: Response) => {
|
||||
// Login user
|
||||
account.post("/login", async (req: Request, res: Response) => {
|
||||
// Using raw SQL code for SQL injections!
|
||||
// todo: Inner join
|
||||
const [results, metadata] =
|
||||
await sequelize.query(
|
||||
"SELECT * FROM Accounts " +
|
||||
"INNER JOIN Addresses ON Accounts.id=Addresses.accountId " +
|
||||
"WHERE (username='" + req.body.username +
|
||||
"' AND password='" + req.body.password + "')")
|
||||
|
||||
@@ -42,6 +40,7 @@ account.post("/login", async (req: Request, res: Response) => {
|
||||
}
|
||||
|
||||
if (results.length != 0) {
|
||||
|
||||
// Status: 200 OK
|
||||
res.status(200).json(results[0])
|
||||
} else {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { Op } from "sequelize";
|
||||
import { Exercise } from "../models/exercises/exercise.model";
|
||||
import { ExerciseGroup } from "../models/exercises/exerciseGroup.model";
|
||||
import { Request, Response, Router } from "express";
|
||||
@@ -27,19 +28,47 @@ exercises.get("/", (req: Request, res: Response) => {
|
||||
* @param state New state boolean
|
||||
*/
|
||||
exercises.post("/:groupNr/:exerciseNr/:state", (req: Request, res: Response) => {
|
||||
ExerciseGroup.findOne({
|
||||
where: { groupNr: req.params.groupNr }
|
||||
})
|
||||
.then(group => {
|
||||
Exercise.findOne({
|
||||
where: {
|
||||
exerciseNr: req.params.exerciseNr,
|
||||
exerciseGroupId: group.id
|
||||
Exercise.findOne({
|
||||
where: {
|
||||
[Op.and] : [
|
||||
{
|
||||
exerciseNr: req.params.exerciseNr
|
||||
},
|
||||
{
|
||||
"$exerciseGroup.groupNr$": req.params.groupNr
|
||||
}
|
||||
})
|
||||
.then(exercise => {
|
||||
exercise.update({ solved: req.params.state == "1"})
|
||||
res.status(200).send()
|
||||
]
|
||||
},
|
||||
include: [ ExerciseGroup ]
|
||||
})
|
||||
.then(async exercise => {
|
||||
let changed = false
|
||||
|
||||
if (exercise.dataValues.solved != (req.params.state == "1")) {
|
||||
await exercise.update({ solved: req.params.state == "1" })
|
||||
changed = true
|
||||
}
|
||||
|
||||
res.status(200).json({
|
||||
exercise: exercise,
|
||||
changed: changed
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
// ExerciseGroup.findOne({
|
||||
// where: { groupNr: req.params.groupNr }
|
||||
// })
|
||||
// .then(group => {
|
||||
// Exercise.findOne({
|
||||
// where: {
|
||||
// exerciseNr: req.params.exerciseNr,
|
||||
// exerciseGroupId: group.id
|
||||
// }
|
||||
// })
|
||||
// .then(exercise => {
|
||||
// exercise.update({ solved: req.params.state == "1"})
|
||||
// res.status(200).send()
|
||||
// })
|
||||
// })
|
||||
})
|
||||
@@ -131,7 +131,6 @@ location.get("/search", (req: Request, res: Response) => {
|
||||
include: [ City, Concert ]
|
||||
})
|
||||
.then(locations => {
|
||||
console.log(locations)
|
||||
res.status(200).json(locations)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user