2024-12-18 12:55:03 +01:00
|
|
|
import { DataSource, ViewColumn, ViewEntity } from "typeorm";
|
2025-01-05 14:14:00 +01:00
|
|
|
import { member } from "../entity/club/member/member";
|
2024-12-18 12:55:03 +01:00
|
|
|
import { Salutation } from "../enums/salutation";
|
|
|
|
|
|
|
|
@ViewEntity({
|
|
|
|
expression: (datasource: DataSource) =>
|
|
|
|
datasource
|
|
|
|
.getRepository(member)
|
|
|
|
.createQueryBuilder("member")
|
2024-12-18 22:27:33 +01:00
|
|
|
.select("member.id", "id")
|
|
|
|
.addSelect("member.salutation", "salutation")
|
|
|
|
.addSelect("member.firstname", "firstname")
|
|
|
|
.addSelect("member.lastname", "lastname")
|
|
|
|
.addSelect("member.nameaffix", "nameaffix")
|
|
|
|
.addSelect("member.birthdate", "birthdate")
|
2024-12-18 12:55:03 +01:00
|
|
|
.addSelect("TIMESTAMPDIFF(YEAR, member.birthdate, CURDATE())", "todayAge")
|
2025-01-05 16:09:39 +01:00
|
|
|
.addSelect("YEAR(CURDATE()) - YEAR(member.birthdate)", "ageThisYear")
|
|
|
|
.addSelect("CONCAT('_', FROM_DAYS(TIMESTAMPDIFF(DAY, member.birthdate, CURDATE())))", "exactAge"),
|
2024-12-18 12:55:03 +01:00
|
|
|
})
|
|
|
|
export class memberView {
|
|
|
|
@ViewColumn()
|
|
|
|
id: number;
|
|
|
|
|
|
|
|
@ViewColumn()
|
|
|
|
salutation: Salutation;
|
|
|
|
|
|
|
|
@ViewColumn()
|
|
|
|
firstname: string;
|
|
|
|
|
|
|
|
@ViewColumn()
|
|
|
|
lastname: string;
|
|
|
|
|
|
|
|
@ViewColumn()
|
|
|
|
nameaffix: string;
|
|
|
|
|
|
|
|
@ViewColumn()
|
|
|
|
birthdate: Date;
|
|
|
|
|
|
|
|
@ViewColumn()
|
|
|
|
todayAge: number;
|
|
|
|
|
|
|
|
@ViewColumn()
|
|
|
|
ageThisYear: number;
|
2025-01-05 16:09:39 +01:00
|
|
|
|
|
|
|
@ViewColumn()
|
2025-01-21 14:49:14 +01:00
|
|
|
exactAge: string;
|
2024-12-18 12:55:03 +01:00
|
|
|
}
|