import { Column, CreateDateColumn, Entity, Index, PrimaryGeneratedColumn, Unique, UpdateDateColumn } from 'typeorm'; import { getLongTextEntityType } from '@/common/config'; @Entity({ name: 'transaction_intention' }) @Unique(['msafeAddress', 'sequenceNumber']) export class TransactionIntention { @PrimaryGeneratedColumn() id?: number; @Column() @Index() msafeAddress: string; @Column() sequenceNumber: number; @Column() application: string; // Transaction build app name @Column() txType: string; // Transaction type - E.g. assets @Column() txSubType: string; // Transaction subType - E.g. coin_transfer @Column(getLongTextEntityType()) data: string; @Column() processed: boolean; // If the intention is process and stored in history @Column() status: string; // intention build status: 'SUCCESS' | 'FAILED' | 'NEW'; @Column(getLongTextEntityType(), { nullable: true }) statusRemark?: string; // Failed message if status == 'failed' @Column() creator: string; @UpdateDateColumn() updatedAt?: Date; @CreateDateColumn() createdAt?: Date; }