46 lines
1.4 KiB
TypeScript
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;
|
|
}
|
|
}
|