mirror of
https://github.com/IT4Change/gradido.git
synced 2026-03-01 12:44:43 +00:00
fix to make compatible to gradido-blockchain
This commit is contained in:
parent
15cd2a6e7f
commit
01b4f1ef66
@ -142,7 +142,6 @@ export const creations: CreationInterface[] = [
|
||||
memo: '#Hexen',
|
||||
contributionDate: nMonthsBefore(new Date()),
|
||||
confirmed: true,
|
||||
moveCreationDate: 12,
|
||||
},
|
||||
...bobsTransactions,
|
||||
{
|
||||
|
||||
@ -29,7 +29,7 @@ export async function creationFactory(
|
||||
if (!moderatorUser) {
|
||||
throw new Error('Moderator user not found')
|
||||
}
|
||||
await confirmTransaction(contribution, moderatorUser)
|
||||
await confirmTransaction(creation, contribution, moderatorUser)
|
||||
}
|
||||
return contribution
|
||||
}
|
||||
@ -51,7 +51,13 @@ export async function creationFactoryBulk(
|
||||
}
|
||||
let contribution = await createContribution(creation, user, false)
|
||||
if (creation.confirmed) {
|
||||
const { contribution: _, transaction } = await confirmTransaction(contribution, moderatorUser, transactionId, false)
|
||||
const { contribution: _, transaction } = await confirmTransaction(
|
||||
creation,
|
||||
contribution,
|
||||
moderatorUser,
|
||||
transactionId,
|
||||
false
|
||||
)
|
||||
dbTransactions.push(transaction)
|
||||
transactionId++
|
||||
}
|
||||
@ -80,24 +86,25 @@ export async function createContribution(creation: CreationInterface, user: User
|
||||
}
|
||||
|
||||
export async function confirmTransaction(
|
||||
creation: CreationInterface,
|
||||
contribution: Contribution,
|
||||
moderatorUser: User,
|
||||
transactionId?: number,
|
||||
store: boolean = true
|
||||
): Promise<{ contribution: Contribution, transaction: Transaction }> {
|
||||
const now = new Date()
|
||||
const balanceDate = getBalanceDate(creation)
|
||||
const transaction = await createTransaction(
|
||||
contribution.amount,
|
||||
contribution.memo,
|
||||
contribution.user,
|
||||
moderatorUser,
|
||||
TransactionTypeId.CREATION,
|
||||
now,
|
||||
balanceDate,
|
||||
contribution.contributionDate,
|
||||
transactionId,
|
||||
store,
|
||||
)
|
||||
contribution.confirmedAt = now
|
||||
contribution.confirmedAt = balanceDate
|
||||
contribution.confirmedBy = moderatorUser.id
|
||||
contribution.transactionId = transaction.id
|
||||
contribution.transaction = transaction
|
||||
@ -116,4 +123,12 @@ function getContributionDate(creation: CreationInterface): Date {
|
||||
return new Date(nMonthsBefore(new Date(creation.contributionDate), creation.moveCreationDate))
|
||||
}
|
||||
return new Date(creation.contributionDate)
|
||||
}
|
||||
|
||||
function getBalanceDate(creation: CreationInterface): Date {
|
||||
const now = new Date()
|
||||
if (creation.moveCreationDate) {
|
||||
return new Date(nMonthsBefore(now, creation.moveCreationDate))
|
||||
}
|
||||
return now
|
||||
}
|
||||
@ -27,6 +27,7 @@ export async function userFactoryBulk(users: UserInterface[], homeCommunity?: Co
|
||||
const lastUserContact = await UserContact.findOne({ order: { id: 'DESC' }, select: ['id'], where: {} })
|
||||
let userId = lastUser ? lastUser.id + 1 : 1
|
||||
let emailId = lastUserContact ? lastUserContact.id + 1 : 1
|
||||
// console.log(`start with userId: ${userId} and emailId: ${emailId}`)
|
||||
for(const user of users) {
|
||||
const dbUser = await createUser(user, homeCommunity, false)
|
||||
dbUser.id = userId
|
||||
@ -45,9 +46,13 @@ export async function userFactoryBulk(users: UserInterface[], homeCommunity?: Co
|
||||
}
|
||||
const dataSource = AppDatabase.getInstance().getDataSource()
|
||||
await dataSource.transaction(async transaction => {
|
||||
// typeorm change my data what I don't want
|
||||
// because of manuel id assignment
|
||||
const dbUsersCopy = dbUsers.map(user => ({ ...user }))
|
||||
const dbUserContactsCopy = dbUserContacts.map(userContact => ({ ...userContact }))
|
||||
await Promise.all([
|
||||
transaction.getRepository(User).insert(dbUsers),
|
||||
transaction.getRepository(UserContact).insert(dbUserContacts)
|
||||
transaction.getRepository(User).insert(dbUsersCopy),
|
||||
transaction.getRepository(UserContact).insert(dbUserContactsCopy)
|
||||
])
|
||||
})
|
||||
return dbUsers
|
||||
@ -87,6 +92,10 @@ export async function createUserContact(user: UserInterface, userId?: number, st
|
||||
dbUserContact.email = user.email ?? ''
|
||||
dbUserContact.type = UserContactType.USER_CONTACT_EMAIL
|
||||
|
||||
if (user.createdAt) {
|
||||
dbUserContact.createdAt = user.createdAt
|
||||
dbUserContact.updatedAt = user.createdAt
|
||||
}
|
||||
if (user.emailChecked) {
|
||||
dbUserContact.emailVerificationCode = random(64).toString()
|
||||
dbUserContact.emailOptInTypeId = OptInType.EMAIL_OPT_IN_REGISTER
|
||||
|
||||
@ -5,7 +5,7 @@ import { users } from './users'
|
||||
import { internet, name } from 'faker'
|
||||
import { creationFactoryBulk } from './factory/creation'
|
||||
import { creations } from './creation'
|
||||
import { transactionLinkFactoryBulk } from './factory/transactionLink'
|
||||
import { transactionLinkCode, transactionLinkFactoryBulk } from './factory/transactionLink'
|
||||
import { transactionLinks } from './transactionLink'
|
||||
import { contributionLinkFactory } from './factory/contributionLink'
|
||||
import { contributionLinks } from './contributionLink'
|
||||
@ -59,7 +59,17 @@ async function run() {
|
||||
console.info(`##seed## seeding all contributionLinks successful ...`)
|
||||
|
||||
// create Transaction Links
|
||||
await transactionLinkFactoryBulk(transactionLinks, userCreationIndexedByEmail)
|
||||
const movedTransactionLinks = transactionLinks.map(transactionLink => {
|
||||
let createdAt = new Date(new Date().getTime() + 1000)
|
||||
if (transactionLink.createdAt) {
|
||||
createdAt = transactionLink.createdAt
|
||||
}
|
||||
return {
|
||||
...transactionLink,
|
||||
createdAt: createdAt,
|
||||
}
|
||||
})
|
||||
await transactionLinkFactoryBulk(movedTransactionLinks, userCreationIndexedByEmail)
|
||||
console.info(`##seed## seeding all transactionLinks successful ...`)
|
||||
|
||||
await db.destroy()
|
||||
|
||||
@ -9,4 +9,6 @@ export const bibiBloxberg: UserInterface = {
|
||||
emailChecked: true,
|
||||
language: 'de',
|
||||
publisherId: 1234,
|
||||
// move user createdAt before transaction link
|
||||
createdAt: new Date(2021, 9, 17),
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user