From 2845660f0576e9364dd7ac13ae690bb198973078 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Wed, 20 Apr 2022 09:48:21 -0500 Subject: [PATCH] programa listo --- src/programa/dto/programa-create.dto.ts | 6 ++++++ src/programa/programa.controller.ts | 12 ++++++++++-- src/programa/programa.service.ts | 17 ++++++++++++++++- 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 src/programa/dto/programa-create.dto.ts diff --git a/src/programa/dto/programa-create.dto.ts b/src/programa/dto/programa-create.dto.ts new file mode 100644 index 0000000..dd9a049 --- /dev/null +++ b/src/programa/dto/programa-create.dto.ts @@ -0,0 +1,6 @@ +import { IsString } from 'class-validator'; + +export class ProgramaCreateDto { + @IsString() + programa: string; +} diff --git a/src/programa/programa.controller.ts b/src/programa/programa.controller.ts index decb9b6..9e56a9a 100644 --- a/src/programa/programa.controller.ts +++ b/src/programa/programa.controller.ts @@ -1,10 +1,18 @@ -import { Controller, Get } from '@nestjs/common'; +import { Body, Controller, Get, Post } from '@nestjs/common'; import { ProgramaService } from './programa.service'; +import { ProgramaCreateDto } from './dto/programa-create.dto'; @Controller('programa') export class ProgramaController { constructor(private programaService: ProgramaService) {} + @Post() + create(@Body() body: ProgramaCreateDto) { + return this.programaService.create(body.programa); + } + @Get() - get() {} + get() { + return this.programaService.findAll(); + } } diff --git a/src/programa/programa.service.ts b/src/programa/programa.service.ts index f857ec6..a08de13 100644 --- a/src/programa/programa.service.ts +++ b/src/programa/programa.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@nestjs/common'; +import { ConflictException, Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { Programa } from './entity/programa.entity'; @@ -8,4 +8,19 @@ export class ProgramaService { constructor( @InjectRepository(Programa) private repository: Repository, ) {} + + create(programa: string) { + return this.repository + .findOne({ programa }) + .then((existePrograma) => { + if (existePrograma) + throw new ConflictException('Ya existe este programa.'); + return this.repository.save(this.repository.create({ programa })); + }) + .then((_) => ({ message: 'Se creo correctamente el programa.' })); + } + + findAll() { + return this.repository.find(); + } }