From 47e045dde3c8c540fb5c44f4860aa6499d3d8297 Mon Sep 17 00:00:00 2001 From: Tobias Zoghaib Date: Thu, 7 Nov 2024 17:18:49 +0100 Subject: [PATCH] OrderStore --- software/backend/routes/order.routes.ts | 9 + software/backend/scripts/databaseHelper.ts | 2 +- software/src/data/api/orderApi.ts | 4 + software/src/locales/de.json | 6 +- software/src/locales/en.json | 6 +- .../src/pages/account/ordersPage/index.vue | 7 +- .../admin/dashboardPage/dashboardCard.vue | 42 ++++ .../src/pages/admin/dashboardPage/index.vue | 236 ++++++------------ .../homePage/upcomingConcertsSection.vue | 9 +- software/src/stores/account.store.ts | 8 +- software/src/stores/feedback.store.ts | 2 +- software/src/stores/order.store.ts | 39 +++ 12 files changed, 196 insertions(+), 174 deletions(-) create mode 100644 software/src/pages/admin/dashboardPage/dashboardCard.vue create mode 100644 software/src/stores/order.store.ts diff --git a/software/backend/routes/order.routes.ts b/software/backend/routes/order.routes.ts index ea11673..319bd3e 100644 --- a/software/backend/routes/order.routes.ts +++ b/software/backend/routes/order.routes.ts @@ -13,6 +13,15 @@ import { SeatGroup } from "../models/locations/seatGroup.model"; export const order = Router() +// Get all orders +order.get("/", (req: Request, res: Response) => { + Order.findAll() + .then(orders => { + res.status(200).json(orders) + }) +}) + + // Get all orders of one account by it's user id order.get("/:id", (req: Request, res: Response) => { Order.findAll({ diff --git a/software/backend/scripts/databaseHelper.ts b/software/backend/scripts/databaseHelper.ts index b8e06de..1fa8d13 100644 --- a/software/backend/scripts/databaseHelper.ts +++ b/software/backend/scripts/databaseHelper.ts @@ -272,7 +272,7 @@ export async function prepopulateDatabase() { date: concert.date, name: concertGroup.name, price: concert.price, - image: concertGroup.image, + image: "http://localhost:3000/static/" + concertGroup.image, inStock: concert.inStock, offered: true, bandId: dataset.dataValues.id, diff --git a/software/src/data/api/orderApi.ts b/software/src/data/api/orderApi.ts index 2109f94..4c75c21 100644 --- a/software/src/data/api/orderApi.ts +++ b/software/src/data/api/orderApi.ts @@ -31,4 +31,8 @@ export async function createOrder( paymentId: paymentId, addressId: addressId }) +} + +export async function fetchAllOrders() { + return axios.get(BASE_URL) } \ No newline at end of file diff --git a/software/src/locales/de.json b/software/src/locales/de.json index 63f150f..cc3c2a7 100644 --- a/software/src/locales/de.json +++ b/software/src/locales/de.json @@ -58,7 +58,8 @@ "imageMember": "Bilder Mitglieder", "addNewGenre": "Neues Genre hinzufügen", "editGenre": "Genre bearbeiten", - "bandDetails": "Band Details" + "bandDetails": "Band Details", + "withoutConcert": "ohne Konzert" }, "ticket": { "tickets": "Ticket | Tickets" @@ -107,7 +108,8 @@ }, "addNewAccount": "Neuen Account hinzufügen", "accountRole": "Account Rolle", - "noRealPaymentsNeeded": "Keine echten Kontodaten nötig!" + "noRealPaymentsNeeded": "Keine echten Kontodaten nötig!", + "administrator": "Administrator | Administratoren" }, "order": { "orders": "Bestellung | Bestellungen", diff --git a/software/src/locales/en.json b/software/src/locales/en.json index 1a14195..16f60bf 100644 --- a/software/src/locales/en.json +++ b/software/src/locales/en.json @@ -58,7 +58,8 @@ "imageMember": "Images Members", "addNewGenre": "Add new Genre", "editGenre": "Edit Genre", - "bandDetails": "Band Details" + "bandDetails": "Band Details", + "withoutConcert": "without concert" }, "ticket": { "tickets": "Ticket | Tickets" @@ -107,7 +108,8 @@ }, "addNewAccount": "Add new account", "accountRole": "Account Role", - "noRealPaymentsNeeded": "No real payment data required!" + "noRealPaymentsNeeded": "No real payment data required!", + "administrator": "Administrator" }, "order": { "orders": "Order | Orders", diff --git a/software/src/pages/account/ordersPage/index.vue b/software/src/pages/account/ordersPage/index.vue index e7311e4..27be1dd 100644 --- a/software/src/pages/account/ordersPage/index.vue +++ b/software/src/pages/account/ordersPage/index.vue @@ -3,10 +3,13 @@ import { useAccountStore } from '@/stores/account.store'; import orderItem from './orderItem.vue'; import accountSubPageLayout from '@/layouts/accountSubPageLayout.vue'; import circularProgressIndeterminate from '@/components/basics/circularProgressIndeterminate.vue'; +import { useOrderStore } from '@/stores/order.store'; const accountStore = useAccountStore() +const orderStore = useOrderStore() accountStore.refreshOrders() +orderStore.getOrdersOfAccount(accountStore.userAccount)