55 lines
1.6 KiB
TypeScript
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,
|
|
},
|
|
);
|
|
}
|
|
}
|