amocrm-client
Version:
JS Library for AmoCRM
33 lines (22 loc) • 841 B
text/typescript
import schema from '../../schema/v4';
import { applyMixins } from "../../util";
import ResourceFactory from "../ResourceFactory";
import { IRequestOptions } from "../../interfaces/common";
import { IResourceFactory } from "../../interfaces/api";
import { ITag, Tag } from '../models/Tag';
import { TagCriteria } from '../../interfaces/tag';
export interface ITagFactory extends IResourceFactory<ITag> {
get(criteria?: TagCriteria, options?: IRequestOptions): Promise<ITag | null>;
}
export class BaseTagFactory extends ResourceFactory<ITag> {
getEntityClass() {
return Tag;
}
getBaseUrl(): string {
return schema.entities.account.path;
}
getEmbeddedKey(): string {
return 'tags';
}
}
export const AccountFactory = applyMixins(BaseTagFactory, []);