mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
63 lines
1.5 KiB
TypeScript
63 lines
1.5 KiB
TypeScript
import { ObjectType, Field, Int } from 'type-graphql'
|
|
import Decimal from 'decimal.js-light'
|
|
import { ContributionLink as dbContributionLink } from '@entity/ContributionLink'
|
|
import CONFIG from '@/config'
|
|
|
|
@ObjectType()
|
|
export class ContributionLink {
|
|
constructor(contributionLink: dbContributionLink) {
|
|
this.id = contributionLink.id
|
|
this.amount = contributionLink.amount
|
|
this.name = contributionLink.name
|
|
this.memo = contributionLink.memo
|
|
this.createdAt = contributionLink.createdAt
|
|
this.deletedAt = contributionLink.deletedAt
|
|
this.validFrom = contributionLink.validFrom
|
|
this.validTo = contributionLink.validTo
|
|
this.maxAmountPerMonth = contributionLink.maxAmountPerMonth
|
|
this.cycle = contributionLink.cycle
|
|
this.maxPerCycle = contributionLink.maxPerCycle
|
|
this.code = contributionLink.code
|
|
this.link = CONFIG.COMMUNITY_REDEEM_CONTRIBUTION_URL.replace(/{code}/g, this.code)
|
|
}
|
|
|
|
@Field(() => Int)
|
|
id: number
|
|
|
|
@Field(() => Decimal)
|
|
amount: Decimal
|
|
|
|
@Field(() => String)
|
|
name: string
|
|
|
|
@Field(() => String)
|
|
memo: string
|
|
|
|
@Field(() => String)
|
|
code: string
|
|
|
|
@Field(() => String)
|
|
link: string
|
|
|
|
@Field(() => Date)
|
|
createdAt: Date
|
|
|
|
@Field(() => Date, { nullable: true })
|
|
deletedAt: Date | null
|
|
|
|
@Field(() => Date, { nullable: true })
|
|
validFrom: Date | null
|
|
|
|
@Field(() => Date, { nullable: true })
|
|
validTo: Date | null
|
|
|
|
@Field(() => Decimal, { nullable: true })
|
|
maxAmountPerMonth: Decimal | null
|
|
|
|
@Field(() => String)
|
|
cycle: string
|
|
|
|
@Field(() => Int)
|
|
maxPerCycle: number
|
|
}
|