2025-01-05 14:14:00 +01:00
|
|
|
import { newsletter } from "../../../../entity/club/newsletter/newsletter";
|
|
|
|
import { NewsletterViewModel } from "../../../../viewmodel/admin/club/newsletter/newsletter.models";
|
2025-02-15 10:59:54 +01:00
|
|
|
import QueryStoreFactory from "../../configuration/queryStore";
|
2024-12-25 12:22:28 +01:00
|
|
|
|
|
|
|
export default abstract class NewsletterFactory {
|
|
|
|
/**
|
|
|
|
* @description map record to newsletter
|
|
|
|
* @param {newsletter} record
|
|
|
|
* @returns {NewsletterViewModel}
|
|
|
|
*/
|
|
|
|
public static mapToSingle(record: newsletter): NewsletterViewModel {
|
|
|
|
return {
|
|
|
|
id: record.id,
|
|
|
|
title: record.title,
|
|
|
|
description: record.description,
|
|
|
|
newsletterTitle: record.newsletterTitle,
|
|
|
|
newsletterText: record.newsletterText,
|
|
|
|
newsletterSignatur: record.newsletterSignatur,
|
|
|
|
isSent: record.isSent,
|
2024-12-26 12:34:31 +01:00
|
|
|
recipientsByQueryId: record?.recipientsByQuery ? record.recipientsByQuery.id : null,
|
2024-12-25 12:22:28 +01:00
|
|
|
recipientsByQuery: record?.recipientsByQuery ? QueryStoreFactory.mapToSingle(record.recipientsByQuery) : null,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @description map records to newsletter
|
|
|
|
* @param {Array<newsletter>} records
|
|
|
|
* @returns {Array<NewsletterViewModel>}
|
|
|
|
*/
|
|
|
|
public static mapToBase(records: Array<newsletter>): Array<NewsletterViewModel> {
|
|
|
|
return records.map((r) => this.mapToSingle(r));
|
|
|
|
}
|
|
|
|
}
|