import {
  CreateDateColumn,
  UpdateDateColumn,
  Column,
  DeleteDateColumn,
} from "typeorm"

export abstract class BaseEntity {
  @Column({ type: "int", nullable: true })
  created_by: number

  @Column({ type: "int", nullable: true })
  updated_by: number

  @Column({ type: "int", nullable: true })
  deleted_by: number

  @CreateDateColumn({
    type: "timestamp",
    default: () => "NOW()",
  })
  created_at: Date

  @UpdateDateColumn({
    type: "timestamp",
    default: () => "NOW()",
  })
  updated_at: Date

  @DeleteDateColumn({ type: "timestamp", nullable: true })
  deleted_at: Date
}
