diff --git a/src/service/club/member/memberService.ts b/src/service/club/member/memberService.ts index f970a9f..d9080c1 100644 --- a/src/service/club/member/memberService.ts +++ b/src/service/club/member/memberService.ts @@ -5,6 +5,7 @@ import { membership } from "../../../entity/club/member/membership"; import DatabaseActionException from "../../../exceptions/databaseActionException"; import InternalException from "../../../exceptions/internalException"; import { memberView } from "../../../views/memberView"; +import { DB_TYPE } from "../../../env.defaults"; export default abstract class MemberService { /** @@ -158,13 +159,17 @@ export default abstract class MemberService { "member.firstMembershipEntry", "member.memberships", "membership_first", - "membership_first.memberId = member.id AND membership_first.start = (SELECT MIN(m.start) FROM membership m WHERE m.memberId = member.id)" + DB_TYPE == "postgres" + ? 'membership_first.memberId = member.id AND membership_first.start = (SELECT MIN("m_first"."start") FROM "membership" "m_first" WHERE "m_first"."memberId" = "member"."id")' + : "membership_first.memberId = member.id AND membership_first.start = (SELECT MIN(m_first.start) FROM membership m_first WHERE m_first.memberId = member.id)" ) .leftJoinAndMapOne( "member.lastMembershipEntry", "member.memberships", "membership_last", - "membership_last.memberId = member.id AND membership_last.start = (SELECT MAX(m.start) FROM membership m WHERE m.memberId = member.id)" + DB_TYPE == "postgres" + ? 'membership_last.memberId = member.id AND membership_last.start = (SELECT MAX("m_last"."start") FROM "membership" "m_last" WHERE "m_last"."memberId" = "member"."id")' + : "membership_last.memberId = member.id AND membership_last.start = (SELECT MAX(m_last.start) FROM membership m_last WHERE m_last.memberId = member.id)" ) .leftJoinAndSelect("membership_first.status", "status_first") .leftJoinAndSelect("membership_last.status", "status_last") @@ -172,17 +177,22 @@ export default abstract class MemberService { "member.preferredCommunication", "member.communications", "preferredCommunication", - "preferredCommunication.preferred = 1" + "preferredCommunication.preferred = true" ) .leftJoinAndSelect("preferredCommunication.type", "communicationtype_preferred") .leftJoinAndMapOne( "member.sendNewsletter", "member.communications", "sendNewsletter", - "sendNewsletter.isSendNewsletter = 1" + "sendNewsletter.isSendNewsletter = true" ) .leftJoinAndSelect("sendNewsletter.type", "communicationtype") - .leftJoinAndMapMany("member.smsAlarming", "member.communications", "smsAlarming", "smsAlarming.isSMSAlarming = 1") + .leftJoinAndMapMany( + "member.smsAlarming", + "member.communications", + "smsAlarming", + "smsAlarming.isSMSAlarming = true" + ) .leftJoinAndSelect("smsAlarming.type", "communicationtype_smsAlarming") .leftJoinAndSelect("member.salutation", "salutation"); }