add direccion controller, services and module
This commit is contained in:
@@ -24,6 +24,7 @@ import { CarreraModule } from './carrera/carreras.module';
|
||||
import { ComentariosModule } from './comentarios/comentarios.module';
|
||||
import { ComentarioLineasProgramaticas } from './entities/comentarioLineasProgramaticas.entity';
|
||||
import { Direccion } from './entities/direccion.entity';
|
||||
import { DireccionModule } from './direccion/direccion.module';
|
||||
config({ path: '.env' });
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -33,6 +34,7 @@ config({ path: '.env' });
|
||||
ComentariosModule,
|
||||
LineasProgramaticasModule,
|
||||
CarreraModule,
|
||||
DireccionModule,
|
||||
ConfigModule.forRoot({
|
||||
isGlobal: true,
|
||||
}),
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
Get,
|
||||
Header,
|
||||
HttpCode,
|
||||
Logger,
|
||||
Post,
|
||||
Put,
|
||||
Query,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { AuthGuard } from '../auth/auth.guard';
|
||||
import { DireccionService } from './direccion.service';
|
||||
import { isUndefined } from '@nestjs/common/utils/shared.utils';
|
||||
import { DireccionDTO } from '../dtos/direccionDTO';
|
||||
import { Delete } from '@nestjs/common/decorators/http/request-mapping.decorator';
|
||||
|
||||
@Controller('direccion')
|
||||
export class DireccionController {
|
||||
constructor(private readonly direccionService: DireccionService) {}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Header('content-type', 'application/json')
|
||||
@Get('direccion')
|
||||
@HttpCode(200)
|
||||
getDireccion() {
|
||||
Logger.log('Direccion', 'getDireccion');
|
||||
return this.direccionService.findDirecciones();
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Header('content-type', 'application/json')
|
||||
@Get('direccionById')
|
||||
@HttpCode(200)
|
||||
getDireccionById(@Query('direccionId') direccionId: number) {
|
||||
Logger.log('Direccion', 'getDireccionById');
|
||||
if (!isUndefined(direccionId)) {
|
||||
return this.direccionService.findDireccionById(direccionId);
|
||||
}
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Header('content-type', 'application/json')
|
||||
@Post('addDireccion')
|
||||
@HttpCode(200)
|
||||
setDireccion(@Body() direccion: DireccionDTO) {
|
||||
Logger.log('Direccion', 'setDireccion');
|
||||
return this.direccionService.addDireccion(direccion);
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Header('content-type', 'application/json')
|
||||
@Put('updateDireccion')
|
||||
@HttpCode(200)
|
||||
updateDireccion(@Body() direccion: DireccionDTO) {
|
||||
Logger.log('Direccion', 'updateDireccion');
|
||||
return this.direccionService.updateDireccion(direccion);
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard)
|
||||
@Header('content-type', 'application/json')
|
||||
@Delete('deleteDireccion')
|
||||
@HttpCode(200)
|
||||
deleteDireccion(@Body() direccion: DireccionDTO) {
|
||||
Logger.log('Direccion', 'deleteDireccion');
|
||||
return this.direccionService.deleteDireccion(direccion);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { Direccion } from '../entities/direccion.entity';
|
||||
import { DireccionService } from './direccion.service';
|
||||
import { DireccionController } from './direccion.controller';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([Direccion])],
|
||||
providers: [DireccionService],
|
||||
controllers: [DireccionController],
|
||||
exports: [TypeOrmModule.forFeature([DireccionService])],
|
||||
})
|
||||
export class DireccionModule {}
|
||||
@@ -0,0 +1,36 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { DeleteResult, Repository, UpdateResult } from 'typeorm';
|
||||
import { Direccion } from '../entities/direccion.entity';
|
||||
import { DireccionDTO } from '../dtos/direccionDTO';
|
||||
|
||||
@Injectable()
|
||||
export class DireccionService {
|
||||
constructor(
|
||||
@InjectRepository(Direccion)
|
||||
private direccionRepository: Repository<Direccion>,
|
||||
) {}
|
||||
|
||||
findDirecciones(): Promise<Direccion[]> {
|
||||
return this.direccionRepository.find({});
|
||||
}
|
||||
|
||||
findDireccionById(direccionId: number): Promise<Direccion[]> {
|
||||
return this.direccionRepository.findBy({ id: direccionId });
|
||||
|
||||
}
|
||||
|
||||
addDireccion(direccion: DireccionDTO): Promise<Direccion> {
|
||||
return this.direccionRepository.save(direccion);
|
||||
}
|
||||
|
||||
updateDireccion(direccion: DireccionDTO): Promise<UpdateResult> {
|
||||
return this.direccionRepository.update({ direccion });
|
||||
}
|
||||
|
||||
deleteDireccion(direccion: Direccion): Promise<DeleteResult> {
|
||||
return this.direccionRepository.delete({
|
||||
id: direccion.id,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
import { IsDefined, IsInt, IsNotEmpty, IsString } from "@nestjs/class-validator";
|
||||
|
||||
export class DireccionDTO {
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsDefined()
|
||||
readonly primer_nombre: string;
|
||||
|
||||
@IsString()
|
||||
readonly segundo_nombre: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsDefined()
|
||||
readonly apellido_paterno: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsDefined()
|
||||
readonly apellido_materno: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsDefined()
|
||||
readonly inicio_periodo: Date;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsDefined()
|
||||
readonly fin_periodo: Date;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsDefined()
|
||||
readonly inicio_periodo_encuesta: Date;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsDefined()
|
||||
readonly fin_periodo_encuesta: Date;
|
||||
|
||||
@IsInt()
|
||||
readonly id: number;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
|
||||
|
||||
@Entity('direccion')
|
||||
export class Direccion {
|
||||
|
||||
@PrimaryGeneratedColumn('increment', { type: 'int' })
|
||||
id: number;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user