split in env required and dynamic values
This commit is contained in:
parent
f32143b7ac
commit
730c25a9a1
35 changed files with 491 additions and 198 deletions
|
@ -1,11 +1,9 @@
|
|||
import { Brackets, Like, SelectQueryBuilder } from "typeorm";
|
||||
import { dataSource } from "../../../data-source";
|
||||
import { member } from "../../../entity/club/member/member";
|
||||
import { membership } from "../../../entity/club/member/membership";
|
||||
import DatabaseActionException from "../../../exceptions/databaseActionException";
|
||||
import InternalException from "../../../exceptions/internalException";
|
||||
import { memberView } from "../../../views/memberView";
|
||||
import { SettingHelper } from "../../../helpers/settingsHelper";
|
||||
import { DB_TYPE } from "../../../env.defaults";
|
||||
|
||||
export default abstract class MemberService {
|
||||
/**
|
||||
|
@ -169,7 +167,7 @@ export default abstract class MemberService {
|
|||
"member.firstMembershipEntry",
|
||||
"member.memberships",
|
||||
"membership_first",
|
||||
SettingHelper.getEnvSetting("database.type") == "postgres"
|
||||
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)"
|
||||
)
|
||||
|
@ -177,7 +175,7 @@ export default abstract class MemberService {
|
|||
"member.lastMembershipEntry",
|
||||
"member.memberships",
|
||||
"membership_last",
|
||||
SettingHelper.getEnvSetting("database.type") == "postgres"
|
||||
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)"
|
||||
)
|
||||
|
|
43
src/service/settingService.ts
Normal file
43
src/service/settingService.ts
Normal file
|
@ -0,0 +1,43 @@
|
|||
import { dataSource } from "../data-source";
|
||||
import { setting } from "../entity/setting";
|
||||
import InternalException from "../exceptions/internalException";
|
||||
import { SettingString } from "../type/settingTypes";
|
||||
|
||||
export default abstract class SettingService {
|
||||
/**
|
||||
* @description get settings
|
||||
* @returns {Promise<setting[]>}
|
||||
*/
|
||||
static async getSettings(): Promise<setting[]> {
|
||||
return await dataSource
|
||||
.getRepository(setting)
|
||||
.createQueryBuilder("setting")
|
||||
.getMany()
|
||||
.then((res) => {
|
||||
return res;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("setting not found", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description get setting
|
||||
* @param token SettingString
|
||||
* @returns {Promise<setting>}
|
||||
*/
|
||||
static async getBySettingString(key: SettingString): Promise<setting> {
|
||||
return await dataSource
|
||||
.getRepository(setting)
|
||||
.createQueryBuilder("setting")
|
||||
.where("setting.topic = :topic", { topic: key.split(".")[0] })
|
||||
.andWhere("setting.key >= :key", { key: key.split(".")[1] })
|
||||
.getOneOrFail()
|
||||
.then((res) => {
|
||||
return res;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("setting not found", err);
|
||||
});
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue