Skip to content

Commit

Permalink
Merge pull request #270 from esek/feat/prismaActivity
Browse files Browse the repository at this point in the history
Activities and tickets!
  • Loading branch information
Muncherkin authored Jun 7, 2024
2 parents 2083191 + 13c70a9 commit 6161e4c
Show file tree
Hide file tree
Showing 22 changed files with 1,418 additions and 708 deletions.
10 changes: 9 additions & 1 deletion CHANGELOG.MD
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ Alla märkbara ändringar ska dokumenteras i denna fil.
Baserat på [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
och följer [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.11.0] - 2024-06-07

### Tillagt
- Prisma and graphql feature for activities (events) and tickets.
- Tests for activity reducer and API.
- Test for ticket API.
- DateTime scalar for graphql.

## [1.10.0] - 2024-05-31

### Tillagt
Expand All @@ -31,7 +39,7 @@ och följer [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.9.0] - 2024-03-22
### Tillagt
- adds decibel_admin feature

## [1.8.0] - 2024-01-31

### Tillagt
Expand Down
1 change: 1 addition & 0 deletions codegen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ generates:
scalars:
Object: Record<string, string>
Date: Date
DateTime: Date
mappers:
Article: ../mappers#ArticleResponse
File: ../mappers#FileResponse
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

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

7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ekorre-ts",
"version": "1.10.0",
"version": "1.11.0",
"description": "E-Sektionens backend",
"main": "src/index.ts",
"scripts": {
Expand All @@ -18,7 +18,7 @@
"test:regression": "jest test/regression --coverage=false",
"benchmark": "ts-node tools/benchmark/index.ts",
"prisma:ci": "prisma generate && prisma db push --accept-data-loss && prisma db seed",
"prisma:reset": "prisma migrate reset --skip-seed; prisma db push; prisma db seed",
"prisma:reset": "prisma migrate reset --skip-seed && prisma db push && prisma db seed",
"prisma:generate": "prisma generate",
"prisma:push": "prisma db push",
"prisma:migrate": "prisma migrate dev",
Expand All @@ -30,7 +30,8 @@
"Emil Eriksson <[email protected]>",
"Axel Froborg <[email protected]>",
"Marcus Lindell <[email protected]>",
"Eric Weidow <[email protected]>"
"Eric Weidow <[email protected]>",
"Axel Andersson <[email protected]>"
],
"bugs": {
"email": "[email protected]"
Expand Down
122 changes: 122 additions & 0 deletions prisma/data/activity.seed.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
import { Prisma, PrismaActivitySource, PrismaUtskott } from '@prisma/client';

function getRandomDate(): Date {
const today = new Date();
const oneYearForward = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000); // Adding milliseconds for one year

const randomTime = today.getTime() + Math.random() * (oneYearForward.getTime() - today.getTime());
return new Date(randomTime);
}

export const activities: Prisma.PrismaActivityCreateInput[] = [
{
utskott: PrismaUtskott.CM,
source: PrismaActivitySource.WEBSITE,
title: 'Baktävling',
description:
'"Välkommen till vårt mysiga café där doften av nybakat bröd och kaffe möter dig i dörren. Varje dag bjuder vi på en smakupplevelse utöver det vanliga, och nu är det din chans att delta i vår spännande baktävling! Ge din kreativitet fria tyglar och skapa det perfekta bakverket som kommer att imponera på vår jury. Vem vet, kanske blir just din skapelse den nya favoriten på vårt café! Så plocka fram dina bästa recept och låt bakningen börja!"',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.FVU,
source: PrismaActivitySource.WEBSITE,
title: 'Fixar-kväll',
description:
'Känn pulsen i vår fixar-kväll, där passion och kreativitet förenas i en atmosfär av skapande. Tillsammans bygger vi, skapar och inspireras av varandras projekt. Låt idéerna flöda och låt dina händer forma det du drömmer om. Kom och var en del av vår gemenskap för en oförglömlig kväll!',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.INFU,
source: PrismaActivitySource.WEBSITE,
title: 'Hacker',
description:
'Välkommen till det ultimata hacker eventet där kreativitet och teknologi möts i en spännande atmosfär. Här samlas hackare från hela världen för att utforska nya gränser och lösa utmaningar. Ta del av inspirerande föreläsningar, knäck koder och skapa banbrytande innovationer tillsammans med oss!',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.KM,
source: PrismaActivitySource.WEBSITE,
title: 'Gille',
description:
'"Välkommen till vårt gemytliga gille där vänner samlas för goda drycker och skrattfyllda stunder. Njut av vårt utbud av förfriskningar och klassiska rätter i en avslappnad atmosfär. Låt kvällen ta fart med livlig musik och härlig stämning. Kom och upplev en kväll att minnas på vårt charmiga gille!"',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.NOLLU,
source: PrismaActivitySource.WEBSITE,
title: 'Regattan',
description:
'Känn spänningen på regattan, där havet blir slagfält och seglen sträcks mot vindens kraft. Deltagare från alla hörn av världen tävlar om ära och berömmelse i detta episka sjökrig. Stå öga mot öga med dina motståndare och visa din skicklighet på de vilda vågorna. Detta är inte bara en tävling, det är ett äventyr till havs!',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.ENU,
source: PrismaActivitySource.WEBSITE,
title: 'Lunchföreläsning',
description:
'Välkommen till vår inspirerande lunchföreläsning där vi välkomnar ett ledande företag för att dela med sig av sin kunskap och erfarenhet. Njut av en lärorik stund med spännande insikter och möjligheter till nätverkande. Ge dig själv en energiboost mitt på dagen och låt dig inspireras av framgångsrika företagare.',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.PENGU,
source: PrismaActivitySource.WEBSITE,
title: 'Bokföringskväll',
description:
'Det är dags att ta tag i bokföringen tillsammans! I vår grupp samlas vi för att effektivt hantera våra ekonomiska transaktioner och säkerställa noggrannheten i våra bokföringsposter. Med teamwork och noggrant arbete ser vi till att varje siffra landar rätt och att vår ekonomi är i balans.',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.E6,
source: PrismaActivitySource.WEBSITE,
title: 'Sittning',
description:
'Välkommen till en kväll fylld av gemenskap och glädje! Vi öppnar våra dörrar för en minnesvärd sittning där vi samlas för god mat, gott sällskap och underhållande samtal. Låt oss skapa minnen tillsammans och njuta av en kväll att komma ihåg. Välkommen till vårt bord!',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.SRE,
source: PrismaActivitySource.WEBSITE,
title: 'Pluggkväll',
description:
'Det är dags att sätta näsan i böckerna! Välkommen till vår pluggkväll där vi tillsammans fokuserar på att nå våra studiemål. Med lugn atmosfär och gemensamt stöd tar vi itu med utmaningarna och strävar efter framgång. Låt oss inspirera varandra till framsteg och lärande. Tillsammans når vi nya höjder!',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.STYRELSEN,
source: PrismaActivitySource.WEBSITE,
title: 'Styrelsemöte',
description:
'Välkommen till vårt styrelsemöte där vi samlas för att diskutera strategier och fatta beslut för sektionens framtid. Med fokus och engagemang går vi igenom dagordningen och arbetar tillsammans mot gemensamma mål. Låt oss samarbeta för att forma en framgångsrik väg framåt. Mötet är nu öppnat!',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
{
utskott: PrismaUtskott.OTHER,
source: PrismaActivitySource.WEBSITE,
title: 'NolleGasque',
description:
'Välkomna till årets mest efterlängtade fest, NolleGasquen! En storslagen sittning där vi firar gemenskap, glädje och minnen för livet. Med uppdukade festligheter och en sprakande atmosfär skapar vi magiska ögonblick tillsammans. Låt oss fira studentlivet och välkomna de nya äventyren som väntar!',
startDate: getRandomDate(),
locationTitle: '',
locationLink: '',
},
];
3 changes: 3 additions & 0 deletions prisma/data/seed.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { PrismaClient } from '@prisma/client';

import { apiKeyAccess, apiKeys, individualAccess, postAccess } from './access.seed';
import { activities } from './activity.seed';
import { posts } from './post.seed';
import { users } from './user.seed';

Expand All @@ -19,6 +20,8 @@ const run = async () => {
prisma.prismaPostAccess.createMany({ data: postAccess, skipDuplicates: true }),
prisma.prismaApiKeyAccess.createMany({ data: apiKeyAccess, skipDuplicates: true }),
]);

await prisma.prismaActivity.createMany({ data: activities, skipDuplicates: true });
};

