amocrm-client
Version:
JS Library for AmoCRM
30 lines (23 loc) • 716 B
text/typescript
import { IEntityAttributes, IResourceEntity, IResourceFactory } from "../interfaces/api";
import { Exclude } from 'class-transformer';
import { Moment } from "../interfaces/common";
export default class ResourceEntity
<T extends IResourceFactory<IResourceEntity<T>>, V = IEntityAttributes>
implements
IResourceEntity<T>
{
public id: number;
public updated_at: Date;
()
protected readonly factory: T;
constructor(factory: T, attributes?: V) {
Object.assign(this, attributes || {});
this.factory = factory;
}
getFactory() {
return this.factory;
}
isNew() {
return this.id !== undefined;
}
}