internal Id to member
This commit is contained in:
parent
cfefcd81d7
commit
0d2c7dd7f1
17 changed files with 101 additions and 20 deletions
|
@ -6,6 +6,7 @@ export interface CreateMemberCommand {
|
|||
lastname: string;
|
||||
nameaffix: string;
|
||||
birthdate: Date;
|
||||
internalId?: string;
|
||||
}
|
||||
|
||||
export interface UpdateMemberCommand {
|
||||
|
@ -15,6 +16,7 @@ export interface UpdateMemberCommand {
|
|||
lastname: string;
|
||||
nameaffix: string;
|
||||
birthdate: Date;
|
||||
internalId?: string;
|
||||
}
|
||||
|
||||
export interface UpdateMemberNewsletterCommand {
|
||||
|
|
|
@ -27,6 +27,7 @@ export default abstract class MemberCommandHandler {
|
|||
lastname: createMember.lastname,
|
||||
nameaffix: createMember.nameaffix,
|
||||
birthdate: createMember.birthdate,
|
||||
internalId: createMember.internalId,
|
||||
})
|
||||
.execute()
|
||||
.then((result) => {
|
||||
|
@ -53,6 +54,7 @@ export default abstract class MemberCommandHandler {
|
|||
lastname: updateMember.lastname,
|
||||
nameaffix: updateMember.nameaffix,
|
||||
birthdate: updateMember.birthdate,
|
||||
internalId: updateMember.internalId,
|
||||
})
|
||||
.where("id = :id", { id: updateMember.id })
|
||||
.execute()
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
export interface CreateMembershipCommand {
|
||||
internalId?: string;
|
||||
start: Date;
|
||||
memberId: number;
|
||||
statusId: number;
|
||||
|
@ -7,7 +6,6 @@ export interface CreateMembershipCommand {
|
|||
|
||||
export interface UpdateMembershipCommand {
|
||||
id: number;
|
||||
internalId?: string;
|
||||
start: Date;
|
||||
end?: Date;
|
||||
terminationReason?: string;
|
||||
|
|
|
@ -8,11 +8,11 @@ import { CreateMembershipCommand, DeleteMembershipCommand, UpdateMembershipComma
|
|||
export default abstract class MembershipCommandHandler {
|
||||
/**
|
||||
* @description create membership
|
||||
* @param CreateMembershipCommand
|
||||
* @param {CreateMembershipCommand} createMembership
|
||||
* @returns {Promise<number>}
|
||||
*/
|
||||
static async create(createMembership: CreateMembershipCommand): Promise<number> {
|
||||
let insertid = -1;
|
||||
let insertId = -1;
|
||||
return await dataSource
|
||||
.transaction(async (manager) => {
|
||||
await manager
|
||||
|
@ -20,7 +20,6 @@ export default abstract class MembershipCommandHandler {
|
|||
.insert()
|
||||
.into(membership)
|
||||
.values({
|
||||
internalId: createMembership.internalId,
|
||||
start: createMembership.start,
|
||||
member: await dataSource
|
||||
.getRepository(member)
|
||||
|
@ -35,7 +34,7 @@ export default abstract class MembershipCommandHandler {
|
|||
})
|
||||
.execute()
|
||||
.then((result) => {
|
||||
insertid = result.identifiers[0].id;
|
||||
insertId = result.identifiers[0].id;
|
||||
});
|
||||
|
||||
await manager
|
||||
|
@ -43,14 +42,15 @@ export default abstract class MembershipCommandHandler {
|
|||
.update(membership)
|
||||
.set({
|
||||
end: createMembership.start,
|
||||
terminationReason: "beendet durch neuen Eintrag.",
|
||||
})
|
||||
.where("end IS NULL")
|
||||
.andWhere("memberId = :memberId", { memberId: createMembership.memberId })
|
||||
.andWhere("id <> :id", { id: insertid })
|
||||
.andWhere("id <> :id", { id: insertId })
|
||||
.execute();
|
||||
})
|
||||
.then(() => {
|
||||
return insertid;
|
||||
return insertId;
|
||||
})
|
||||
.catch((err) => {
|
||||
throw new InternalException("Failed creating membership", err);
|
||||
|
@ -59,7 +59,7 @@ export default abstract class MembershipCommandHandler {
|
|||
|
||||
/**
|
||||
* @description update membership
|
||||
* @param UpdateMembershipCommand
|
||||
* @param {UpdateMembershipCommand} updateMembership
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
static async update(updateMembership: UpdateMembershipCommand): Promise<void> {
|
||||
|
@ -67,7 +67,6 @@ export default abstract class MembershipCommandHandler {
|
|||
.createQueryBuilder()
|
||||
.update(membership)
|
||||
.set({
|
||||
internalId: updateMembership.internalId,
|
||||
start: updateMembership.start,
|
||||
end: updateMembership.end,
|
||||
terminationReason: updateMembership.terminationReason,
|
||||
|
@ -88,16 +87,16 @@ export default abstract class MembershipCommandHandler {
|
|||
|
||||
/**
|
||||
* @description delete membership
|
||||
* @param DeleteMembershipCommand
|
||||
* @param {DeleteMembershipCommand} deleteMembership
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
static async delete(deletMembership: DeleteMembershipCommand): Promise<void> {
|
||||
static async delete(deleteMembership: DeleteMembershipCommand): Promise<void> {
|
||||
return await dataSource
|
||||
.createQueryBuilder()
|
||||
.delete()
|
||||
.from(membership)
|
||||
.where("id = :id", { id: deletMembership.id })
|
||||
.andWhere("memberId = :memberId", { memberId: deletMembership.memberId })
|
||||
.where("id = :id", { id: deleteMembership.id })
|
||||
.andWhere("memberId = :memberId", { memberId: deleteMembership.memberId })
|
||||
.execute()
|
||||
.then(() => {})
|
||||
.catch((err) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue