changes
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
-- ==========================================
|
||||
-- TABLA: Procesador
|
||||
-- ==========================================
|
||||
|
||||
|
||||
INSERT INTO procesador (procesador) VALUES
|
||||
('CELERON (ADQUIRIDO EN 2018 HASTA LA FECHA)'),
|
||||
('CELERON DUAL CORE O ANTERIORES'),
|
||||
('CELERON SERIE J, G'),
|
||||
('CHIP A10 M10'),
|
||||
('CORE2 DUO, QUAD CORE, PENTIUM DUAL CORE O ANTERIORES'),
|
||||
('CORE2 MAC, QUAD CORE O ANTERIORES'),
|
||||
('FAMILIA M1'),
|
||||
('FAMILIA M2'),
|
||||
('I3 O EQUIVALENTES (13A GENERACIÓN EN ADELANTE)'),
|
||||
('I3 O EQUIVALENTES (1A - 4A GENERACIÓN)'),
|
||||
('I3 O EQUIVALENTES (5A - 8A GENERACIÓN)'),
|
||||
('I3 O EQUIVALENTES (9A - 12A GENERACIÓN)'),
|
||||
('I5 O EQUIVALENTES (13A GENERACIÓN EN ADELANTE)'),
|
||||
('I5 O EQUIVALENTES (1A - 4A GENERACIÓN)'),
|
||||
('I5 O EQUIVALENTES (5A - 8A GENERACIÓN)'),
|
||||
('I5 O EQUIVALENTES (9A - 12A GENERACIÓN)'),
|
||||
('I7 O EQUIVALENTES (13A GENERACIÓN EN ADELANTE)'),
|
||||
('I7 O EQUIVALENTES (1A - 4A GENERACIÓN)'),
|
||||
('I7 O EQUIVALENTES (5A - 8A GENERACIÓN)'),
|
||||
('I7 O EQUIVALENTES (9A - 12A GENERACIÓN)'),
|
||||
('PENTIUM DUAL CORE O ANTERIORES'),
|
||||
('PENTIUM SERIES J, G'),
|
||||
('XEON BRONCE, PLATA, ORO 1A GENERACIÓN'),
|
||||
('XEON E3, E5, E7'),
|
||||
('XEON O ANTERIORES'),
|
||||
('S/P');
|
||||
|
||||
|
||||
-- ==========================================
|
||||
-- TABLA: TipoEquipo
|
||||
-- ==========================================
|
||||
|
||||
|
||||
INSERT INTO tipo_equipo (tipo_equipo) VALUES
|
||||
('LAP TOP'),
|
||||
('MAC'),
|
||||
('PC'),
|
||||
('SERVIDOR'),
|
||||
('TABLETA'),
|
||||
('IMPRESORA'),
|
||||
('INYECCIÓN TINTA'),
|
||||
('LASER'),
|
||||
('PLOTER'),
|
||||
('ESCANER'),
|
||||
('MULTIFUNCIONAL');
|
||||
|
||||
|
||||
|
||||
INSERT INTO uso (tipo_uso) VALUES
|
||||
('ADMINISTRATIVO'),
|
||||
('ALUMNO'),
|
||||
('PROFESOR'),
|
||||
('TÉCNICO ACADÉMICO');
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO estado (estado) VALUES
|
||||
('EN DESUSO'),
|
||||
('EN USO');
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO tipo_usuario (tipo_usuario) VALUES
|
||||
('Administrador'),
|
||||
('Personal');
|
||||
Binary file not shown.
Binary file not shown.
+4
-2
@@ -6,6 +6,7 @@ import { UsuariosModule } from './usuarios/usuarios.module';
|
||||
import { MovimientoModule } from './movimiento/movimiento.module';
|
||||
import { EquipoModule } from './equipo/equipo.module';
|
||||
import { AuthModule } from './auth/auth.module';
|
||||
import { AppController } from './app.controller';
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +24,7 @@ import { AuthModule } from './auth/auth.module';
|
||||
username: process.env.DB_USER,
|
||||
password: process.env.DB_PASS,
|
||||
database: process.env.DB_NAME,
|
||||
//autoLoadEntities: true,
|
||||
autoLoadEntities: true,
|
||||
synchronize: true,
|
||||
}),
|
||||
UsuariosModule,
|
||||
@@ -32,7 +33,8 @@ import { AuthModule } from './auth/auth.module';
|
||||
EquipoModule,
|
||||
AuthModule
|
||||
],
|
||||
controllers: [],
|
||||
controllers: [AppController],
|
||||
providers: [AppService],
|
||||
|
||||
})
|
||||
export class AppModule {}
|
||||
|
||||
@@ -4,9 +4,6 @@ import * as argon2 from 'argon2';
|
||||
import { LoginDto } from './dto/login.dto';
|
||||
import { CreateUsuarioDto } from 'src/usuarios/dto/create-usuario.dto';
|
||||
import { JwtService } from '@nestjs/jwt';
|
||||
import { Repository } from 'typeorm';
|
||||
import { Usuario } from 'src/usuarios/entities/usuario.entity';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
|
||||
@Injectable()
|
||||
export class AuthService {
|
||||
@@ -14,7 +11,7 @@ export class AuthService {
|
||||
private readonly usuarioService:UsuariosService,
|
||||
private readonly jwtService:JwtService
|
||||
){}
|
||||
//Pendiente tipoUsuario
|
||||
|
||||
async registro({nombre, contraseña,tipoUsuario}: CreateUsuarioDto){
|
||||
|
||||
const usuario = await this.usuarioService.findOneByName(nombre);
|
||||
@@ -62,6 +59,7 @@ export class AuthService {
|
||||
token:token,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,11 @@ import { PassportStrategy } from "@nestjs/passport";
|
||||
import{ExtractJwt,Strategy} from 'passport-jwt'
|
||||
|
||||
export class JwtStrategy extends PassportStrategy(Strategy){
|
||||
|
||||
constructor(){
|
||||
if( !process.env.JWT ){
|
||||
throw new Error('JWT_SECRET no está definido en las variables de entorno');
|
||||
}
|
||||
super({
|
||||
jwtFromRequest:ExtractJwt.fromAuthHeaderAsBearerToken(),
|
||||
ignoreExpiration:false,
|
||||
|
||||
@@ -7,7 +7,7 @@ import { AuthGuard } from '@nestjs/passport';
|
||||
@Controller('equipos')
|
||||
export class EquipoController {
|
||||
constructor(private readonly equipoService: EquipoService) {}
|
||||
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
@Get('buscar')
|
||||
async buscarEquipos(
|
||||
@Query() filtros: any,
|
||||
@@ -16,10 +16,47 @@ export class EquipoController {
|
||||
) {
|
||||
return this.equipoService.buscarEquipos(filtros, +page, +limit);
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
@Patch("update/:id")
|
||||
update(@Param('id', ParseIntPipe) id:number, @Body() equipoNuevo: UpdateEquipoDto) {
|
||||
return this.equipoService.updateEquipo( equipoNuevo,id);
|
||||
}
|
||||
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
@Get('usos')
|
||||
findUsos() {
|
||||
return this.equipoService.findAllUsos();
|
||||
}
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
@Get('marcas')
|
||||
findMarcas() {
|
||||
return this.equipoService.findAllMarcas();
|
||||
}
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
@Get('estados')
|
||||
findEstados() {
|
||||
return this.equipoService.findAllEstados();
|
||||
}
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
@Get('adscripciones')
|
||||
findAdscripciones() {
|
||||
return this.equipoService.findAllAdscripciones();
|
||||
}
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
@Get('tipos-equipo')
|
||||
findTiposEquipo() {
|
||||
return this.equipoService.findAllTiposEquipo();
|
||||
}
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
@Get('sistemas-operativos')
|
||||
findSistemasOperativos() {
|
||||
return this.equipoService.findAllSistemasOperativos();
|
||||
}
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
@Get('procesadores')
|
||||
findProcesadores() {
|
||||
return this.equipoService.findAllProcesadores();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,13 +2,42 @@ import { Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { Equipo } from './entities/equipo.entity';
|
||||
import { UpdateEquipoDto } from './dto/update-equipo.dto'
|
||||
import { UpdateEquipoDto } from './dto/update-equipo.dto';
|
||||
import {
|
||||
Adscripcion,
|
||||
Estado,
|
||||
Marca,
|
||||
Procesador,
|
||||
SistemaOperativo,
|
||||
TipoEquipo,
|
||||
Uso,
|
||||
} from './entities/catalogo.entities';
|
||||
|
||||
@Injectable()
|
||||
export class EquipoService {
|
||||
constructor(
|
||||
@InjectRepository(Equipo)
|
||||
private readonly equipoRepository: Repository<Equipo>,
|
||||
@InjectRepository(Uso)
|
||||
private readonly usoRepo: Repository<Uso>,
|
||||
|
||||
@InjectRepository(Marca)
|
||||
private readonly marcaRepo: Repository<Marca>,
|
||||
|
||||
@InjectRepository(Estado)
|
||||
private readonly estadoRepo: Repository<Estado>,
|
||||
|
||||
@InjectRepository(Adscripcion)
|
||||
private readonly adscripcionRepo: Repository<Adscripcion>,
|
||||
|
||||
@InjectRepository(TipoEquipo)
|
||||
private readonly tipoEquipoRepo: Repository<TipoEquipo>,
|
||||
|
||||
@InjectRepository(SistemaOperativo)
|
||||
private readonly sistemaOperativoRepo: Repository<SistemaOperativo>,
|
||||
|
||||
@InjectRepository(Procesador)
|
||||
private readonly procesadorRepo: Repository<Procesador>,
|
||||
) {}
|
||||
|
||||
async buscarEquipos(filtros: any, page: number = 1, limit: number = 10) {
|
||||
@@ -84,27 +113,63 @@ export class EquipoService {
|
||||
data,
|
||||
};
|
||||
}
|
||||
async updateEquipo(equipoNuevo:UpdateEquipoDto,id_equipo:number){
|
||||
const updateData={
|
||||
lugar: equipoNuevo.lugar,
|
||||
modelo: equipoNuevo.modelo,
|
||||
estado: equipoNuevo.id_estado ? { id_estado: equipoNuevo.id_estado } : undefined,
|
||||
adscripcion: equipoNuevo.id_adscripcion ? { id_adscripcion: equipoNuevo.id_adscripcion } : undefined,
|
||||
sistemaOperativo: equipoNuevo.id_sistema_operativo ? { id_sistema_operativo: equipoNuevo.id_sistema_operativo } : undefined,
|
||||
procesador: equipoNuevo.id_procesador ? { id_procesador: equipoNuevo.id_procesador } : undefined,
|
||||
tipoUso: equipoNuevo.id_tipo_uso ? { id_tipo_uso: equipoNuevo.id_tipo_uso } : undefined,
|
||||
marca: equipoNuevo.id_marca ? { id_marca: equipoNuevo.id_marca } : undefined,
|
||||
};
|
||||
async updateEquipo(equipoNuevo: UpdateEquipoDto, id_equipo: number) {
|
||||
const updateData = {
|
||||
lugar: equipoNuevo.lugar,
|
||||
modelo: equipoNuevo.modelo,
|
||||
estado: equipoNuevo.id_estado
|
||||
? { id_estado: equipoNuevo.id_estado }
|
||||
: undefined,
|
||||
adscripcion: equipoNuevo.id_adscripcion
|
||||
? { id_adscripcion: equipoNuevo.id_adscripcion }
|
||||
: undefined,
|
||||
sistemaOperativo: equipoNuevo.id_sistema_operativo
|
||||
? { id_sistema_operativo: equipoNuevo.id_sistema_operativo }
|
||||
: undefined,
|
||||
procesador: equipoNuevo.id_procesador
|
||||
? { id_procesador: equipoNuevo.id_procesador }
|
||||
: undefined,
|
||||
tipoUso: equipoNuevo.id_tipo_uso
|
||||
? { id_tipo_uso: equipoNuevo.id_tipo_uso }
|
||||
: undefined,
|
||||
marca: equipoNuevo.id_marca
|
||||
? { id_marca: equipoNuevo.id_marca }
|
||||
: undefined,
|
||||
};
|
||||
|
||||
const equipoUpdate=await this.equipoRepository.preload(updateData);
|
||||
|
||||
if(!equipoUpdate){
|
||||
throw new Error(`No se encontró el equipo con id ${id_equipo}`);
|
||||
const equipoUpdate = await this.equipoRepository.preload(updateData);
|
||||
|
||||
if (!equipoUpdate) {
|
||||
throw new Error(`No se encontró el equipo con id ${id_equipo}`);
|
||||
}
|
||||
return await this.equipoRepository.save(equipoUpdate);
|
||||
}
|
||||
return await this.equipoRepository.save(equipoUpdate);
|
||||
|
||||
}
|
||||
findAllUsos() {
|
||||
return this.usoRepo.find();
|
||||
}
|
||||
|
||||
findAllMarcas() {
|
||||
return this.marcaRepo.find();
|
||||
}
|
||||
|
||||
findAllEstados() {
|
||||
return this.estadoRepo.find();
|
||||
}
|
||||
|
||||
findAllAdscripciones() {
|
||||
return this.adscripcionRepo.find();
|
||||
}
|
||||
|
||||
findAllTiposEquipo() {
|
||||
return this.tipoEquipoRepo.find();
|
||||
}
|
||||
|
||||
findAllSistemasOperativos() {
|
||||
return this.sistemaOperativoRepo.find();
|
||||
}
|
||||
|
||||
findAllProcesadores() {
|
||||
return this.procesadorRepo.find();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,22 +1,20 @@
|
||||
import { Controller, Get, Post, Body, Patch, Param, Delete, UseGuards } from '@nestjs/common';
|
||||
import { Controller, Post, Body } from '@nestjs/common';
|
||||
import { UsuariosService } from './usuarios.service';
|
||||
import { CreateUsuarioDto } from './dto/create-usuario.dto';
|
||||
import { UpdateUsuarioDto } from './dto/update-usuario.dto';
|
||||
import { AuthGuard } from '@nestjs/passport';
|
||||
|
||||
@Controller('usuarios')
|
||||
export class UsuariosController {
|
||||
constructor(private readonly usuariosService: UsuariosService) {}
|
||||
constructor(private readonly usuariosService: UsuariosService
|
||||
) {}
|
||||
|
||||
@Post()
|
||||
create(@Body() createUsuarioDto: CreateUsuarioDto) {
|
||||
return this.usuariosService.create(createUsuarioDto);
|
||||
}
|
||||
|
||||
@Get()
|
||||
@UseGuards(AuthGuard("jwt"))
|
||||
findAll() {
|
||||
return this.usuariosService.findAll();
|
||||
@Post()
|
||||
createUser(@Body() tipoUsuario :string){
|
||||
return this.usuariosService.createUser(tipoUsuario);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12,20 +12,3 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
|
||||
})
|
||||
export class UsuariosModule {}
|
||||
/*
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { Usuario } from './entities/usuario.entity';
|
||||
import { UsuariosService } from './usuarios.service';
|
||||
import { UsuariosController } from './usuarios.controller';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([Usuario])],
|
||||
providers: [UsuariosService],
|
||||
controllers: [UsuariosController],
|
||||
exports: [UsuariosService],
|
||||
})
|
||||
export class UsuariosModule {}
|
||||
|
||||
|
||||
*/
|
||||
@@ -1,14 +1,17 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { CreateUsuarioDto } from './dto/create-usuario.dto';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Usuario } from './entities/usuario.entity';
|
||||
import { Tipo_Usuario, Usuario } from './entities/usuario.entity';
|
||||
import { Repository } from 'typeorm';
|
||||
|
||||
@Injectable()
|
||||
export class UsuariosService {
|
||||
constructor(
|
||||
@InjectRepository(Usuario)
|
||||
private readonly usuarioRepository: Repository<Usuario>
|
||||
private readonly usuarioRepository: Repository<Usuario>,
|
||||
|
||||
@InjectRepository(Tipo_Usuario)
|
||||
private readonly tipoUsuarioRepository: Repository<Tipo_Usuario>
|
||||
){}
|
||||
async create(createUsuarioDto: CreateUsuarioDto) {
|
||||
|
||||
@@ -26,16 +29,13 @@ export class UsuariosService {
|
||||
return await this.usuarioRepository.findOne({where:{nombre}});
|
||||
}
|
||||
|
||||
async remove(id:number) {
|
||||
return await this.usuarioRepository.delete(id);
|
||||
async createUser(tipoUsuario:string){
|
||||
let user=await this.tipoUsuarioRepository.create({
|
||||
tipo_usuario:tipoUsuario
|
||||
})
|
||||
return await this.tipoUsuarioRepository.save(user)
|
||||
}
|
||||
|
||||
|
||||
|
||||
findAll() {
|
||||
return this.usuarioRepository.find();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user