added Login

This commit is contained in:
2025-09-10 16:39:44 -04:00
parent d73c0cf4e7
commit d9afbcd1e9
4 changed files with 54 additions and 31 deletions
+48 -1
View File
@@ -1 +1,48 @@
export class Student {}
import { Column, Entity, PrimaryColumn } from "typeorm";
@Entity({ name: 'alumno' })
export class Student {
@PrimaryColumn({ name: 'id_cuenta', type: 'int', unsigned: true })
id_cuenta: number;
@Column({ name: 'nombre', type: 'varchar', length: 300, nullable: false })
nombre: string;
@Column({ name: 'fecha_nacimiento', type: 'varchar', length: 8, nullable: true })
fecha_nacimiento: string | null;
@Column({ name: 'correo', type: 'varchar', length: 100, nullable: true })
correo: string | null;
@Column({ name: 'credito', type: 'decimal', precision: 10, scale: 2, default: 0.00 })
credito: string;
@Column({
name: 'fecha_actualizacion_credito',
type: 'timestamp',
default: () => 'CURRENT_TIMESTAMP',
onUpdate: 'CURRENT_TIMESTAMP',
})
fecha_actualizacion_credito: Date;
@Column({
name: 'vigente',
type: 'enum',
enum: ['si', 'no'],
default: 'si',
})
vigente: 'si' | 'no';
@Column({ name: 'id_periodo', type: 'int', nullable: true })
id_periodo: number | null;
@Column({ name: 'fecha_registro', type: 'datetime', nullable: false })
fecha_registro: Date;
@Column({ name: 'id_carrera', type: 'int', nullable: false })
id_carrera: number;
@Column({ name: 'generacion', type: 'int', width: 4, nullable: true })
generacion: number | null;
}
+1 -1
View File
@@ -3,7 +3,7 @@ import { IsString } from "class-validator";
export class CreateUserDto {
@IsString()
username:string
usuario:string
@IsString()
password:string
-5
View File
@@ -7,11 +7,6 @@ import { UpdateUserDto } from './dto/update-user.dto';
export class UserController {
constructor(private readonly userService: UserService) {}
@Get()
findAll() {
return this.userService.findAll();
}
@Post()
Login(@Body() user: CreateUserDto) {
return this.userService.Login(user);
+5 -24
View File
@@ -12,45 +12,26 @@ export class UserService {
private userRepository: Repository<User>,
) { }
create(createUserDto: CreateUserDto) {
return 'This action adds a new user';
}
async findOneByNameandPassword(data:CreateUserDto): Promise<User> {
findAll() {
return `This action returns all user`;
}
async findOneByName(nombre: string): Promise<User> {
const { usuario, password } = data
const user = await this.userRepository.findOne({
where: { nombre }
where: { usuario,password }
})
if (!user) {
throw new NotFoundException(
`El usuario ${nombre} no fue encontrado`,
`El usuario ${usuario} no fue encontrado`,
);
}
return user;
}
update(id: number, updateUserDto: UpdateUserDto) {
return `This action updates a #${id} user`;
}
remove(id: number) {
return `This action removes a #${id} user`;
}
async Login(data: CreateUserDto) {
const { username } = data
if (!username) {
throw new UnauthorizedException('Credenciales inválidas.');
}
const user = await this.findOneByName(username)
const user = await this.findOneByNameandPassword(data);
return user
}