sms alarming flag
This commit is contained in:
parent
1d73a15227
commit
5c68f0c54f
14 changed files with 90 additions and 3 deletions
|
@ -56,6 +56,6 @@ export default abstract class CommunicationService {
|
|||
static getAvailableColumnsForCommunication(): Array<string> {
|
||||
let metadata = dataSource.getMetadata(communication);
|
||||
let columns = metadata.columns.map((c) => c.propertyName);
|
||||
return columns.filter((c) => !["id", "preferred", "type", "member"].includes(c));
|
||||
return columns.filter((c) => !["id", "preferred", "isSMSAlarming", "type", "member"].includes(c));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,8 @@ export default abstract class MemberService {
|
|||
"preferredCommunication.preferred = 1"
|
||||
)
|
||||
.leftJoinAndSelect("preferredCommunication.type", "communicationtype_preferred")
|
||||
.leftJoinAndMapMany("member.smsAlarming", "member.communications", "smsAlarming", "smsAlarming.isSMSAlarming = 1")
|
||||
.leftJoinAndSelect("smsAlarming.type", "communicationtype_smsAlarming")
|
||||
.offset(offset)
|
||||
.limit(count)
|
||||
.orderBy("member.lastname")
|
||||
|
@ -52,7 +54,7 @@ export default abstract class MemberService {
|
|||
/**
|
||||
* @description get member by id
|
||||
* @param {number} id
|
||||
* @returns {Promise<Array<member>>}
|
||||
* @returns {Promise<member>}
|
||||
*/
|
||||
static async getById(id: number): Promise<member> {
|
||||
return await dataSource
|
||||
|
@ -80,6 +82,9 @@ export default abstract class MemberService {
|
|||
"preferredCommunication",
|
||||
"preferredCommunication.preferred = 1"
|
||||
)
|
||||
|
||||
.leftJoinAndMapMany("member.smsAlarming", "member.communications", "smsAlarming", "smsAlarming.isSMSAlarming = 1")
|
||||
.leftJoinAndSelect("smsAlarming.type", "communicationtype_smsAlarming")
|
||||
.leftJoinAndSelect("preferredCommunication.type", "communicationtype_preferred")
|
||||
.where("member.id = :id", { id: id })
|
||||
.getOneOrFail()
|
||||
|
@ -90,4 +95,24 @@ export default abstract class MemberService {
|
|||
throw new InternalException("member not found by id", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get newsletter by member by id
|
||||
* @param {number} id
|
||||
* @returns {Promise<member>}
|
||||
*/
|
||||
static async getNewsletterById(id: number): Promise<member> {
|
||||
return await dataSource
|
||||
.getRepository(member)
|
||||
.createQueryBuilder("member")
|
||||
.leftJoinAndSelect("member.sendNewsletter", "sendNewsletter")
|
||||
.where("member.id = :id", { id: id })
|
||||
.getOneOrFail()
|
||||
.then((res) => {
|
||||
return res;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("member not found by id", err);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue