Merge pull request 'patches v1.3.4' (#62) from develop into main

Reviewed-on: #62
This commit is contained in:
Julian Krauser 2025-02-09 16:25:57 +00:00
commit c787761335
6 changed files with 24 additions and 8 deletions

View file

@ -38,7 +38,7 @@ BACKUP_COPIES = number of parallel copies # default 7
BACKUP_AUTO_RESTORE = (true|false) # default ist true BACKUP_AUTO_RESTORE = (true|false) # default ist true
USE_SECURITY_STRICT_LIMIT = (true|false) # default ist true USE_SECURITY_STRICT_LIMIT = (true|false) # default ist true
SECURITY_STRICT_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 15 SECURITY_STRICT_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 15m
SECURITY_STRICT_LIMIT_REQUEST_COUNT = strict_request_count # default ist 15 SECURITY_STRICT_LIMIT_REQUEST_COUNT = strict_request_count # default ist 15
USE_SECURITY_LIMIT = (true|false) # default ist true USE_SECURITY_LIMIT = (true|false) # default ist true
SECURITY_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 1m SECURITY_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 1m

View file

@ -45,6 +45,13 @@ services:
- BACKUP_INTERVAL=<number of days (min. 1)> # alle x Tage, sonst keine - BACKUP_INTERVAL=<number of days (min. 1)> # alle x Tage, sonst keine
- BACKUP_COPIES=<number of parallel copies> # Anzahl parallel bestehender Backups - BACKUP_COPIES=<number of parallel copies> # Anzahl parallel bestehender Backups
- BACKUP_AUTO_RESTORE=<boolean> # default ist auf true gesetzt - BACKUP_AUTO_RESTORE=<boolean> # default ist auf true gesetzt
- USE_SECURITY_STRICT_LIMIT = (true|false) # default ist true
- SECURITY_STRICT_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 15
- SECURITY_STRICT_LIMIT_REQUEST_COUNT = strict_request_count # default ist 15
- USE_SECURITY_LIMIT = (true|false) # default ist true
- SECURITY_LIMIT_WINDOW = [0-9]*(y|d|h|m|s) # default ist 1m
- SECURITY_LIMIT_REQUEST_COUNT = request_count # default ist 500
- TRUST_PROXY = <boolean|number|ip|ip1,ip2,...> # wenn leer, wird dieser Wert nicht angewendet.
volumes: volumes:
- <volume|local path>:/app/files - <volume|local path>:/app/files
networks: networks:

View file

@ -141,9 +141,9 @@ export abstract class NewsletterHelper {
} }
} }
let members = await MemberService.getAll({ noLimit: true }); let members = await MemberService.getAll({ noLimit: true, ids: queryMemberIds });
console.log(members);
return members[0].filter((m) => queryMemberIds.includes(m.id)); return members[0];
} }
public static getICSFilePath(newsletter: newsletter) { public static getICSFilePath(newsletter: newsletter) {
@ -253,7 +253,13 @@ export abstract class NewsletterHelper {
for (const [index, rec] of [ for (const [index, rec] of [
...pdfRecipients, ...pdfRecipients,
{ id: "0", firstname: "Alle Mitglieder", lastname: CLUB_NAME } as member, {
id: "0",
firstname: "Alle Mitglieder",
lastname: CLUB_NAME,
nameaffix: "",
salutation: { salutation: "" },
} as member,
].entries()) { ].entries()) {
let data = this.buildData(newsletter, dates, rec, printWithAdress.includes(rec.sendNewsletter?.type?.id)); let data = this.buildData(newsletter, dates, rec, printWithAdress.includes(rec.sendNewsletter?.type?.id));

View file

@ -56,6 +56,9 @@ export default abstract class CommunicationService {
static getAvailableColumnsForCommunication(): Array<string> { static getAvailableColumnsForCommunication(): Array<string> {
let metadata = dataSource.getMetadata(communication); let metadata = dataSource.getMetadata(communication);
let columns = metadata.columns.map((c) => c.propertyName); let columns = metadata.columns.map((c) => c.propertyName);
return columns.filter((c) => !["id", "preferred", "isSMSAlarming", "type", "member"].includes(c)); return columns.filter(
(c) =>
!["id", "preferred", "isSMSAlarming", "isSendNewsletter", "typeId", "memberId", "type", "member"].includes(c)
);
} }
} }

View file

@ -135,7 +135,7 @@ export default abstract class MemberService {
"member.sendNewsletter", "member.sendNewsletter",
"member.communications", "member.communications",
"sendNewsletter", "sendNewsletter",
"sendNewsletter.isSendNewsletter = 1" "sendNewsletter.isSendNewsletter = true"
) )
.where("member.id = :id", { id: id }) .where("member.id = :id", { id: id })
.getOneOrFail() .getOneOrFail()

View file

@ -18,7 +18,7 @@ export default abstract class NewsletterRecipientsService {
"member.sendNewsletter", "member.sendNewsletter",
"member.communications", "member.communications",
"sendNewsletter", "sendNewsletter",
"sendNewsletter.isSendNewsletter = 1" "sendNewsletter.isSendNewsletter = true"
) )
.leftJoinAndSelect("member.salutation", "salutation") .leftJoinAndSelect("member.salutation", "salutation")
.leftJoinAndSelect("sendNewsletter.type", "communicationtype") .leftJoinAndSelect("sendNewsletter.type", "communicationtype")