Demo

BaseEntity

All builtin entities extend BaseEntity. Your plugin entities should too — soft delete and optimistic locking come for free.

Columns

  • createDate: Date — created at
  • updateDate: Date — last updated at
  • deleteDate: Date | null — soft-delete timestamp
  • version: number — optimistic locking

Usage

Always extend BaseEntity on plugin entities. Prefer softDelete over hard delete so createDate / deleteDate stay consistent with core tables.

TSXextend
1import { BaseEntity } from "@quan-erp/shared-backend-core"; 2import { Column, Entity, PrimaryGeneratedColumn } from "typeorm"; 3import metadata from "../../../../module.metadata.json" with { type: "json" }; 4 5@Entity(`${metadata.name}_item`) 6export class ItemEntity extends BaseEntity { 7 @PrimaryGeneratedColumn() 8 id: number; 9 10 @Column() 11 name: string; 12}