Skip to content

Commit

Permalink
Merge pull request #22 from denssle/events-in-profile
Browse files Browse the repository at this point in the history
Events in profile
  • Loading branch information
Dominik Hellweg authored Jun 21, 2024
2 parents 85e5011 + e78444a commit dd02c63
Show file tree
Hide file tree
Showing 17 changed files with 204 additions and 93 deletions.
118 changes: 59 additions & 59 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

42 changes: 21 additions & 21 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"prettier lint": "prettier --plugin-search-dir . --check . && eslint .",
"prettier format": "prettier --plugin-search-dir . --write .",
"npm outdated": "npm outdated",
"npx update dependencies": "npx npm-check-updates -u",
"npm i": "npm install",
"npm ci": "npm ci",
"npm update": "npm update",
Expand All @@ -20,36 +20,36 @@
"svelte-check": "svelte-check"
},
"devDependencies": {
"@babel/core": "^7.23.2",
"@babel/preset-env": "^7.23.2",
"@babel/preset-typescript": "^7.23.2",
"@babel/core": "^7.24.7",
"@babel/preset-env": "^7.24.7",
"@babel/preset-typescript": "^7.24.7",
"@jest/globals": "^29.7.0",
"@sveltejs/adapter-auto": "^3.0.0",
"@sveltejs/kit": "^2.0.0",
"@sveltejs/vite-plugin-svelte": "^3.0.0",
"@types/jest": "^29.5.8",
"@typescript-eslint/eslint-plugin": "^7.8.0",
"@typescript-eslint/parser": "^7.8.0",
"@sveltejs/adapter-auto": "^3.2.2",
"@sveltejs/kit": "^2.5.17",
"@sveltejs/vite-plugin-svelte": "^3.1.1",
"@types/jest": "^29.5.12",
"@typescript-eslint/eslint-plugin": "^7.13.1",
"@typescript-eslint/parser": "^7.13.1",
"babel-jest": "^29.7.0",
"eslint": "^8.28.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-svelte": "^2.33.0",
"jest": "^29.7.0",
"prettier": "^3.0.2",
"prettier-plugin-svelte": "^3.0.3",
"svelte": "^4.2.0",
"svelte-check": "^3.5.0",
"ts-jest": "^29.1.1",
"ts-node": "^10.9.1",
"tslib": "^2.6.2",
"typescript": "^5.2.2",
"vite": "^5.0.0"
"prettier": "^3.3.2",
"prettier-plugin-svelte": "^3.2.5",
"svelte": "^4.2.18",
"svelte-check": "^3.8.1",
"ts-jest": "^29.1.5",
"ts-node": "^10.9.2",
"tslib": "^2.6.3",
"typescript": "^5.5.2",
"vite": "^5.3.1"
},
"type": "module",
"dependencies": {
"bcrypt-ts": "^5.0.2",
"mariadb": "^3.3.0",
"sequelize": "^6.37.1",
"mariadb": "^3.3.1",
"sequelize": "^6.37.3",
"sequelize-cli": "^6.6.2"
}
}
4 changes: 4 additions & 0 deletions src/lib/models/user/VisitingFestival.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export interface VisitingFestival {
festivalId: string;
festivalName: string;
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,12 @@ import {
import { Model } from 'sequelize';
import { SessionTokenUser } from '$lib/models/user/SessionTokenUser';
import { ChangeResult } from '$lib/models/updates/ChangeResult';
import { mapGuestInformationToFrontendGuestInformation } from '$lib/services/guestInformation.service';
import {
getAllActiveGuestInformation,
mapGuestInformationToFrontendGuestInformation
} from '$lib/services/guest-information.service';
import { BackendGuestInformation } from '$lib/models/guestInformation/BackendGuestInformation';
import { VisitingFestival } from '$lib/models/user/VisitingFestival';

export async function getAllFestivals(): Promise<FrontendFestivalEvent[]> {
const allFestivals = await FestivalEvent.findAll({ include: GuestInformation, order: [['startDate', 'DESC']] });
Expand Down Expand Up @@ -145,3 +150,20 @@ async function parseToFrontend(festival: BackendFestivalEvent): Promise<Frontend
function isChangeAllowed(id: string, dataValues: FestivalEventAttributes): boolean {
return id === dataValues.UserId;
}

export async function getFestivalYouVisit(userId: string): Promise<VisitingFestival[]> {
const activeInfos: BackendGuestInformation[] = await getAllActiveGuestInformation(userId);
const loading: Promise<BackendFestivalEvent | null>[] = activeInfos.map((value) =>
getFestival(value.FestivalEventId)
);
const result: VisitingFestival[] = [];
for (const fest of await Promise.all(loading)) {
if (fest !== null) {
result.push({
festivalId: fest.id,
festivalName: fest.name
});
}
}
return result;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@ import type { BackendUser } from '$lib/models/user/BackendUser';
import { SessionTokenUser } from '$lib/models/user/SessionTokenUser';
import type { BaseGuestInformation } from '$lib/models/guestInformation/BaseGuestInformation';
import { GuestInformation } from '$lib/db/db';
import { GuestInformationAttributes } from '$lib/db/attributes/guestInformation.attributes';
import {
GuestInformationAttributes,
mapToBackendGuestInformation
} from '$lib/db/attributes/guestInformation.attributes';
import type { BackendGuestInformation } from '$lib/models/guestInformation/BackendGuestInformation';
import type { FrontendGuestInformation } from '$lib/models/guestInformation/FrontendGuestInformation';
import { loadFrontEndUserById } from '$lib/services/user.service';
Expand Down Expand Up @@ -75,7 +78,14 @@ export async function mapGuestInformationToFrontendGuestInformation(
for (const information of guestInformation) {
const userById = await loadFrontEndUserById(information.UserId);
if (userById) {
result.push({ user: userById, ...information });
result.push({
user: userById,
coming: information.coming,
numberOfOtherGuests: information.numberOfOtherGuests,
drink: information.drink,
comment: information.comment,
food: information.food
});
}
}
return result;
Expand All @@ -89,3 +99,13 @@ async function getGuestInformationModel(userId: string, festivalId: string) {
}
});
}

export async function getAllActiveGuestInformation(userId: string): Promise<BackendGuestInformation[]> {
const infos = await GuestInformation.findAll({
where: {
UserId: userId,
coming: true
}
});
return infos.map((value) => mapToBackendGuestInformation(value.dataValues));
}
3 changes: 2 additions & 1 deletion src/routes/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@
-webkit-user-select: none; /*Safari*/
-moz-user-select: none; /*Firefox*/
caret-color: transparent;
min-width: 8vw;
padding-left: 1rem;
padding-right: 1rem;
}
:global(input::-webkit-outer-spin-button) {
Expand Down
2 changes: 1 addition & 1 deletion src/routes/+page.server.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getAllFestivals } from '$lib/services/festivalEvent.service';
import { getAllFestivals } from '$lib/services/festival-event.service';
import type { FrontendFestivalEvent } from '$lib/models/festivalEvent/FrontendFestivalEvent';
import type { PageServerLoad } from '../../.svelte-kit/types/src/routes/$types';

Expand Down
2 changes: 1 addition & 1 deletion src/routes/festival/[festival_id]/+page.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import type {
import type { Cookies } from '@sveltejs/kit';
import { error } from '@sveltejs/kit';
import type { FrontendFestivalEvent } from '$lib/models/festivalEvent/FrontendFestivalEvent';
import { getFrontEndFestival } from '$lib/services/festivalEvent.service';
import { getFrontEndFestival } from '$lib/services/festival-event.service';
import { extractUser } from '$lib/services/user.service';
import type { FestivalTransferData } from '$lib/models/FestivalTransferData';
import { SessionTokenUser } from '$lib/models/user/SessionTokenUser';
Expand Down
2 changes: 1 addition & 1 deletion src/routes/festival/[festival_id]/+server.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { deleteFestival } from '$lib/services/festivalEvent.service';
import { deleteFestival } from '$lib/services/festival-event.service';
import { extractUser } from '$lib/services/user.service';
import type { RequestHandler } from '@sveltejs/kit';
import { ChangeResult } from '$lib/models/updates/ChangeResult';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { extractUser } from '$lib/services/user.service';
import type { RequestHandler } from '@sveltejs/kit';
import { leaveFestival } from '$lib/services/guestInformation.service';
import { leaveFestival } from '$lib/services/guest-information.service';

export const POST: RequestHandler = async ({ cookies, params, request }) => {
const blob: Blob = await request.blob();
Expand Down
2 changes: 1 addition & 1 deletion src/routes/festival/[festival_id]/edit/+page.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type {
PageServerLoad,
RouteParams
} from '../../../../../.svelte-kit/types/src/routes/festival/[festival_id]/edit/$types';
import { getFrontEndFestival, updateFestival } from '$lib/services/festivalEvent.service';
import { getFrontEndFestival, updateFestival } from '$lib/services/festival-event.service';
import { extractUser } from '$lib/services/user.service';
import { getDateFromString } from '$lib/utils/date.util';
import type { FrontendFestivalEvent } from '$lib/models/festivalEvent/FrontendFestivalEvent';
Expand Down
2 changes: 1 addition & 1 deletion src/routes/festival/[festival_id]/join/+server.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { extractUser } from '$lib/services/user.service';
import type { RequestHandler } from '@sveltejs/kit';
import type { BaseGuestInformation } from '$lib/models/guestInformation/BaseGuestInformation';
import { joinFestival } from '$lib/services/guestInformation.service';
import { joinFestival } from '$lib/services/guest-information.service';

export const POST: RequestHandler = async ({ cookies, params, request }): Promise<Response> => {
const blob: Blob = await request.blob();
Expand Down
2 changes: 1 addition & 1 deletion src/routes/festival/new/+page.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import type { FrontendFestivalEvent } from '$lib/models/festivalEvent/FrontendFe
import { extractUser } from '$lib/services/user.service';
import { getDateFromString } from '$lib/utils/date.util';
import { type Actions, Cookies, redirect } from '@sveltejs/kit';
import { createFestival } from '$lib/services/festivalEvent.service';
import { createFestival } from '$lib/services/festival-event.service';

export const actions: Actions = {
default: async ({ cookies, request }: { cookies: Cookies; request: Request }): Promise<Response | undefined> => {
Expand Down
Loading

0 comments on commit dd02c63

Please sign in to comment.