listo motivos carrito
This commit is contained in:
+8
-4
@@ -10,8 +10,10 @@ import { AuthModule } from './auth/auth.module';
|
||||
import { BcryptModule } from './bcrypt/bcrypt.module';
|
||||
import { CarreraProgramaModule } from './carrera-programa/carrera-programa.module';
|
||||
import { CarritoModule } from './carrito/carrito.module';
|
||||
import { CarritoMotivoModule } from './carrito-motivo/carrito-motivo.module';
|
||||
import { CronModule } from './cron/cron.module';
|
||||
import { EquipoModule } from './equipo/equipo.module';
|
||||
import { EquipoMotivoModule } from './equipo-motivo/equipo-motivo.module';
|
||||
import { EquipoProgramaModule } from './equipo-programa/equipo-programa.module';
|
||||
import { EquipoTipoEntradaModule } from './equipo-tipo-entrada/equipo-tipo-entrada.module';
|
||||
import { HoraExcepcionModule } from './hora-excepcion/hora-excepcion.module';
|
||||
@@ -26,7 +28,6 @@ import { InstitucionUsuarioModule } from './institucion-usuario/institucion-usua
|
||||
import { MarcaModule } from './marca/marca.module';
|
||||
import { ModeloModule } from './modelo/modelo.module';
|
||||
import { ModuloModule } from './modulo/modulo.module';
|
||||
import { MotivoModule } from './motivo/motivo.module';
|
||||
import { MultaModule } from './multa/multa.module';
|
||||
import { NodemailerModule } from './nodemailer/nodemailer.module';
|
||||
import { OperadorModule } from './operador/operador.module';
|
||||
@@ -40,8 +41,10 @@ import { UsuarioModule } from './usuario/usuario.module';
|
||||
import { Carrera } from './institucion-carrera/entity/carrera.entity';
|
||||
import { CarreraPrograma } from './carrera-programa/entity/carrera-programa.entity';
|
||||
import { Carrito } from './carrito/entity/carrito.entity';
|
||||
import { CarritoMotivo } from './carrito-motivo/entity/carrito-motivo.entity';
|
||||
import { Dia } from './institucion-dia/entity/dia.entity';
|
||||
import { Equipo } from './equipo/entity/equipo.entity';
|
||||
import { EquipoMotivo } from './equipo-motivo/entity/equipo-motivo.entity';
|
||||
import { EquipoPrograma } from './equipo-programa/entity/equipo-programa.entity';
|
||||
import { EquipoTipoEntrada } from './equipo-tipo-entrada/entity/equipo-tipo-entrada.entity';
|
||||
import { HoraExcepcion } from './hora-excepcion/entity/hora-excepcion.entity';
|
||||
@@ -57,7 +60,6 @@ import { InstitucionUsuario } from './institucion-usuario/entity/institucion-usu
|
||||
import { Marca } from './marca/entity/marca.entity';
|
||||
import { Modelo } from './modelo/entity/modelo.entity';
|
||||
import { Modulo } from './modulo/entity/modulo.entity';
|
||||
import { Motivo } from './motivo/entity/motivo.entity';
|
||||
import { Multa } from './multa/entity/multa.entity';
|
||||
import { Nivel } from './institucion-carrera/entity/nivel.entity';
|
||||
import { Operador } from './operador/entity/operador.entity';
|
||||
@@ -98,8 +100,10 @@ import { Usuario } from './usuario/entity/usuario.entity';
|
||||
Carrera,
|
||||
CarreraPrograma,
|
||||
Carrito,
|
||||
CarritoMotivo,
|
||||
Dia,
|
||||
Equipo,
|
||||
EquipoMotivo,
|
||||
EquipoPrograma,
|
||||
EquipoTipoEntrada,
|
||||
HoraExcepcion,
|
||||
@@ -115,7 +119,6 @@ import { Usuario } from './usuario/entity/usuario.entity';
|
||||
Marca,
|
||||
Modelo,
|
||||
Modulo,
|
||||
Motivo,
|
||||
Multa,
|
||||
Nivel,
|
||||
Operador,
|
||||
@@ -134,6 +137,7 @@ import { Usuario } from './usuario/entity/usuario.entity';
|
||||
BcryptModule,
|
||||
CarreraProgramaModule,
|
||||
CarritoModule,
|
||||
CarritoMotivoModule,
|
||||
CronModule,
|
||||
EquipoProgramaModule,
|
||||
EquipoTipoEntradaModule,
|
||||
@@ -150,7 +154,7 @@ import { Usuario } from './usuario/entity/usuario.entity';
|
||||
MarcaModule,
|
||||
ModeloModule,
|
||||
ModuloModule,
|
||||
MotivoModule,
|
||||
EquipoMotivoModule,
|
||||
MultaModule,
|
||||
NodemailerModule,
|
||||
OperadorModule,
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { CarritoMotivoController } from './carrito-motivo.controller';
|
||||
|
||||
describe('CarritoMotivoController', () => {
|
||||
let controller: CarritoMotivoController;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
controllers: [CarritoMotivoController],
|
||||
}).compile();
|
||||
|
||||
controller = module.get<CarritoMotivoController>(CarritoMotivoController);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(controller).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,64 @@
|
||||
import {
|
||||
Controller,
|
||||
ForbiddenException,
|
||||
Get,
|
||||
Query,
|
||||
Request,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
import { AuthGuard } from '@nestjs/passport';
|
||||
import {
|
||||
ApiBearerAuth,
|
||||
ApiOperation,
|
||||
ApiQuery,
|
||||
ApiTags,
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { CaritoMotivoService } from './carrito-motivo.service';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { GetDto } from './dto/input/get.dto';
|
||||
import { CarritoMotivoOutputDto } from './dto/output/carrito-motivo.dto';
|
||||
|
||||
@Controller('carrito-motivo')
|
||||
@ApiTags('carrito-motivo')
|
||||
export class CarritoMotivoController {
|
||||
constructor(private carritoMotivoService: CaritoMotivoService) {}
|
||||
|
||||
@Serealize(CarritoMotivoOutputDto)
|
||||
@Get()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description:
|
||||
'Endpoint que retorna 25 cambios de status que ha tenido un carrito dependiendo de la página en la que se encuentra el alumno.',
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiQuery({
|
||||
description: 'Id del carrito.',
|
||||
name: 'id_carrito',
|
||||
type: 'string',
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Página en la que se encuentra el usuario.',
|
||||
name: 'pagina',
|
||||
type: 'string',
|
||||
})
|
||||
get(@Request() req, @Query() query: GetDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
if (
|
||||
!operador ||
|
||||
(operador.tipoUsuario.id_tipo_usuario != 3 &&
|
||||
operador.tipoUsuario.id_tipo_usuario != 4)
|
||||
)
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
return this.carritoMotivoService.findAllByIdCarrito(
|
||||
parseInt(query.id_carrito),
|
||||
parseInt(query.pagina),
|
||||
);
|
||||
}
|
||||
|
||||
// @Get('reporte')
|
||||
// reporte() {}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import { forwardRef, Module } from '@nestjs/common';
|
||||
import { PassportModule } from '@nestjs/passport';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { CarritoMotivoController } from './carrito-motivo.controller';
|
||||
import { CaritoMotivoService } from './carrito-motivo.service';
|
||||
import { CarritoMotivo } from './entity/carrito-motivo.entity';
|
||||
import { CarritoModule } from '../carrito/carrito.module';
|
||||
import { OperadorModule } from '../operador/operador.module';
|
||||
import { StatusModule } from '../status/status.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
forwardRef(() => CarritoModule),
|
||||
OperadorModule,
|
||||
StatusModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([CarritoMotivo]),
|
||||
],
|
||||
controllers: [CarritoMotivoController],
|
||||
providers: [CaritoMotivoService],
|
||||
exports: [CaritoMotivoService],
|
||||
})
|
||||
export class CarritoMotivoModule {}
|
||||
@@ -0,0 +1,18 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { CaritoMotivoService } from './carrito-motivo.service';
|
||||
|
||||
describe('CaritoMotivoService', () => {
|
||||
let service: CaritoMotivoService;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [CaritoMotivoService],
|
||||
}).compile();
|
||||
|
||||
service = module.get<CaritoMotivoService>(CaritoMotivoService);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(service).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,49 @@
|
||||
import * as moment from 'moment';
|
||||
import { forwardRef, Inject, Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { Carrito } from 'src/carrito/entity/carrito.entity';
|
||||
import { CarritoMotivo } from './entity/carrito-motivo.entity';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { CarritoService } from '../carrito/carrito.service';
|
||||
import { OperadorService } from '../operador/operador.service';
|
||||
|
||||
@Injectable()
|
||||
export class CaritoMotivoService {
|
||||
constructor(
|
||||
@InjectRepository(CarritoMotivo)
|
||||
private repository: Repository<CarritoMotivo>,
|
||||
@Inject(forwardRef(() => CarritoService))
|
||||
private carritoService: CarritoService,
|
||||
private operadorService: OperadorService,
|
||||
) {}
|
||||
|
||||
async create(
|
||||
carrito: Carrito,
|
||||
operador: Operador,
|
||||
status: boolean,
|
||||
motivo: string,
|
||||
) {
|
||||
const ahora = moment();
|
||||
|
||||
return this.repository.save(
|
||||
this.repository.create({
|
||||
carrito,
|
||||
fecha_creacion: ahora.toDate(),
|
||||
motivo,
|
||||
operador,
|
||||
status,
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
findAllByIdCarrito(id_carrito: number, pagina: number) {
|
||||
return this.carritoService.findById(id_carrito).then((carrito) =>
|
||||
this.repository.findAndCount({
|
||||
where: { carrito },
|
||||
skip: (pagina - 1) * 25,
|
||||
take: 25,
|
||||
}),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { IsNumberString } from 'class-validator';
|
||||
|
||||
export class GetDto {
|
||||
@IsNumberString()
|
||||
id_carrito: string;
|
||||
|
||||
@IsNumberString()
|
||||
pagina: string;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import { Expose, Type } from 'class-transformer';
|
||||
import { OperadorMinOutputDto } from '../../../operador/dto/output/operador-min.dto';
|
||||
|
||||
export class CarritoMotivoOutputDto {
|
||||
@Expose()
|
||||
id_motivo;
|
||||
|
||||
@Expose()
|
||||
fecha_creacion;
|
||||
|
||||
@Expose()
|
||||
motivo;
|
||||
|
||||
@Expose()
|
||||
status;
|
||||
|
||||
@Expose()
|
||||
@Type(() => OperadorMinOutputDto)
|
||||
operador;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
import {
|
||||
Column,
|
||||
Entity,
|
||||
JoinColumn,
|
||||
ManyToOne,
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
import { Carrito } from '../../carrito/entity/carrito.entity';
|
||||
import { Operador } from '../../operador/entity/operador.entity';
|
||||
|
||||
@Entity()
|
||||
export class CarritoMotivo {
|
||||
@PrimaryGeneratedColumn()
|
||||
id_motivo: number;
|
||||
|
||||
@Column({ type: Date, nullable: false })
|
||||
fecha_creacion: Date;
|
||||
|
||||
@Column({ type: String, nullable: false, length: 250 })
|
||||
motivo: string;
|
||||
|
||||
@Column({ type: Boolean, nullable: false })
|
||||
status: boolean;
|
||||
|
||||
@ManyToOne(() => Carrito, (carrito) => carrito.motivos)
|
||||
@JoinColumn({ name: 'id_carrito' })
|
||||
carrito: Carrito;
|
||||
|
||||
@ManyToOne(() => Operador, (operador) => operador.motivos, { eager: true })
|
||||
@JoinColumn({ name: 'id_operador' })
|
||||
operador: Operador;
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { forwardRef, Module } from '@nestjs/common';
|
||||
import { PassportModule } from '@nestjs/passport';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { CarritoController } from './carrito.controller';
|
||||
import { CarritoService } from './carrito.service';
|
||||
import { Carrito } from './entity/carrito.entity';
|
||||
import { CarritoMotivoModule } from '../carrito-motivo/carrito-motivo.module';
|
||||
import { InstitucionModule } from '../institucion/institucion.module';
|
||||
import { InstitucionTipoCarritoModule } from '../institucion-tipo-carrito/institucion-tipo-carrito.module';
|
||||
import { MarcaModule } from '../marca/marca.module';
|
||||
@@ -12,6 +13,7 @@ import { ModuloModule } from '../modulo/modulo.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
forwardRef(() => CarritoMotivoModule),
|
||||
InstitucionModule,
|
||||
InstitucionTipoCarritoModule,
|
||||
MarcaModule,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IsBoolean, IsInt, IsOptional, IsString } from 'class-validator';
|
||||
import { IsBoolean, IsInt, IsOptional } from 'class-validator';
|
||||
|
||||
export class UpdateCarritoDto {
|
||||
@IsInt()
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
OneToMany,
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
import { CarritoMotivo } from '../../carrito-motivo/entity/carrito-motivo.entity';
|
||||
import { Equipo } from '../../equipo/entity/equipo.entity';
|
||||
import { Marca } from '../../marca/entity/marca.entity';
|
||||
import { Modelo } from '../../modelo/entity/modelo.entity';
|
||||
@@ -41,6 +42,9 @@ export class Carrito {
|
||||
@JoinColumn({ name: 'id_tipo_carrito' })
|
||||
tipoCarrito: TipoCarrito;
|
||||
|
||||
@OneToMany(() => CarritoMotivo, (motivo) => motivo.carrito)
|
||||
motivos: CarritoMotivo[];
|
||||
|
||||
@OneToMany(() => Equipo, (equipo) => equipo.carrito)
|
||||
equipos: Equipo[];
|
||||
}
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ import { Expose, Type } from 'class-transformer';
|
||||
import { OperadorMinOutputDto } from '../../../operador/dto/output/operador-min.dto';
|
||||
import { StatusOutputDto } from '../../../status/dto/output/status.dto';
|
||||
|
||||
export class MotivoOutputDto {
|
||||
export class EquipoMotivoOutputDto {
|
||||
@Expose()
|
||||
id_motivo;
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ import { Operador } from '../../operador/entity/operador.entity';
|
||||
import { Status } from '../../status/entity/status.entity';
|
||||
|
||||
@Entity()
|
||||
export class Motivo {
|
||||
export class EquipoMotivo {
|
||||
@PrimaryGeneratedColumn()
|
||||
id_motivo: number;
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { EquipoMotivoController } from './equipo-motivo.controller';
|
||||
|
||||
describe('EquipoMotivoController', () => {
|
||||
let controller: EquipoMotivoController;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
controllers: [EquipoMotivoController],
|
||||
}).compile();
|
||||
|
||||
controller = module.get<EquipoMotivoController>(EquipoMotivoController);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(controller).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -14,17 +14,17 @@ import {
|
||||
ApiTags,
|
||||
} from '@nestjs/swagger';
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { MotivoService } from './motivo.service';
|
||||
import { EquipoMotivoService } from './equipo-motivo.service';
|
||||
import { Operador } from 'src/operador/entity/operador.entity';
|
||||
import { IdEquipoPaginaDto } from '../dto/id-equipo-pagina.dto';
|
||||
import { MotivoOutputDto } from './dto/output/motivo.dto';
|
||||
import { EquipoMotivoOutputDto } from './dto/output/equipo-motivo.dto';
|
||||
|
||||
@Controller('motivo')
|
||||
@ApiTags('motivo')
|
||||
export class MotivoController {
|
||||
constructor(private motivoService: MotivoService) {}
|
||||
@Controller('equipo-motivo')
|
||||
@ApiTags('equipo-motivo')
|
||||
export class EquipoMotivoController {
|
||||
constructor(private equipoMotivoService: EquipoMotivoService) {}
|
||||
|
||||
@Serealize(MotivoOutputDto)
|
||||
@Serealize(EquipoMotivoOutputDto)
|
||||
@Get()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
@@ -53,7 +53,7 @@ export class MotivoController {
|
||||
throw new ForbiddenException(
|
||||
'No tienes los permisos necesarios para acceder a esta información.',
|
||||
);
|
||||
return this.motivoService.findAllByIdEquipo(
|
||||
return this.equipoMotivoService.findAllByIdEquipo(
|
||||
parseInt(query.id_equipo),
|
||||
parseInt(query.pagina),
|
||||
);
|
||||
@@ -1,9 +1,9 @@
|
||||
import { forwardRef, Module } from '@nestjs/common';
|
||||
import { PassportModule } from '@nestjs/passport';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { MotivoController } from './motivo.controller';
|
||||
import { MotivoService } from './motivo.service';
|
||||
import { Motivo } from './entity/motivo.entity';
|
||||
import { EquipoMotivoController } from './equipo-motivo.controller';
|
||||
import { EquipoMotivoService } from './equipo-motivo.service';
|
||||
import { EquipoMotivo } from './entity/equipo-motivo.entity';
|
||||
import { EquipoModule } from '../equipo/equipo.module';
|
||||
import { OperadorModule } from '../operador/operador.module';
|
||||
import { StatusModule } from '../status/status.module';
|
||||
@@ -14,10 +14,10 @@ import { StatusModule } from '../status/status.module';
|
||||
OperadorModule,
|
||||
StatusModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
TypeOrmModule.forFeature([Motivo]),
|
||||
TypeOrmModule.forFeature([EquipoMotivo]),
|
||||
],
|
||||
controllers: [MotivoController],
|
||||
providers: [MotivoService],
|
||||
exports: [MotivoService],
|
||||
controllers: [EquipoMotivoController],
|
||||
providers: [EquipoMotivoService],
|
||||
exports: [EquipoMotivoService],
|
||||
})
|
||||
export class MotivoModule {}
|
||||
export class EquipoMotivoModule {}
|
||||
@@ -1,15 +1,15 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { MotivoService } from './motivo.service';
|
||||
import { EquipoMotivoService } from './equipo-motivo.service';
|
||||
|
||||
describe('MotivoService', () => {
|
||||
let service: MotivoService;
|
||||
describe('EquipoMotivoService', () => {
|
||||
let service: EquipoMotivoService;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [MotivoService],
|
||||
providers: [EquipoMotivoService],
|
||||
}).compile();
|
||||
|
||||
service = module.get<MotivoService>(MotivoService);
|
||||
service = module.get<EquipoMotivoService>(EquipoMotivoService);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
@@ -3,7 +3,7 @@ import { forwardRef, Inject, Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { Equipo } from '../equipo/entity/equipo.entity';
|
||||
import { Motivo } from './entity/motivo.entity';
|
||||
import { EquipoMotivo } from './entity/equipo-motivo.entity';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { Status } from '../status/entity/status.entity';
|
||||
import { EquipoService } from '../equipo/equipo.service';
|
||||
@@ -11,9 +11,10 @@ import { OperadorService } from '../operador/operador.service';
|
||||
import { StatusService } from '../status/status.service';
|
||||
|
||||
@Injectable()
|
||||
export class MotivoService {
|
||||
export class EquipoMotivoService {
|
||||
constructor(
|
||||
@InjectRepository(Motivo) private repository: Repository<Motivo>,
|
||||
@InjectRepository(EquipoMotivo)
|
||||
private repository: Repository<EquipoMotivo>,
|
||||
@Inject(forwardRef(() => EquipoService))
|
||||
private equipoService: EquipoService,
|
||||
private operadorService: OperadorService,
|
||||
@@ -11,7 +11,7 @@ import { EquipoPrograma } from '../../equipo-programa/entity/equipo-programa.ent
|
||||
import { EquipoTipoEntrada } from '../../equipo-tipo-entrada/entity/equipo-tipo-entrada.entity';
|
||||
import { Marca } from '../../marca/entity/marca.entity';
|
||||
import { Modelo } from '../../modelo/entity/modelo.entity';
|
||||
import { Motivo } from '../../motivo/entity/motivo.entity';
|
||||
import { EquipoMotivo } from '../../equipo-motivo/entity/equipo-motivo.entity';
|
||||
import { Prestamo } from '../../prestamo/entity/prestamo.entity';
|
||||
import { Status } from '../../status/entity/status.entity';
|
||||
|
||||
@@ -48,8 +48,8 @@ export class Equipo {
|
||||
@JoinColumn({ name: 'id_status' })
|
||||
status: Status;
|
||||
|
||||
@OneToMany(() => Motivo, (motivo) => motivo.equipo)
|
||||
motivos: Motivo[];
|
||||
@OneToMany(() => EquipoMotivo, (motivo) => motivo.equipo)
|
||||
motivos: EquipoMotivo[];
|
||||
|
||||
@OneToMany(() => Prestamo, (prestamo) => prestamo.equipo)
|
||||
prestamos: Prestamo[];
|
||||
|
||||
@@ -13,7 +13,7 @@ import { InstitucionTipoEntradaModule } from '../institucion-tipo-entrada/instit
|
||||
import { MarcaModule } from '../marca/marca.module';
|
||||
import { ModeloModule } from '../modelo/modelo.module';
|
||||
import { ModuloModule } from '../modulo/modulo.module';
|
||||
import { MotivoModule } from '../motivo/motivo.module';
|
||||
import { EquipoMotivoModule } from '../equipo-motivo/equipo-motivo.module';
|
||||
import { OperadorModule } from '../operador/operador.module';
|
||||
import { StatusModule } from '../status/status.module';
|
||||
|
||||
@@ -28,7 +28,7 @@ import { StatusModule } from '../status/status.module';
|
||||
MarcaModule,
|
||||
ModeloModule,
|
||||
ModuloModule,
|
||||
forwardRef(() => MotivoModule),
|
||||
forwardRef(() => EquipoMotivoModule),
|
||||
OperadorModule,
|
||||
PassportModule.register({ defaultStrategy: 'jwt' }),
|
||||
StatusModule,
|
||||
|
||||
@@ -27,7 +27,7 @@ import { InstitucionTipoEntradaService } from '../institucion-tipo-entrada/insti
|
||||
import { MarcaService } from '../marca/marca.service';
|
||||
import { ModeloService } from '../modelo/modelo.service';
|
||||
import { ModuloService } from '../modulo/modulo.service';
|
||||
import { MotivoService } from '../motivo/motivo.service';
|
||||
import { EquipoMotivoService } from '../equipo-motivo/equipo-motivo.service';
|
||||
import { OperadorService } from '../operador/operador.service';
|
||||
import { StatusService } from '../status/status.service';
|
||||
|
||||
@@ -45,8 +45,8 @@ export class EquipoService {
|
||||
private marcaService: MarcaService,
|
||||
private modeloService: ModeloService,
|
||||
private moduloService: ModuloService,
|
||||
@Inject(forwardRef(() => MotivoService))
|
||||
private motivoService: MotivoService,
|
||||
@Inject(forwardRef(() => EquipoMotivoService))
|
||||
private equipoMotivoService: EquipoMotivoService,
|
||||
private operadorService: OperadorService,
|
||||
private statusService: StatusService,
|
||||
) {}
|
||||
@@ -408,7 +408,12 @@ export class EquipoService {
|
||||
status.id_status >= 4 ||
|
||||
(equipo.status.id_status >= 4 && status.id_status === 1)
|
||||
)
|
||||
await this.motivoService.create(equipo, operador, status, motivo);
|
||||
await this.equipoMotivoService.create(
|
||||
equipo,
|
||||
operador,
|
||||
status,
|
||||
motivo,
|
||||
);
|
||||
equipo.status = status;
|
||||
}
|
||||
if (carrito) equipo.carrito = carrito;
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { MotivoController } from './motivo.controller';
|
||||
|
||||
describe('MotivoController', () => {
|
||||
let controller: MotivoController;
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
controllers: [MotivoController],
|
||||
}).compile();
|
||||
|
||||
controller = module.get<MotivoController>(MotivoController);
|
||||
});
|
||||
|
||||
it('should be defined', () => {
|
||||
expect(controller).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
import { Institucion } from '../../institucion/entity/institucion.entity';
|
||||
import { Motivo } from '../../motivo/entity/motivo.entity';
|
||||
import { EquipoMotivo } from '../../equipo-motivo/entity/equipo-motivo.entity';
|
||||
import { Multa } from '../../multa/entity/multa.entity';
|
||||
import { Prestamo } from '../../prestamo/entity/prestamo.entity';
|
||||
import { TipoUsuario } from '../../tipo-usuario/entity/tipo-usuario.entity';
|
||||
@@ -44,8 +44,8 @@ export class Operador {
|
||||
@JoinColumn({ name: 'id_tipo_usuario' })
|
||||
tipoUsuario: TipoUsuario;
|
||||
|
||||
@OneToMany(() => Motivo, (motivo) => motivo.operador)
|
||||
motivos: Motivo[];
|
||||
@OneToMany(() => EquipoMotivo, (motivo) => motivo.operador)
|
||||
motivos: EquipoMotivo[];
|
||||
|
||||
@OneToMany(() => Multa, (multa) => multa.opeardorMulta)
|
||||
multas: Multa[];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
|
||||
import { Equipo } from '../../equipo/entity/equipo.entity';
|
||||
import { Motivo } from '../../motivo/entity/motivo.entity';
|
||||
import { EquipoMotivo } from '../../equipo-motivo/entity/equipo-motivo.entity';
|
||||
|
||||
@Entity()
|
||||
export class Status {
|
||||
@@ -13,6 +13,6 @@ export class Status {
|
||||
@OneToMany(() => Equipo, (equipo) => equipo.status)
|
||||
equipos: Equipo[];
|
||||
|
||||
@OneToMany(() => Motivo, (motivo) => motivo.status)
|
||||
motivos: Motivo[];
|
||||
@OneToMany(() => EquipoMotivo, (motivo) => motivo.status)
|
||||
motivos: EquipoMotivo[];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import * as fs from 'fs';
|
||||
import {
|
||||
BadRequestException,
|
||||
Controller,
|
||||
@@ -43,12 +42,10 @@ export class UploadFileController {
|
||||
const path = file ? `${file.destination}/${file.filename}` : null;
|
||||
|
||||
if (!file) throw new BadRequestException('No se mandó ningún archivo.');
|
||||
return this.uploadFileService
|
||||
.createUsuarios(path, parseInt(query.id_institucion))
|
||||
.then((res) => {
|
||||
fs.unlink(path, (err) => {});
|
||||
return res;
|
||||
});
|
||||
return this.uploadFileService.createUsuarios(
|
||||
path,
|
||||
parseInt(query.id_institucion),
|
||||
);
|
||||
}
|
||||
|
||||
@Get('download-logo')
|
||||
|
||||
Reference in New Issue
Block a user