import { PrimaryKey, Property } from '@mikro-orm/core'; export abstract class CommonEntity { @PrimaryKey({ type: 'uuid', defaultRaw: 'uuid_generate_v4()', }) id?: string; @Property({ onCreate: () => new Date(), name: 'created_at', defaultRaw: 'now()', }) createdAt?: Date = new Date(); @Property({ onUpdate: () => new Date(), name: 'updated_at', defaultRaw: 'now()' }) updatedAt?: Date = new Date(); @Property({ name: 'created_by', nullable: true, }) createdBy?: string; @Property({ name: 'updated_by', nullable: true, }) updatedBy?: string; @Property({ name: 'deleted_by', nullable: true, }) deletedBy?: string; @Property({ name: 'deleted_at', nullable: true, }) deletedAt?: Date; }