usuario casi listo, solo falta escolares

This commit is contained in:
xXpuma99Xx
2022-05-02 17:42:41 -05:00
parent a4bc89d2ff
commit 871f807954
4 changed files with 31 additions and 28 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ export class UsuarioUpdateDto {
@IsOptional()
multa?: boolean;
@IsPhoneNumber()
@IsPhoneNumber('MX')
@IsOptional()
telefono?: string;
}
+2 -2
View File
@@ -6,11 +6,11 @@ export class UsuarioUsuariosDto {
@IsNumberString()
@IsOptional()
id_carrera: string;
id_institucion: string;
@IsNumberString()
@IsOptional()
id_institucion: string;
id_institucion_carrera: string;
@IsNumberString()
@IsOptional()
-2
View File
@@ -5,7 +5,6 @@ import { UsuarioController } from './usuario.controller';
import { UsuarioService } from './usuario.service';
import { Usuario } from './entity/usuario.entity';
import { BcryptModule } from '../bcrypt/bcrypt.module';
import { CarreraModule } from '../carrera/carrera.module';
import { NodemailerModule } from '../nodemailer/nodemailer.module';
import { InstitucionModule } from '../institucion/institucion.module';
import { InstitucionCarreraModule } from 'src/institucion-carrera/institucion-carrera.module';
@@ -14,7 +13,6 @@ import { TipoUsuarioModule } from '../tipo-usuario/tipo-usuario.module';
@Module({
imports: [
BcryptModule,
CarreraModule,
InstitucionModule,
InstitucionCarreraModule,
NodemailerModule,
+28 -23
View File
@@ -4,14 +4,12 @@ import {
NotFoundException,
} from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { Carrera } from '../carrera/entity/carrera.entity';
import { FindOperator, Like, Repository } from 'typeorm';
import { InstitucionCarrera } from '../institucion-carrera/entity/institucion-carrera.entity';
import { Institucion } from '../institucion/entity/institucion.entity';
import { TipoUsuario } from '../tipo-usuario/entity/tipo-usuario.entity';
import { Usuario } from './entity/usuario.entity';
import { BcryptService } from '../bcrypt/bcrypt.service';
import { CarreraService } from '../carrera/carrera.service';
import { InstitucionCarreraService } from '../institucion-carrera/institucion-carrera.service';
import { InstitucionService } from '../institucion/institucion.service';
import { NodemailerService } from '../nodemailer/nodemailer.service';
@@ -22,9 +20,8 @@ export class UsuarioService {
constructor(
@InjectRepository(Usuario) private repository: Repository<Usuario>,
private bcryptService: BcryptService,
private carreraService: CarreraService,
private institucionService: InstitucionService,
private InstitucionCarreraService: InstitucionCarreraService,
private institucionCarreraService: InstitucionCarreraService,
private nodemailerService: NodemailerService,
private tipoUsuarioService: TipoUsuarioService,
) {}
@@ -36,7 +33,7 @@ export class UsuarioService {
id_institucion_carrera?: number,
) {
const carrera = id_institucion_carrera
? await this.InstitucionCarreraService.findById(id_institucion_carrera)
? await this.institucionCarreraService.findById(id_institucion_carrera)
: null;
const institucion = await this.institucionService.findById(id_institucion);
const tipoUsuario = await this.tipoUsuarioService.findById(id_tipo_usuario);
@@ -80,35 +77,43 @@ export class UsuarioService {
<p>Pc Puma Solicita</p>`;
}
escolares() {}
async findAll(filtros: {
pagina: string;
id_carrera?: string;
id_institucion_carrera?: string;
id_institucion?: string;
id_tipo_usuario?: string;
usuario?: string;
}) {
const busqueda: {
// carrera?: Carrera;
institucion?: Institucion;
tipoUsuario?: TipoUsuario;
usuario?: string;
} = {};
where: {
carrera?: InstitucionCarrera;
institucion?: Institucion;
tipoUsuario?: TipoUsuario;
usuario?: FindOperator<string>;
};
skip;
take;
} = { where: {}, skip: (parseInt(filtros.pagina) - 1) * 25, take: 25 };
const carrera = filtros.id_institucion_carrera
? await this.institucionCarreraService.findById(
parseInt(filtros.id_institucion_carrera),
)
: null;
const institucion = filtros.id_institucion
? await this.institucionService.findById(parseInt(filtros.id_institucion))
: null;
const tipoUsuario = filtros.id_tipo_usuario
? await this.tipoUsuarioService.findById(parseInt(filtros.id_tipo_usuario))
: null;
const carrera = filtros.id_carrera
? await this.carreraService.findById(parseInt(filtros.id_carrera))
? await this.tipoUsuarioService.findById(
parseInt(filtros.id_tipo_usuario),
)
: null;
/* buscar usnado like */
if (filtros.usuario) busqueda.usuario = filtros.usuario;
if (institucion) busqueda.institucion = institucion;
if (tipoUsuario) busqueda.tipoUsuario = tipoUsuario;
// if (carrera) busqueda.carrera = carrera;
/* falta página, paginado */
if (filtros.usuario) busqueda.where.usuario = Like(`${filtros.usuario}%`);
if (carrera) busqueda.where.carrera = carrera;
if (institucion) busqueda.where.institucion = institucion;
if (tipoUsuario) busqueda.where.tipoUsuario = tipoUsuario;
return this.repository.find(busqueda);
}
@@ -180,7 +185,7 @@ export class UsuarioService {
html: this.correoPassword(password),
}),
)
.then((_) => ({ message: 'Se creo correctamente un usuario.' }));
.then((_) => ({ message: 'Se registro correctamente un usuario.' }));
}
update(attrs: Partial<Usuario>) {