Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | 1x 235x | import { randomUUID } from 'crypto';
import { Column, type IEntity } from './annotation';
/**
* @name CoreEntity
* ```typescript
* // Entity Example
* @Entity("TestEntity",1)
* class TestEntity extends CoreEntity{
*
* @Column({
* canBeNull:true,
* dataType:"text"
* })
* name:string|null
*
*
* @Column()
* simpleNumber:number
*
*
* @Column({
* canBeNull:true,
* })
* missingType:any
*
* @Column({
* canBeNull:true,
* primaryKey:true
* })
* primaryKeyNull:any
*
* @Column({
* canBeNull:true,
* dataType:"float",
* foreignKey:{
* key:"id",
* relation:"test_entity"
* }
* })
* invalidKey:any
*
* notAColumn:string
*
* constructor(val?:EProperties<TestEntity>) {
* super();
* this.name=val?.name||""
* this.notAColumn=val?.notAColumn||""
* this.simpleNumber=val?.simpleNumber||0
* this.primaryKeyNull=null;
* this.invalidKey=null;
* }
* }
*
* // Register db entity in BaseModule or in the DbConstructor
* const db=new CoreDBCon(module)
* db.registerEntity(new TestEntity())
* ```
*/
export default abstract class CoreEntity implements IEntity {
@Column({
primaryKey: true,
dataType: 'uuid',
})
e_id: string;
protected constructor(id?: string) {
this.e_id = id ?? randomUUID();
}
}
|