import { BaseCoreModel } from 'src/core/modules/data/model/base-core.model';
import { ErrorLogEntity } from '../../domain/entities/error-log.entity';
import { Column, Entity } from 'typeorm';
import { TABLE_NAME } from 'src/core/strings/constants/table.constants';

@Entity(TABLE_NAME.ERROR_LOG)
export class ErrorLogModel
  extends BaseCoreModel<ErrorLogEntity>
  implements ErrorLogEntity
{
  @Column('varchar', { name: 'data_id', nullable: true })
  data_id: string;

  @Column('varchar', { name: 'module', nullable: true })
  module: string;

  @Column('varchar', { name: 'sub_module', nullable: true })
  sub_module: string;

  @Column('text', { name: 'description', nullable: true })
  description: string;

  @Column('json', { name: 'message', nullable: true })
  message: string;

  @Column('bigint', { name: 'created_at', nullable: true })
  created_at: number;

  @Column('varchar', { name: 'creator_name', nullable: true })
  creator_name: string;

  @Column('varchar', { name: 'creator_id', nullable: true })
  creator_id: string;
}
