UNPKG

amocrm-client

Version:
30 lines (23 loc) 716 B
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; @Exclude() 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; } }