import { Column, CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn, VersionColumn } from 'typeorm';
import * as dayjs from 'dayjs';
// transformer.from: 从数据库出来对数据的处理函数
// transformer.to:进入数据库前对数据的处理
@Entity()
export class BaseModel {
  /**数据id */
  @PrimaryGeneratedColumn({ type: 'integer' })
  id?: number;

  /**数据创建时间 */
  @CreateDateColumn({ type: 'timestamp without time zone', transformer: { from: value => dayjs(value).format('YYYY-MM-DD HH:mm:ss'), to: value => value } })
  created_time?: Date;
  /**数据最后更新时间 */
  @UpdateDateColumn({ type: 'timestamp without time zone', transformer: { from: value => dayjs(value).format('YYYY-MM-DD HH:mm:ss'), to: value => value } })
  update_time?: Date;

  /**数据创建者 */
  @Column({ type: 'character varying', nullable: true, comment: '数据创建者' })
  data_owner?: string;

  /**数据版本 */
  @VersionColumn({ type: 'integer', default: 1 })
  __v?: number;
}