run()
Expand Down
38 changes: 38 additions & 0 deletions prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,36 @@ model PrismaNomination {
@@map("nominations")
}

model PrismaActivity {
id String @id @default(cuid())
source PrismaActivitySource
title String
description String?
startDate DateTime @map("start_date")
endDate DateTime? @map("end_date")
utskott PrismaUtskott
imageUrl String? @map("image_url")
locationTitle String? @map("location_title")
locationLink String? @map("location_link")
tickets PrismaTicket[]
@@map("activities")
}

//sourceUrl for link to event from other apps/websites.

model PrismaTicket {
id String @id @default(cuid())
name String
count Int?
price Int?
currency String?
activity PrismaActivity? @relation(fields: [activityID], references: [id])
activityID String? @map("activity_id")
@@map("tickets")
}

model PrismaProposal {
user PrismaUser @relation(name: "PrismaProposalToPrismaUser", fields: [refUser], references: [username])
refUser String @map("ref_user")
Expand Down Expand Up @@ -348,6 +378,14 @@ enum PrismaMeetingType {
@@map("meeting_types")
}

enum PrismaActivitySource {
WEBSITE
ORBI
OTHER
@@map("activity_source")
}

enum PrismaPostType {
U
EA
Expand Down
Loading

0 comments on commit 6161e4c

Please sign in to comment.