import { dataSource } from "../data-source"; import { memberQualifications } from "../entity/memberQualifications"; import InternalException from "../exceptions/internalException"; export default abstract class MemberQualificationService { /** * @description get all by member id * @param {number} memberId * @returns {Promise>} */ static async getAll(memberId: number): Promise> { return await dataSource .getRepository(memberQualifications) .createQueryBuilder("memberQualifications") .leftJoinAndSelect("memberQualifications.qualification", "qualification") .where("memberQualifications.memberId = :memberId", { memberId: memberId }) .getMany() .then((res) => { return res; }) .catch((err) => { throw new InternalException("member qualifications not found", err); }); } /** * @description get by memberId and recordId * @param {number} memberId * @param {number} recordId * @returns {Promise>} */ static async getById(memberId: number, recordId: number): Promise { return await dataSource .getRepository(memberQualifications) .createQueryBuilder("memberQualifications") .leftJoinAndSelect("memberQualifications.qualification", "qualification") .where("memberQualifications.memberId = :memberId", { memberId: memberId }) .andWhere("memberQualifications.id = :recordId", { recordId: recordId }) .getOneOrFail() .then((res) => { return res; }) .catch((err) => { throw new InternalException("member qualification not found by id", err); }); } }