änderungen

This commit is contained in:
DerJesen
2025-11-29 13:16:01 +01:00
parent fe5bbc1410
commit 1932e52ae2
6 changed files with 19 additions and 5 deletions

View File

@@ -57,7 +57,7 @@ let MailService = class MailService {
<img src="cid:logo" alt="Logo" class="logo" /> <img src="cid:logo" alt="Logo" class="logo" />
</div> </div>
<div class="content"> <div class="content">
<h2 class="greeting">Moin Max,</h2> <h2 class="greeting">Moin ${firstName},</h2>
<p class="text">Hier ist dein Ticket für das <strong>ATIW OUT</strong>!</p> <p class="text">Hier ist dein Ticket für das <strong>ATIW OUT</strong>!</p>
<p class="text">Zeig diesen QR Code einfach am <strong>09.12.</strong> am Eingang vor.</p> <p class="text">Zeig diesen QR Code einfach am <strong>09.12.</strong> am Eingang vor.</p>

View File

@@ -1 +1 @@
{"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../src/mail/mail.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yCAAyC;AACzC,2CAA+C;AAC/C,6BAA6B;AAGtB,IAAM,WAAW,GAAjB,MAAM,WAAW;IAGtB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAC9C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,aAAa,CAAC,KAAK,MAAM;YAChE,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC;gBACjD,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC;aAClD;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAa,EACb,IAAY,EACZ,QAAgB,EAChB,SAAiB,EACjB,YAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAErC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC,IAAI,oCAAoC;YACzF,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCL;YACD,WAAW,EAAE;gBACX;oBACE,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,QAAQ;iBACd;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,MAAM;iBACZ;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAlFY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAIwB,sBAAa;GAHrC,WAAW,CAkFvB"} {"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../src/mail/mail.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yCAAyC;AACzC,2CAA+C;AAC/C,6BAA6B;AAGtB,IAAM,WAAW,GAAjB,MAAM,WAAW;IAGtB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAC9C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,aAAa,CAAC,KAAK,MAAM;YAChE,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC;gBACjD,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC;aAClD;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAa,EACb,IAAY,EACZ,QAAgB,EAChB,SAAiB,EACjB,YAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAErC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,WAAW,CAAC,IAAI,oCAAoC;YACzF,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;gDAuBoC,SAAS;;;;;;;;;;;;;;;OAelD;YACD,WAAW,EAAE;gBACX;oBACE,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,YAAY;oBACrB,GAAG,EAAE,QAAQ;iBACd;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,MAAM;iBACZ;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAlFY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAIwB,sBAAa;GAHrC,WAAW,CAkFvB"}

View File

@@ -20,6 +20,12 @@ let TicketsService = class TicketsService {
this.mailService = mailService; this.mailService = mailService;
} }
async create(createTicketDto) { async create(createTicketDto) {
const event = await this.prisma.event.findUnique({
where: { id: createTicketDto.eventId },
});
if (!event) {
throw new common_1.NotFoundException(`Event with ID "${createTicketDto.eventId}" not found`);
}
const ticket = await this.prisma.ticket.create({ const ticket = await this.prisma.ticket.create({
data: createTicketDto, data: createTicketDto,
include: { event: true }, include: { event: true },

View File

@@ -1 +1 @@
{"version":3,"file":"tickets.service.js","sourceRoot":"","sources":["../../src/tickets/tickets.service.ts"],"names":[],"mappings":"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"} {"version":3,"file":"tickets.service.js","sourceRoot":"","sources":["../../src/tickets/tickets.service.ts"],"names":[],"mappings":"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"}

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
import { Injectable } from '@nestjs/common'; import { Injectable, NotFoundException } from '@nestjs/common';
import { CreateTicketDto } from './dto/create-ticket.dto'; import { CreateTicketDto } from './dto/create-ticket.dto';
import { PrismaService } from '../prisma/prisma.service'; import { PrismaService } from '../prisma/prisma.service';
import { MailService } from '../mail/mail.service'; import { MailService } from '../mail/mail.service';
@@ -12,6 +12,14 @@ export class TicketsService {
) {} ) {}
async create(createTicketDto: CreateTicketDto) { async create(createTicketDto: CreateTicketDto) {
const event = await this.prisma.event.findUnique({
where: { id: createTicketDto.eventId },
});
if (!event) {
throw new NotFoundException(`Event with ID "${createTicketDto.eventId}" not found`);
}
const ticket = await this.prisma.ticket.create({ const ticket = await this.prisma.ticket.create({
data: createTicketDto, data: createTicketDto,
include: { event: true }, include: { event: true },