mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
61 lines
1.6 KiB
TypeScript
61 lines
1.6 KiB
TypeScript
import { Contribution } from '@entity/Contribution'
|
|
import { ContributionMessage as dbContributionMessage } from '@entity/ContributionMessage'
|
|
|
|
import { Decimal } from 'decimal.js-light'
|
|
import { Field, Int, ObjectType } from 'type-graphql'
|
|
|
|
import { ContributionMessage } from './ContributionMessage'
|
|
import { User } from './User'
|
|
|
|
@ObjectType()
|
|
export class UnconfirmedContribution {
|
|
constructor(contribution: Contribution) {
|
|
const user = contribution.user
|
|
this.id = contribution.id
|
|
this.userId = contribution.userId
|
|
this.amount = contribution.amount
|
|
this.memo = contribution.memo
|
|
this.contributionDate = contribution.contributionDate
|
|
this.user = user ? new User(user) : null
|
|
this.moderatorId = contribution.moderatorId
|
|
this.contributionStatus = contribution.contributionStatus
|
|
this.messagesCount = contribution.messages ? contribution.messages.length : 0
|
|
|
|
this.messages = contribution.messages
|
|
? contribution.messages.map(
|
|
(message: dbContributionMessage) => new ContributionMessage(message),
|
|
)
|
|
: null
|
|
}
|
|
|
|
@Field(() => Int)
|
|
id: number
|
|
|
|
@Field(() => Int, { nullable: true })
|
|
userId: number | null
|
|
|
|
@Field(() => User, { nullable: true })
|
|
user: User | null
|
|
|
|
@Field(() => Date)
|
|
contributionDate: Date
|
|
|
|
@Field(() => String)
|
|
memo: string
|
|
|
|
@Field(() => Decimal)
|
|
amount: Decimal
|
|
|
|
@Field(() => Int, { nullable: true })
|
|
moderatorId: number | null
|
|
|
|
@Field(() => String)
|
|
contributionStatus: string
|
|
|
|
@Field(() => Int)
|
|
messagesCount: number
|
|
|
|
@Field(() => [ContributionMessage], { nullable: true })
|
|
messages: ContributionMessage[] | null
|
|
}
|