Add genres crud

This commit is contained in:
Toast 2025-02-07 09:57:52 +01:00
parent dddbf846d4
commit e6755b39ed
7 changed files with 77 additions and 0 deletions

View file

@ -4,6 +4,7 @@ import { AppService } from './app.service';
import { ConfigModule } from '@nestjs/config';
import { MongooseModule } from '@nestjs/mongoose';
import { ShowsModule } from './shows/shows.module';
import { GenresModule } from './genres/genres.module';
import * as Joi from 'joi';
@Module({
@ -19,6 +20,7 @@ import * as Joi from 'joi';
}),
MongooseModule.forRoot(process.env.URI),
ShowsModule,
GenresModule,
],
controllers: [AppController],
providers: [AppService],

View file

@ -0,0 +1 @@
export class GenreDto {}

View file

@ -0,0 +1 @@
export class Genre {}

View file

@ -0,0 +1,33 @@
import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
import { GenresService } from './genres.service';
import { GenreDto } from './dto/genre.dto';
@Controller('genres')
export class GenresController {
constructor(private readonly genresService: GenresService) {}
@Post()
create(@Body() dto: GenreDto) {
return this.genresService.create(dto);
}
@Get()
findAll() {
return this.genresService.findAll();
}
@Get(':id')
findOne(@Param('id') id: string) {
return this.genresService.findOne(+id);
}
@Patch(':id')
update(@Param('id') id: string, @Body() dto: GenreDto) {
return this.genresService.update(+id, dto);
}
@Delete(':id')
remove(@Param('id') id: string) {
return this.genresService.remove(+id);
}
}

View file

@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { GenresService } from './genres.service';
import { GenresController } from './genres.controller';
@Module({
controllers: [GenresController],
providers: [GenresService],
})
export class GenresModule {}

View file

@ -0,0 +1,25 @@
import { Injectable } from '@nestjs/common';
import { GenreDto } from './dto/genre.dto';
@Injectable()
export class GenresService {
create(dto: GenreDto) {
return 'This action adds a new genre';
}
findAll() {
return `This action returns all genres`;
}
findOne(id: number) {
return `This action returns a #${id} genre`;
}
update(id: number, dto: GenreDto) {
return `This action updates a #${id} genre`;
}
remove(id: number) {
return `This action removes a #${id} genre`;
}
}

View file

@ -0,0 +1,6 @@
import { Schema } from 'mongoose';
export const GenreSchema = new Schema({
name: { type: String, required: true },
showsIDs: [{ type: Schema.Types.ObjectId, ref: 'Show' }],
});