Files
pdi_api/src/comentarios/comentarios.service.ts
T
2024-09-20 21:37:37 -06:00

55 lines
1.6 KiB
TypeScript

import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository, UpdateResult } from 'typeorm';
import { ComentarioDTO } from '../dtos/comentarioDTO';
import { ComentarioLineasProgramaticas } from '../entities/comentarioLineasProgramaticas.entity';
@Injectable()
export class ComentariosService {
constructor(
@InjectRepository(ComentarioLineasProgramaticas)
private comentariosRepository: Repository<ComentarioLineasProgramaticas>,
) {}
findComentarios(): Promise<ComentarioLineasProgramaticas[]> {
return this.comentariosRepository.find({});
}
findComentariosById(
userId: number,
): Promise<ComentarioLineasProgramaticas[]> {
return this.comentariosRepository.find({
relations: ['ejeEstrategico', 'lineaProgramatica'],
select: {
ejeEstrategico: {
id: true,
},
lineaProgramatica: {
id: true,
},
},
where: { usuario: { id: userId } },
});
}
addComentarios(
comentario: ComentarioDTO,
): Promise<ComentarioLineasProgramaticas> {
return this.comentariosRepository.save({
comentario: comentario.comentario,
lineaProgramatica: { id: comentario.linea_programatica_id },
usuario: { id: comentario.usuario_id },
ejeEstrategico: { id: comentario.eje_estrategico_id },
});
}
updateComentarios(comentario: ComentarioDTO): Promise<UpdateResult> {
return this.comentariosRepository.update(
{ id: comentario.id, usuario: { id: comentario.usuario_id } },
{
comentario: comentario.comentario,
},
);
}
}