Files
api-AT/src/bitacora_mesa/bitacora_mesa.service.ts
T
2026-01-27 12:26:22 -06:00

46 lines
1.4 KiB
TypeScript

import { Injectable, NotFoundException } from '@nestjs/common';
import { CreateBitacoraMesaDto } from './dto/create-bitacora_mesa.dto';
import { InjectRepository } from '@nestjs/typeorm';
import { BitacoraMesa } from './entities/bitacora_mesa.entity';
import { Repository } from 'typeorm';
@Injectable()
export class BitacoraMesaService {
constructor(
@InjectRepository(BitacoraMesa)
private readonly bitacoraMesaRepository: Repository<BitacoraMesa>,
) {}
create(createBitacoraMesaDto: CreateBitacoraMesaDto) {
return 'This action adds a new bitacoraMesa';
}
findAll() {
return this.bitacoraMesaRepository.find({
relations: ['mesa', 'alumno_inscrito'],
take: 100,
});
}
findOne(id: number) {
return `This action returns a #${id} bitacoraMesa`;
}
async findByCuenta(id_cuenta: number) {
const student = await this.bitacoraMesaRepository
.createQueryBuilder('bitacora')
.leftJoinAndSelect('bitacora.alumno_inscrito', 'alumnoInscrito')
.leftJoinAndSelect('alumnoInscrito.alumno', 'alumno')
.leftJoinAndSelect('alumno.carrera', 'carrera')
.leftJoinAndSelect('bitacora.mesa', 'mesa')
.where('alumno.id_cuenta = :id_cuenta', { id_cuenta })
.orderBy('bitacora.tiempo_entrada', 'DESC')
.getOne();
if (!student) {
throw new NotFoundException('alumno sin mesa');
}
return student;
}
}