Files
entity/src/entity/credit_applications.ts
fro1991 b015e47d0c update
2025-03-11 02:59:43 +07:00

102 lines
2.0 KiB
TypeScript

import { Column, CreateDateColumn, DeleteDateColumn, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm';
import { CreditApplicationStatus } from '../types/credit';
import { CreditCompany } from './credit_companies';
import { CreditDebtor } from './credit_debtors';
import { CreditCompanyUser } from './credit_company_users';
@Entity('credit_applications')
export class CreditApplication {
@PrimaryGeneratedColumn('uuid')
id: string;
@ManyToOne(() => CreditDebtor, { onDelete: "RESTRICT" })
@JoinColumn()
debtor: CreditDebtor
@ManyToOne(() => CreditCompany, { onDelete: "RESTRICT" })
@JoinColumn()
company: CreditCompany
@ManyToOne(() => CreditCompanyUser)
@JoinColumn()
user: CreditCompanyUser
@Column({
nullable: true,
length: 256
})
code: string;
@Column({
type: 'date',
nullable: true,
})
application_date: Date;
@Column({
nullable: true,
length: 256
})
cif: string;
@Column({
nullable: true,
length: 256
})
account_number: string;
@Column({
type: 'float8',
nullable: true,
})
amount: number;
@Column({
nullable: true,
length: 256
})
period_type: string;
@Column({
type: 'int2',
nullable: false,
})
period_amount: number;
@Column({
nullable: false,
length: 64
})
status: CreditApplicationStatus;
@Column({
nullable: true,
length: 1024
})
finalize_by: string;
@Column({
nullable: true,
type: 'jsonb'
})
simulation: string[];
@Column({
nullable: true,
type: 'jsonb'
})
scoring: string[];
@Column()
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
@UpdateDateColumn()
updated_at: Date;
@Column({ nullable: true })
@DeleteDateColumn()
deleted_at: Date;
}