folder structure

This commit is contained in:
Julian Krauser 2025-01-05 14:14:00 +01:00
parent 5d3f8ea46a
commit 84e2ec72ac
242 changed files with 635 additions and 635 deletions

View file

@ -0,0 +1,43 @@
import { dataSource } from "../../../data-source";
import { newsletter } from "../../../entity/club/newsletter/newsletter";
import InternalException from "../../../exceptions/internalException";
export default abstract class NewsletterService {
/**
* @description get all newsletters
* @returns {Promise<[Array<newsletter>, number]>}
*/
static async getAll(offset: number = 0, count: number = 25): Promise<[Array<newsletter>, number]> {
return await dataSource
.getRepository(newsletter)
.createQueryBuilder("newsletter")
.offset(offset)
.limit(count)
.getManyAndCount()
.then((res) => {
return res;
})
.catch((err) => {
throw new InternalException("newsletters not found", err);
});
}
/**
* @description get newsletter by id
* @returns {Promise<newsletter>}
*/
static async getById(id: number): Promise<newsletter> {
return await dataSource
.getRepository(newsletter)
.createQueryBuilder("newsletter")
.leftJoinAndSelect("newsletter.recipientsByQuery", "query")
.where("newsletter.id = :id", { id: id })
.getOneOrFail()
.then((res) => {
return res;
})
.catch((err) => {
throw new InternalException("newsletter not found by id", err);
});
}
}