Added Event Module

This commit is contained in:
2026-01-30 11:44:54 +01:00
parent 1948ce58d3
commit e2335fdcf7
11 changed files with 192 additions and 30 deletions

View File

@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { EventsController } from './events.controller';
describe('EventsController', () => {
let controller: EventsController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [EventsController],
}).compile();
controller = module.get<EventsController>(EventsController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});

View File

@@ -0,0 +1,23 @@
import { Controller, Get, Inject, Injectable } from '@nestjs/common';
import { Query } from '@nestjs/graphql';
import { MyEvent } from 'src/dto/event.dto';
import { EventsService } from './events.service';
@Controller('/api/events')
export class EventsController {
constructor(
private readonly eventsService: EventsService
){}
@Get("/")
@Query(()=>[MyEvent])
async events(): Promise<MyEvent[]>{
return await this.eventsService.getEvents();
}
}

View File

@@ -0,0 +1,33 @@
import { EventType } from "src/dto/event.dto";
import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class EventEntity {
@PrimaryGeneratedColumn()
id: number;
@Column()
eventname: string;
@Column({ type: "date" })
datum: Date;
@Column({ type: "enum", enum: [EventType.fotos, EventType.html, EventType.markdown, EventType.link] })
type: EventType;
@Column()
content: string;
@Column()
minitext: string;
@Column({ nullable: true })
link:string;
@Column()
foto: string;
@Column({ nullable: true })
formular: number;
}

View File

@@ -0,0 +1,14 @@
import { Module } from '@nestjs/common';
import { EventsController } from './events.controller';
import { EventsService } from './events.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { EventEntity } from './events.entity';
@Module({
imports: [
TypeOrmModule.forFeature([EventEntity])
],
controllers: [EventsController],
providers: [EventsService, EventsController],
})
export class EventsModule {}

View File

@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { EventsService } from './events.service';
describe('EventsService', () => {
let service: EventsService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [EventsService],
}).compile();
service = module.get<EventsService>(EventsService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});

View File

@@ -0,0 +1,22 @@
import { Inject, Injectable } from '@nestjs/common';
import { MyEvent } from 'src/dto/event.dto';
import { Repository } from 'typeorm';
import { EventEntity } from './events.entity';
import { InjectRepository } from '@nestjs/typeorm';
@Injectable()
export class EventsService {
constructor(
@InjectRepository(EventEntity)
private readonly eventRepository: Repository<EventEntity>
){}
async getEvents(): Promise<MyEvent[]> {
return (await this.eventRepository.find()) as MyEvent[];
}
}