newsletter config CRUD

This commit is contained in:
Julian Krauser 2024-12-26 11:08:48 +01:00
parent 01ce3fdd39
commit 7d36ed3121
14 changed files with 274 additions and 1 deletions

View file

@ -0,0 +1,43 @@
import { dataSource } from "../data-source";
import { newsletterConfig } from "../entity/newsletterConfig";
import { member } from "../entity/member";
import InternalException from "../exceptions/internalException";
export default abstract class NewsletterConfigService {
/**
* @description get all newsletterConfigs
* @returns {Promise<Array<newsletterConfig>>}
*/
static async getAll(): Promise<Array<newsletterConfig>> {
return await dataSource
.getRepository(newsletterConfig)
.createQueryBuilder("newsletterConfig")
.leftJoinAndSelect("newsletterConfig.comType", "comType")
.getMany()
.then((res) => {
return res;
})
.catch((err) => {
throw new InternalException("newsletterConfigs not found", err);
});
}
/**
* @description get newsletterConfig by id
* @returns {Promise<newsletterConfig>}
*/
static async getByComId(comId: number): Promise<newsletterConfig> {
return await dataSource
.getRepository(newsletterConfig)
.createQueryBuilder("newsletterConfig")
.leftJoinAndSelect("newsletterConfig.comType", "comType")
.where("newsletterConfig.comTypId = :comTypId", { icomTypId: comId })
.getOneOrFail()
.then((res) => {
return res;
})
.catch((err) => {
throw new InternalException("newsletterConfig not found by cmId", err);
});
}
}

View file

@ -1,6 +1,5 @@
import { dataSource } from "../data-source";
import { newsletter } from "../entity/newsletter";
import { member } from "../entity/member";
import InternalException from "../exceptions/internalException";
export default abstract class NewsletterService {