Matching UI with improved API

This commit is contained in:
2024-09-24 13:12:44 +02:00
parent bc62174566
commit abe1b496a2
34 changed files with 194 additions and 545 deletions

View File

@@ -2,12 +2,18 @@
"data": [
{
"id": 0,
"name": "Unregistered",
"privilegeBuy": false,
"privilegeAdminPanel": false
},
{
"id": 1,
"name": "User",
"privilegeBuy": true,
"privilegeAdminPanel": false
},
{
"id": 1,
"id": 2,
"name": "Admin",
"privilegeBuy": true,
"privilegeAdminPanel": true

View File

@@ -22,7 +22,7 @@
"iban": "DE92500105175721645777"
}
],
"accountRoleId": 1
"accountRoleId": 2
},
{
"id": 1,
@@ -46,7 +46,7 @@
"iban": "DE12500105179557939114"
}
],
"accountRoleId": 0
"accountRoleId": 1
},
{
"id": 2,
@@ -77,7 +77,7 @@
"iban": "DE31500105175417833272"
}
],
"accountRoleId": 0
"accountRoleId": 1
},
{
"id": 3,
@@ -101,7 +101,7 @@
"iban": "DE41500105172184936679"
}
],
"accountRoleId": 0
"accountRoleId": 1
},
{
"id": 4,
@@ -125,7 +125,7 @@
"iban": "DE85500105172283979774"
}
],
"accountRoleId": 0
"accountRoleId": 1
},
{
"id": 5,
@@ -149,7 +149,7 @@
"iban": "DE45500105178862417577"
}
],
"accountRoleId": 0
"accountRoleId": 1
},
{
"id": 6,
@@ -180,7 +180,7 @@
"iban": "DE51500105177526222196"
}
],
"accountRoleId": 0
"accountRoleId": 1
}
]
}

View File

@@ -22,20 +22,20 @@ account.post("/login", (req: Request, res: Response) => {
if (account != null) {
if (account.dataValues.password == req.body.password) {
// Status: 200 OK
res.status(200).json(account).send()
res.status(200).json(account)
} else {
// Status: 401 Unauthorized
res.status(401).json({
code: 401,
message: "Unauthorized"
}).send()
})
}
} else {
// Status: 400 Bad request
res.status(400).json({
code: 400,
message: "Bad Request"
}).send()
})
}
}
)
@@ -50,7 +50,7 @@ account.post("/", (req: Request, res: Response) => {
res.status(400).json({
code: 400,
message: "Username too short!"
}).send()
})
}
// Check if password is valid
@@ -60,20 +60,20 @@ account.post("/", (req: Request, res: Response) => {
res.status(400).json({
code: 400,
message: "Password too short!"
}).send()
})
}
// Create account
Account.create(req.body)
.then(account => {
// Status: 201 Created
res.status(201).json(account).send()
res.status(201).json(account)
}).catch(reason => {
// Status: 409 Conflict
res.status(409).json({
code: 409,
message: "Username already in use"
}).send()
})
})
})
@@ -84,13 +84,13 @@ account.patch("/", (req: Request, res: Response) => {
})
.then(account => {
// Status: 200 OK
res.status(200).json(account).send()
res.status(200).json(account)
})
.catch(error => {
// Status: 400 Bad request
res.status(400).json({
code: 400,
message: error
}).send()
})
})
})

View File

@@ -7,7 +7,7 @@ export const category = Router()
category.get("/", (req: Request, res: Response, next: NextFunction) => {
Category.findAll()
.then(categories => {
res.status(200).json(categories).send()
res.status(200).json(categories)
})
})
@@ -15,13 +15,13 @@ category.get("/", (req: Request, res: Response, next: NextFunction) => {
category.post("/", (req: Request, res: Response, next: NextFunction) => {
Category.create(req.body)
.then(category => {
res.status(201).json(category).send()
res.status(201).json(category)
})
.catch(error => {
res.status(400).json({
code: 400,
message: error
}).send()
})
})
})
@@ -31,12 +31,12 @@ category.delete("/:id", (req: Request, res: Response, next: NextFunction) => {
where: { id: req.params.id }
})
.then(category => {
res.status(200).json(category).send()
res.status(200).json(category)
})
.catch(error => {
res.status(400).json({
code: 400,
message: error
}).send()
})
})
})

View File

@@ -2,6 +2,8 @@ import { Router, Request, Response } from "express";
import { Order } from "../models/order.model";
import { Product } from "../models/product.model";
import { OrderItem } from "../models/orderItem.model";
import { Brand } from "../models/brand.model";
import { Category } from "../models/category.model";
export const order = Router()
@@ -10,7 +12,21 @@ order.get("/:id", (req: Request, res: Response) => {
Order.findAll({
where: { accountId: req.params.id },
include: [
{ model: OrderItem, include: [ Product ] }
{
model: OrderItem,
include: [
{
model: Product,
include: [ Brand, Category ],
attributes: {
exclude: [
"categoryId",
"brandId"
]
}
},
]
}
]
})
.then(orders => {
@@ -42,6 +58,6 @@ order.post("/", (req: Request, res: Response) => {
}
// Created
res.status(201).json(order).send()
res.status(201).json(order)
})
})

View File

@@ -36,7 +36,7 @@ product.get("/:productId", (req: Request, res: Response) => {
}
)
.then(product => {
res.status(200).json(product).send()
res.status(200).json(product)
})
})
@@ -44,13 +44,13 @@ product.get("/:productId", (req: Request, res: Response) => {
product.post("/", (req: Request, res: Response) => {
Product.create(req.body)
.then(product => {
res.status(201).json(product).send()
res.status(201).json(product)
})
.catch(error => {
res.status(400).json({
code: 400,
message: error
}).send()
})
})
})
@@ -60,12 +60,12 @@ product.delete("/:id", (req: Request, res: Response) => {
where: { id: req.params.id }
})
.then(product => {
res.status(200).json(product).send()
res.status(200).json(product)
})
.catch(error => {
res.status(400).json({
code: 400,
message: error
}).send()
})
})
})