member and membership statistics
This commit is contained in:
parent
0bbe22e9ae
commit
07d31bfe7d
10 changed files with 183 additions and 36 deletions
|
@ -2,6 +2,7 @@ import { dataSource } from "../../../data-source";
|
|||
import { member } from "../../../entity/club/member/member";
|
||||
import { membership } from "../../../entity/club/member/membership";
|
||||
import InternalException from "../../../exceptions/internalException";
|
||||
import { memberView } from "../../../views/memberView";
|
||||
|
||||
export default abstract class MemberService {
|
||||
/**
|
||||
|
@ -132,6 +133,25 @@ export default abstract class MemberService {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get member statistics by id
|
||||
* @param {number} id
|
||||
* @returns {Promise<memberView>}
|
||||
*/
|
||||
static async getStatisticsById(id: number): Promise<memberView> {
|
||||
return await dataSource
|
||||
.getRepository(memberView)
|
||||
.createQueryBuilder("memberView")
|
||||
.where("memberView.id = :id", { id: id })
|
||||
.getOneOrFail()
|
||||
.then((res) => {
|
||||
return res;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("memberView not found by id", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get members where membership is setz
|
||||
* @returns {Promise<member>}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { dataSource } from "../../../data-source";
|
||||
import { membership } from "../../../entity/club/member/membership";
|
||||
import InternalException from "../../../exceptions/internalException";
|
||||
import { membershipView } from "../../../views/membershipsView";
|
||||
|
||||
export default abstract class MembershipService {
|
||||
/**
|
||||
|
@ -45,4 +46,23 @@ export default abstract class MembershipService {
|
|||
throw new InternalException("member membership not found by id", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get membership statistics by memberId
|
||||
* @param {number} memberId
|
||||
* @returns {Promise<membershipView>}
|
||||
*/
|
||||
static async getStatisticsById(memberId: number): Promise<membershipView> {
|
||||
return await dataSource
|
||||
.getRepository(membershipView)
|
||||
.createQueryBuilder("membershipView")
|
||||
.where("membershipView.memberId = :memberId", { memberId: memberId })
|
||||
.getOneOrFail()
|
||||
.then((res) => {
|
||||
return res;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("membershipView not found by id", err);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue