mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Refactoring of some small smelling code.
This commit is contained in:
parent
3ba591637c
commit
ffb5988760
@ -265,7 +265,6 @@ export class TransactionLinkResolver {
|
|||||||
const creations = await getUserCreation(user.id, clientTimezoneOffset)
|
const creations = await getUserCreation(user.id, clientTimezoneOffset)
|
||||||
logger.info('open creations', creations)
|
logger.info('open creations', creations)
|
||||||
validateContribution(creations, contributionLink.amount, now, clientTimezoneOffset)
|
validateContribution(creations, contributionLink.amount, now, clientTimezoneOffset)
|
||||||
|
|
||||||
const contribution = new DbContribution()
|
const contribution = new DbContribution()
|
||||||
contribution.userId = user.id
|
contribution.userId = user.id
|
||||||
contribution.createdAt = now
|
contribution.createdAt = now
|
||||||
@ -275,6 +274,7 @@ export class TransactionLinkResolver {
|
|||||||
contribution.contributionLinkId = contributionLink.id
|
contribution.contributionLinkId = contributionLink.id
|
||||||
contribution.contributionType = ContributionType.LINK
|
contribution.contributionType = ContributionType.LINK
|
||||||
contribution.contributionStatus = ContributionStatus.CONFIRMED
|
contribution.contributionStatus = ContributionStatus.CONFIRMED
|
||||||
|
|
||||||
await queryRunner.manager.insert(DbContribution, contribution)
|
await queryRunner.manager.insert(DbContribution, contribution)
|
||||||
|
|
||||||
const lastTransaction = await queryRunner.manager
|
const lastTransaction = await queryRunner.manager
|
||||||
@ -285,6 +285,7 @@ export class TransactionLinkResolver {
|
|||||||
.orderBy('transaction.balanceDate', 'DESC')
|
.orderBy('transaction.balanceDate', 'DESC')
|
||||||
.getOne()
|
.getOne()
|
||||||
let newBalance = new Decimal(0)
|
let newBalance = new Decimal(0)
|
||||||
|
|
||||||
let decay: Decay | null = null
|
let decay: Decay | null = null
|
||||||
if (lastTransaction) {
|
if (lastTransaction) {
|
||||||
decay = calculateDecay(lastTransaction.balance, lastTransaction.balanceDate, now)
|
decay = calculateDecay(lastTransaction.balance, lastTransaction.balanceDate, now)
|
||||||
|
|||||||
@ -229,6 +229,7 @@ export class TransactionResolver {
|
|||||||
order,
|
order,
|
||||||
)
|
)
|
||||||
context.transactionCount = userTransactionsCount
|
context.transactionCount = userTransactionsCount
|
||||||
|
|
||||||
// find involved users; I am involved
|
// find involved users; I am involved
|
||||||
const involvedUserIds: number[] = [user.id]
|
const involvedUserIds: number[] = [user.id]
|
||||||
userTransactions.forEach((transaction: dbTransaction) => {
|
userTransactions.forEach((transaction: dbTransaction) => {
|
||||||
|
|||||||
@ -12,29 +12,21 @@ export class TransactionRepository extends Repository<Transaction> {
|
|||||||
order: Order,
|
order: Order,
|
||||||
onlyCreation?: boolean,
|
onlyCreation?: boolean,
|
||||||
): Promise<[Transaction[], number]> {
|
): Promise<[Transaction[], number]> {
|
||||||
if (onlyCreation) {
|
const query = this.createQueryBuilder('userTransaction')
|
||||||
return this.createQueryBuilder('userTransaction')
|
|
||||||
.leftJoinAndSelect(
|
|
||||||
'userTransaction.contribution',
|
|
||||||
'c',
|
|
||||||
'userTransaction.id = c.transactionId',
|
|
||||||
)
|
|
||||||
.where('userTransaction.userId = :userId', { userId })
|
|
||||||
.andWhere('userTransaction.typeId = :typeId', {
|
|
||||||
typeId: TransactionTypeId.CREATION,
|
|
||||||
})
|
|
||||||
.orderBy('userTransaction.balanceDate', order)
|
|
||||||
.limit(limit)
|
|
||||||
.offset(offset)
|
|
||||||
.getManyAndCount()
|
|
||||||
}
|
|
||||||
return this.createQueryBuilder('userTransaction')
|
|
||||||
.leftJoinAndSelect(
|
.leftJoinAndSelect(
|
||||||
'userTransaction.contribution',
|
'userTransaction.contribution',
|
||||||
'c',
|
'contribution',
|
||||||
'userTransaction.id = c.transactionId',
|
'userTransaction.id = contribution.transactionId',
|
||||||
)
|
)
|
||||||
.where('userTransaction.userId = :userId', { userId })
|
.where('userTransaction.userId = :userId', { userId })
|
||||||
|
|
||||||
|
if (onlyCreation) {
|
||||||
|
query.andWhere('userTransaction.typeId = :typeId', {
|
||||||
|
typeId: TransactionTypeId.CREATION,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return query
|
||||||
.orderBy('userTransaction.balanceDate', order)
|
.orderBy('userTransaction.balanceDate', order)
|
||||||
.limit(limit)
|
.limit(limit)
|
||||||
.offset(offset)
|
.offset(offset)
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import Decimal from 'decimal.js-light'
|
import Decimal from 'decimal.js-light'
|
||||||
import { BaseEntity, Entity, PrimaryGeneratedColumn, Column } from 'typeorm'
|
import { BaseEntity, Entity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn } from 'typeorm'
|
||||||
import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer'
|
import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer'
|
||||||
|
import { Contribution } from '../Contribution'
|
||||||
|
|
||||||
@Entity('transactions')
|
@Entity('transactions')
|
||||||
export class Transaction extends BaseEntity {
|
export class Transaction extends BaseEntity {
|
||||||
@ -91,4 +92,8 @@ export class Transaction extends BaseEntity {
|
|||||||
default: null,
|
default: null,
|
||||||
})
|
})
|
||||||
transactionLinkId?: number | null
|
transactionLinkId?: number | null
|
||||||
|
|
||||||
|
@OneToOne(() => Contribution, (contribution) => contribution.transaction)
|
||||||
|
@JoinColumn({ name: 'id', referencedColumnName: 'transactionId' })
|
||||||
|
contribution?: Contribution | null
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,99 +0,0 @@
|
|||||||
import Decimal from 'decimal.js-light'
|
|
||||||
import { BaseEntity, Entity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn } from 'typeorm'
|
|
||||||
import { DecimalTransformer } from '../../src/typeorm/DecimalTransformer'
|
|
||||||
import { Contribution } from '../Contribution'
|
|
||||||
|
|
||||||
@Entity('transactions')
|
|
||||||
export class Transaction extends BaseEntity {
|
|
||||||
@PrimaryGeneratedColumn('increment', { unsigned: true })
|
|
||||||
id: number
|
|
||||||
|
|
||||||
@Column({ name: 'user_id', unsigned: true, nullable: false })
|
|
||||||
userId: number
|
|
||||||
|
|
||||||
@Column({ type: 'int', unsigned: true, unique: true, nullable: true, default: null })
|
|
||||||
previous: number | null
|
|
||||||
|
|
||||||
@Column({ name: 'type_id', unsigned: true, nullable: false })
|
|
||||||
typeId: number
|
|
||||||
|
|
||||||
@Column({
|
|
||||||
type: 'decimal',
|
|
||||||
precision: 40,
|
|
||||||
scale: 20,
|
|
||||||
nullable: false,
|
|
||||||
transformer: DecimalTransformer,
|
|
||||||
})
|
|
||||||
amount: Decimal
|
|
||||||
|
|
||||||
@Column({
|
|
||||||
type: 'decimal',
|
|
||||||
precision: 40,
|
|
||||||
scale: 20,
|
|
||||||
nullable: false,
|
|
||||||
transformer: DecimalTransformer,
|
|
||||||
})
|
|
||||||
balance: Decimal
|
|
||||||
|
|
||||||
@Column({
|
|
||||||
name: 'balance_date',
|
|
||||||
type: 'datetime',
|
|
||||||
default: () => 'CURRENT_TIMESTAMP',
|
|
||||||
nullable: false,
|
|
||||||
})
|
|
||||||
balanceDate: Date
|
|
||||||
|
|
||||||
@Column({
|
|
||||||
type: 'decimal',
|
|
||||||
precision: 40,
|
|
||||||
scale: 20,
|
|
||||||
nullable: false,
|
|
||||||
transformer: DecimalTransformer,
|
|
||||||
})
|
|
||||||
decay: Decimal
|
|
||||||
|
|
||||||
@Column({
|
|
||||||
name: 'decay_start',
|
|
||||||
type: 'datetime',
|
|
||||||
nullable: true,
|
|
||||||
default: null,
|
|
||||||
})
|
|
||||||
decayStart: Date | null
|
|
||||||
|
|
||||||
@Column({ length: 255, nullable: false, collation: 'utf8mb4_unicode_ci' })
|
|
||||||
memo: string
|
|
||||||
|
|
||||||
@Column({ name: 'creation_date', type: 'datetime', nullable: true, default: null })
|
|
||||||
creationDate: Date | null
|
|
||||||
|
|
||||||
@Column({
|
|
||||||
name: 'linked_user_id',
|
|
||||||
type: 'int',
|
|
||||||
unsigned: true,
|
|
||||||
nullable: true,
|
|
||||||
default: null,
|
|
||||||
})
|
|
||||||
linkedUserId?: number | null
|
|
||||||
|
|
||||||
@Column({
|
|
||||||
name: 'linked_transaction_id',
|
|
||||||
type: 'int',
|
|
||||||
unsigned: true,
|
|
||||||
nullable: true,
|
|
||||||
default: null,
|
|
||||||
})
|
|
||||||
linkedTransactionId?: number | null
|
|
||||||
|
|
||||||
@Column({
|
|
||||||
name: 'transaction_link_id',
|
|
||||||
type: 'int',
|
|
||||||
unsigned: true,
|
|
||||||
nullable: true,
|
|
||||||
default: null,
|
|
||||||
})
|
|
||||||
transactionLinkId?: number | null
|
|
||||||
|
|
||||||
@OneToOne(() => Contribution, (contribution) => contribution.transaction)
|
|
||||||
@JoinColumn({ name: 'id', referencedColumnName: 'transactionId' })
|
|
||||||
contribution?: Contribution | null
|
|
||||||
}
|
|
||||||
@ -1 +1 @@
|
|||||||
export { Transaction } from './0052-add_updated_at_to_contributions/Transaction'
|
export { Transaction } from './0036-unique_previous_in_transactions/Transaction'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user