member routes and controller base
This commit is contained in:
parent
5fdfdcbd1f
commit
93e27ab440
15 changed files with 531 additions and 133 deletions
|
@ -38,23 +38,4 @@ export default abstract class AwardService {
|
|||
throw new InternalException("award not found by id", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get members assigned to award
|
||||
* @returns {Promise<Array<member>>}
|
||||
*/
|
||||
static async getMembersByAwardId(id: number): Promise<Array<member>> {
|
||||
return await dataSource
|
||||
.getRepository(award)
|
||||
.createQueryBuilder("award")
|
||||
.leftJoinAndSelect("award.members", "members")
|
||||
.where("award.id = :id", { id: id })
|
||||
.getOneOrFail()
|
||||
.then((res) => {
|
||||
return [];
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("award assigned members not found by id", err);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,24 +38,4 @@ export default abstract class ExecutivePositionService {
|
|||
throw new InternalException("executivePosition not found by id", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get members assigned to executivePosition
|
||||
* @returns {Promise<Array<memberExecutivePositions>>}
|
||||
*/
|
||||
static async getMembersByexecutivePositionId(id: number): Promise<Array<memberExecutivePositions>> {
|
||||
return await dataSource
|
||||
.getRepository(executivePosition)
|
||||
.createQueryBuilder("executivePosition")
|
||||
.leftJoinAndSelect("executivePosition.members", "memberExecutivePositions")
|
||||
.leftJoinAndSelect("memberExecutivePositions.member", "member")
|
||||
.where("executivePosition.id = :id", { id: id })
|
||||
.getOneOrFail()
|
||||
.then((res) => {
|
||||
return res.members;
|
||||
})
|
||||
.catch(() => {
|
||||
throw new InternalException("executivePosition assigned members not found by id");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
41
src/service/memberService.ts
Normal file
41
src/service/memberService.ts
Normal file
|
@ -0,0 +1,41 @@
|
|||
import { dataSource } from "../data-source";
|
||||
import { member } from "../entity/member";
|
||||
import InternalException from "../exceptions/internalException";
|
||||
|
||||
export default abstract class MemberService {
|
||||
/**
|
||||
* @description get all members
|
||||
* @returns {Promise<Array<member>>}
|
||||
*/
|
||||
static async getAll(): Promise<Array<member>> {
|
||||
return await dataSource
|
||||
.getRepository(member)
|
||||
.createQueryBuilder("member")
|
||||
.getMany()
|
||||
.then((res) => {
|
||||
return res;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("members not found", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get member by id
|
||||
* @param {number} id
|
||||
* @returns {Promise<Array<member>>}
|
||||
*/
|
||||
static async getById(id: number): Promise<member> {
|
||||
return await dataSource
|
||||
.getRepository(member)
|
||||
.createQueryBuilder("member")
|
||||
.where("member.id = :id", { id: id })
|
||||
.getOneOrFail()
|
||||
.then((res) => {
|
||||
return res;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("member not found by id", err);
|
||||
});
|
||||
}
|
||||
}
|
|
@ -38,27 +38,4 @@ export default abstract class MembershipStatusService {
|
|||
throw new InternalException("membershipStatus not found by id", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get active memberships assigned to membershipStatus
|
||||
* @returns {Promise<Array<membership>>}
|
||||
*/
|
||||
static async getMembersBymembershipStatusId(id: number): Promise<Array<membership>> {
|
||||
return await dataSource
|
||||
.getRepository(membershipStatus)
|
||||
.createQueryBuilder("membershipStatus")
|
||||
.leftJoinAndSelect("membershipStatus.memberships", "memberships")
|
||||
.leftJoinAndSelect("memberships.member", "member")
|
||||
.where("membershipStatus.id = :id", { id: id })
|
||||
.andWhere("membership.start <= :start", { start: new Date() })
|
||||
.andWhere("membership.end >= :end", { end: new Date() })
|
||||
.orWhere("membership.end IS NULL")
|
||||
.getOneOrFail()
|
||||
.then((res) => {
|
||||
return res.memberships;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("membershipStatus assigned members not found by id", err);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,24 +39,4 @@ export default abstract class QualificationService {
|
|||
throw new InternalException("qualification not found by id", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get members assigned to qualification
|
||||
* @returns {Promise<Array<memberQualifications>>}
|
||||
*/
|
||||
static async getMembersByqualificationId(id: number): Promise<Array<memberQualifications>> {
|
||||
return await dataSource
|
||||
.getRepository(qualification)
|
||||
.createQueryBuilder("qualification")
|
||||
.leftJoinAndSelect("qualification.members", "memberQualifications")
|
||||
.leftJoinAndSelect("memberQualifications.members", "members")
|
||||
.where("qualification.id = :id", { id: id })
|
||||
.getOneOrFail()
|
||||
.then((res) => {
|
||||
return res.members;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("qualification assigned members not found by id", err);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue