mirror of
https://github.com/Teamlinker/Teamlinker.git
synced 2025-06-03 03:00:17 +00:00
28 lines
624 B
TypeScript
28 lines
624 B
TypeScript
export abstract class Entity<T> {
|
|
protected item:T;
|
|
getId():bigint{
|
|
if(this.item) {
|
|
return (<any>this.item).id
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
setItem(item:T) {
|
|
this.item=item
|
|
}
|
|
assignItem(item:any) {
|
|
if(typeof(item)=="object") {
|
|
this.item=<T>{}
|
|
for(let key in item) {
|
|
this.item[key]=item[key]
|
|
}
|
|
}
|
|
}
|
|
getItem():T {
|
|
return this.item;
|
|
}
|
|
abstract create():Promise<T>;
|
|
abstract update():Promise<T>;
|
|
abstract delete();
|
|
abstract loadItem():Promise<T>;
|
|
} |