mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
518 lines
16 KiB
TypeScript
518 lines
16 KiB
TypeScript
import { EventProtocol } from '@entity/EventProtocol'
|
|
import decimal from 'decimal.js-light'
|
|
import { EventProtocolType } from './EventProtocolType'
|
|
|
|
export class EventBasic {
|
|
type: string
|
|
createdAt: Date
|
|
}
|
|
export class EventBasicUserId extends EventBasic {
|
|
userId: number
|
|
}
|
|
|
|
export class EventBasicTx extends EventBasicUserId {
|
|
transactionId: number
|
|
amount: decimal
|
|
}
|
|
|
|
export class EventBasicTxX extends EventBasicTx {
|
|
xUserId: number
|
|
xCommunityId: number
|
|
}
|
|
|
|
export class EventBasicCt extends EventBasicUserId {
|
|
contributionId: number
|
|
amount: decimal
|
|
}
|
|
|
|
export class EventBasicCtX extends EventBasicCt {
|
|
xUserId: number
|
|
xCommunityId: number
|
|
}
|
|
|
|
export class EventBasicRedeem extends EventBasicUserId {
|
|
transactionId?: number
|
|
contributionId?: number
|
|
}
|
|
|
|
export class EventBasicCtMsg extends EventBasicCt {
|
|
messageId: number
|
|
}
|
|
|
|
export class EventVisitGradido extends EventBasic {}
|
|
export class EventRegister extends EventBasicUserId {}
|
|
export class EventRedeemRegister extends EventBasicRedeem {}
|
|
export class EventVerifyRedeem extends EventBasicRedeem {}
|
|
export class EventInactiveAccount extends EventBasicUserId {}
|
|
export class EventSendConfirmationEmail extends EventBasicUserId {}
|
|
export class EventSendAccountMultiRegistrationEmail extends EventBasicUserId {}
|
|
export class EventSendForgotPasswordEmail extends EventBasicUserId {}
|
|
export class EventSendTransactionSendEmail extends EventBasicTxX {}
|
|
export class EventSendTransactionReceiveEmail extends EventBasicTxX {}
|
|
export class EventSendTransactionLinkRedeemEmail extends EventBasicTxX {}
|
|
export class EventSendAddedContributionEmail extends EventBasicCt {}
|
|
export class EventSendContributionConfirmEmail extends EventBasicCt {}
|
|
export class EventConfirmationEmail extends EventBasicUserId {}
|
|
export class EventRegisterEmailKlicktipp extends EventBasicUserId {}
|
|
export class EventLogin extends EventBasicUserId {}
|
|
export class EventLogout extends EventBasicUserId {}
|
|
export class EventRedeemLogin extends EventBasicRedeem {}
|
|
export class EventActivateAccount extends EventBasicUserId {}
|
|
export class EventPasswordChange extends EventBasicUserId {}
|
|
export class EventTransactionSend extends EventBasicTxX {}
|
|
export class EventTransactionSendRedeem extends EventBasicTxX {}
|
|
export class EventTransactionRepeateRedeem extends EventBasicTxX {}
|
|
export class EventTransactionCreation extends EventBasicTx {}
|
|
export class EventTransactionReceive extends EventBasicTxX {}
|
|
export class EventTransactionReceiveRedeem extends EventBasicTxX {}
|
|
export class EventContributionCreate extends EventBasicCt {}
|
|
export class EventAdminContributionCreate extends EventBasicCt {}
|
|
export class EventAdminContributionDelete extends EventBasicCt {}
|
|
export class EventAdminContributionUpdate extends EventBasicCt {}
|
|
export class EventUserCreateContributionMessage extends EventBasicCtMsg {}
|
|
export class EventAdminCreateContributionMessage extends EventBasicCtMsg {}
|
|
export class EventContributionDelete extends EventBasicCt {}
|
|
export class EventContributionUpdate extends EventBasicCt {}
|
|
export class EventContributionConfirm extends EventBasicCtX {}
|
|
export class EventContributionDeny extends EventBasicCtX {}
|
|
export class EventContributionLinkDefine extends EventBasicCt {}
|
|
export class EventContributionLinkActivateRedeem extends EventBasicCt {}
|
|
export class EventDeleteUser extends EventBasicUserId {}
|
|
export class EventUndeleteUser extends EventBasicUserId {}
|
|
export class EventChangeUserRole extends EventBasicUserId {}
|
|
export class EventAdminUpdateContribution extends EventBasicCt {}
|
|
export class EventAdminDeleteContribution extends EventBasicCt {}
|
|
export class EventCreateContributionLink extends EventBasicCt {}
|
|
export class EventDeleteContributionLink extends EventBasicCt {}
|
|
export class EventUpdateContributionLink extends EventBasicCt {}
|
|
|
|
export class Event {
|
|
constructor()
|
|
constructor(event?: EventProtocol) {
|
|
if (event) {
|
|
this.id = event.id
|
|
this.type = event.type
|
|
this.createdAt = event.createdAt
|
|
this.userId = event.userId
|
|
this.xUserId = event.xUserId
|
|
this.xCommunityId = event.xCommunityId
|
|
this.transactionId = event.transactionId
|
|
this.contributionId = event.contributionId
|
|
this.amount = event.amount
|
|
}
|
|
}
|
|
|
|
public setEventBasic(): Event {
|
|
this.type = EventProtocolType.BASIC
|
|
this.createdAt = new Date()
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventVisitGradido(): Event {
|
|
this.setEventBasic()
|
|
this.type = EventProtocolType.VISIT_GRADIDO
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventRegister(ev: EventRegister): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.REGISTER
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventRedeemRegister(ev: EventRedeemRegister): Event {
|
|
this.setByBasicRedeem(ev.userId, ev.transactionId, ev.contributionId)
|
|
this.type = EventProtocolType.REDEEM_REGISTER
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventVerifyRedeem(ev: EventVerifyRedeem): Event {
|
|
this.setByBasicRedeem(ev.userId, ev.transactionId, ev.contributionId)
|
|
this.type = EventProtocolType.VERIFY_REDEEM
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventInactiveAccount(ev: EventInactiveAccount): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.INACTIVE_ACCOUNT
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventSendConfirmationEmail(ev: EventSendConfirmationEmail): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.SEND_CONFIRMATION_EMAIL
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventSendAccountMultiRegistrationEmail(
|
|
ev: EventSendAccountMultiRegistrationEmail,
|
|
): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.SEND_ACCOUNT_MULTIREGISTRATION_EMAIL
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventSendForgotPasswordEmail(ev: EventSendForgotPasswordEmail): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.SEND_FORGOT_PASSWORD_EMAIL
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventSendTransactionSendEmail(ev: EventSendTransactionSendEmail): Event {
|
|
this.setByBasicTxX(ev.userId, ev.transactionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.SEND_TRANSACTION_SEND_EMAIL
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventSendTransactionReceiveEmail(ev: EventSendTransactionReceiveEmail): Event {
|
|
this.setByBasicTxX(ev.userId, ev.transactionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.SEND_TRANSACTION_RECEIVE_EMAIL
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventSendTransactionLinkRedeemEmail(ev: EventSendTransactionLinkRedeemEmail): Event {
|
|
this.setByBasicTxX(ev.userId, ev.transactionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.SEND_TRANSACTION_LINK_REDEEM_EMAIL
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventSendAddedContributionEmail(ev: EventSendAddedContributionEmail): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.SEND_ADDED_CONTRIBUTION_EMAIL
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventSendContributionConfirmEmail(ev: EventSendContributionConfirmEmail): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.SEND_CONTRIBUTION_CONFIRM_EMAIL
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventConfirmationEmail(ev: EventConfirmationEmail): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.CONFIRM_EMAIL
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventRegisterEmailKlicktipp(ev: EventRegisterEmailKlicktipp): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.REGISTER_EMAIL_KLICKTIPP
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventLogin(ev: EventLogin): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.LOGIN
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventLogout(ev: EventLogout): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.LOGOUT
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventRedeemLogin(ev: EventRedeemLogin): Event {
|
|
this.setByBasicRedeem(ev.userId, ev.transactionId, ev.contributionId)
|
|
this.type = EventProtocolType.REDEEM_LOGIN
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventActivateAccount(ev: EventActivateAccount): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.ACTIVATE_ACCOUNT
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventPasswordChange(ev: EventPasswordChange): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.PASSWORD_CHANGE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventTransactionSend(ev: EventTransactionSend): Event {
|
|
this.setByBasicTxX(ev.userId, ev.transactionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.TRANSACTION_SEND
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventTransactionSendRedeem(ev: EventTransactionSendRedeem): Event {
|
|
this.setByBasicTxX(ev.userId, ev.transactionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.TRANSACTION_SEND_REDEEM
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventTransactionRepeateRedeem(ev: EventTransactionRepeateRedeem): Event {
|
|
this.setByBasicTxX(ev.userId, ev.transactionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.TRANSACTION_REPEATE_REDEEM
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventTransactionCreation(ev: EventTransactionCreation): Event {
|
|
this.setByBasicTx(ev.userId, ev.transactionId, ev.amount)
|
|
this.type = EventProtocolType.TRANSACTION_CREATION
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventTransactionReceive(ev: EventTransactionReceive): Event {
|
|
this.setByBasicTxX(ev.userId, ev.transactionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.TRANSACTION_RECEIVE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventTransactionReceiveRedeem(ev: EventTransactionReceiveRedeem): Event {
|
|
this.setByBasicTxX(ev.userId, ev.transactionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.TRANSACTION_RECEIVE_REDEEM
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventContributionCreate(ev: EventContributionCreate): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.CONTRIBUTION_CREATE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventAdminContributionCreate(ev: EventAdminContributionCreate): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.ADMIN_CONTRIBUTION_CREATE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventAdminContributionDelete(ev: EventAdminContributionDelete): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.ADMIN_CONTRIBUTION_DELETE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventAdminContributionUpdate(ev: EventAdminContributionUpdate): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.ADMIN_CONTRIBUTION_UPDATE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventUserCreateContributionMessage(ev: EventUserCreateContributionMessage): Event {
|
|
this.setByBasicCtMsg(ev.userId, ev.contributionId, ev.amount, ev.messageId)
|
|
this.type = EventProtocolType.USER_CREATE_CONTRIBUTION_MESSAGE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventAdminCreateContributionMessage(ev: EventAdminCreateContributionMessage): Event {
|
|
this.setByBasicCtMsg(ev.userId, ev.contributionId, ev.amount, ev.messageId)
|
|
this.type = EventProtocolType.ADMIN_CREATE_CONTRIBUTION_MESSAGE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventContributionDelete(ev: EventContributionDelete): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.CONTRIBUTION_DELETE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventContributionUpdate(ev: EventContributionUpdate): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.CONTRIBUTION_UPDATE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventContributionConfirm(ev: EventContributionConfirm): Event {
|
|
this.setByBasicCtX(ev.userId, ev.contributionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.CONTRIBUTION_CONFIRM
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventContributionDeny(ev: EventContributionDeny): Event {
|
|
this.setByBasicCtX(ev.userId, ev.contributionId, ev.amount, ev.xUserId, ev.xCommunityId)
|
|
this.type = EventProtocolType.CONTRIBUTION_DENY
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventContributionLinkDefine(ev: EventContributionLinkDefine): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.CONTRIBUTION_LINK_DEFINE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventContributionLinkActivateRedeem(ev: EventContributionLinkActivateRedeem): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.CONTRIBUTION_LINK_ACTIVATE_REDEEM
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventDeleteUser(ev: EventDeleteUser): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.DELETE_USER
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventUndeleteUser(ev: EventUndeleteUser): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.UNDELETE_USER
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventChangeUserRole(ev: EventChangeUserRole): Event {
|
|
this.setByBasicUser(ev.userId)
|
|
this.type = EventProtocolType.CHANGE_USER_ROLE
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventAdminUpdateContribution(ev: EventAdminUpdateContribution): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.ADMIN_UPDATE_CONTRIBUTION
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventAdminDeleteContribution(ev: EventAdminDeleteContribution): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.ADMIN_DELETE_CONTRIBUTION
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventCreateContributionLink(ev: EventCreateContributionLink): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.CREATE_CONTRIBUTION_LINK
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventDeleteContributionLink(ev: EventDeleteContributionLink): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.DELETE_CONTRIBUTION_LINK
|
|
|
|
return this
|
|
}
|
|
|
|
public setEventUpdateContributionLink(ev: EventUpdateContributionLink): Event {
|
|
this.setByBasicCt(ev.userId, ev.contributionId, ev.amount)
|
|
this.type = EventProtocolType.UPDATE_CONTRIBUTION_LINK
|
|
|
|
return this
|
|
}
|
|
|
|
setByBasicUser(userId: number): Event {
|
|
this.setEventBasic()
|
|
this.userId = userId
|
|
|
|
return this
|
|
}
|
|
|
|
setByBasicTx(userId: number, transactionId: number, amount: decimal): Event {
|
|
this.setByBasicUser(userId)
|
|
this.transactionId = transactionId
|
|
this.amount = amount
|
|
|
|
return this
|
|
}
|
|
|
|
setByBasicTxX(
|
|
userId: number,
|
|
transactionId: number,
|
|
amount: decimal,
|
|
xUserId: number,
|
|
xCommunityId: number,
|
|
): Event {
|
|
this.setByBasicTx(userId, transactionId, amount)
|
|
this.xUserId = xUserId
|
|
this.xCommunityId = xCommunityId
|
|
|
|
return this
|
|
}
|
|
|
|
setByBasicCt(userId: number, contributionId: number, amount: decimal): Event {
|
|
this.setByBasicUser(userId)
|
|
this.contributionId = contributionId
|
|
this.amount = amount
|
|
|
|
return this
|
|
}
|
|
|
|
setByBasicCtMsg(
|
|
userId: number,
|
|
contributionId: number,
|
|
amount: decimal,
|
|
messageId: number,
|
|
): Event {
|
|
this.setByBasicCt(userId, contributionId, amount)
|
|
this.messageId = messageId
|
|
|
|
return this
|
|
}
|
|
|
|
setByBasicCtX(
|
|
userId: number,
|
|
contributionId: number,
|
|
amount: decimal,
|
|
xUserId: number,
|
|
xCommunityId: number,
|
|
): Event {
|
|
this.setByBasicCt(userId, contributionId, amount)
|
|
this.xUserId = xUserId
|
|
this.xCommunityId = xCommunityId
|
|
|
|
return this
|
|
}
|
|
|
|
setByBasicRedeem(userId: number, transactionId?: number, contributionId?: number): Event {
|
|
this.setByBasicUser(userId)
|
|
if (transactionId) this.transactionId = transactionId
|
|
if (contributionId) this.contributionId = contributionId
|
|
|
|
return this
|
|
}
|
|
|
|
id: number
|
|
type: string
|
|
createdAt: Date
|
|
userId: number
|
|
xUserId?: number
|
|
xCommunityId?: number
|
|
transactionId?: number
|
|
contributionId?: number
|
|
amount?: decimal
|
|
messageId?: number
|
|
}
|