import { Column, Entity, Index, JoinColumn, OneToOne, PrimaryGeneratedColumn, } from "typeorm"; import { User } from "./User"; @Index("PK_user_attribute", ["id"], { unique: true }) @Index("uq_user_attribute_stripe_id", ["stripeId"], { unique: true }) @Index("IX_user_attribute_user_id", ["userId"], { unique: true }) @Entity("user_attribute", { schema: "sec" }) export class UserAttribute { @PrimaryGeneratedColumn({ type: "integer", name: "id" }) id: number; @Column("timestamp without time zone", { name: "created_date" }) createdDate: Date; @Column("integer", { name: "created_by" }) createdBy: number; @Column("timestamp without time zone", { name: "modified_date" }) modifiedDate: Date; @Column("integer", { name: "modified_by" }) modifiedBy: number; @Column("character varying", { name: "appsflyer_id", nullable: true, length: 128, }) appsflyerId: string | null; @Column("integer", { name: "user_id" }) userId: number; @Column("character varying", { name: "stripe_id", nullable: true, length: 128, }) stripeId: string | null; @Column("smallint", { name: "source", default: () => "1" }) source: number; @Column("character varying", { name: "passcode", nullable: true, length: 32 }) passcode: string | null; @Column("smallint", { name: "passcode_status", nullable: true }) passcodeStatus: number | null; @Column("integer", { name: "bonus_time", default: () => "0" }) bonusTime: number; @Column("inet", { name: "ip", nullable: true }) ip: string | null; @OneToOne(() => User, (user) => user.userAttribute, { onDelete: "CASCADE" }) @JoinColumn([{ name: "user_id", referencedColumnName: "id" }]) user: User; }