mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
26 lines
978 B
TypeScript
26 lines
978 B
TypeScript
import { Community } from '@entity/Community'
|
|
|
|
import { KeyPair } from '@/data/KeyPair'
|
|
import { TransactionBodyBuilder } from '@/data/proto/TransactionBody.builder'
|
|
import { CommunityDraft } from '@/graphql/input/CommunityDraft'
|
|
|
|
import { TransactionRecipeRole } from './TransactionRecipe.role'
|
|
|
|
export class CommunityRootTransactionRole extends TransactionRecipeRole {
|
|
public createFromCommunityRoot(
|
|
communityDraft: CommunityDraft,
|
|
community: Community,
|
|
): CommunityRootTransactionRole {
|
|
// create proto transaction body
|
|
const transactionBody = new TransactionBodyBuilder()
|
|
.fromCommunityDraft(communityDraft, community)
|
|
.build()
|
|
// build transaction entity
|
|
this.transactionBuilder.fromTransactionBody(transactionBody).setCommunity(community)
|
|
const transaction = this.transactionBuilder.getTransaction()
|
|
// sign
|
|
this.transactionBuilder.setSignature(new KeyPair(community).sign(transaction.bodyBytes))
|
|
return this
|
|
}
|
|
}
|