amocrm-client
Version:
JS Library for AmoCRM
28 lines (23 loc) • 1.02 kB
text/typescript
import { TConstructor } from "../../types";
import { IRequestOptions } from "../../interfaces/common";
import { applyMixins } from "../../util";
import { hasSave } from "./mixins/hasSave";
import { hasFetch } from "./mixins/hasFetch";
import { hasCreate } from "./mixins/hasCreate";
import { hasUpdate } from "./mixins/hasUpdate";
import { TagDTO } from "../../dto/tag.dto";
import { IResourceEntity } from "../../interfaces/api";
import { ITagAttributes, TagCriteria } from "../../interfaces/tag";
import { ITagFactory } from "../factories/TagFactory";
export interface ITag extends IResourceEntity<ITagFactory>, ITagAttributes {
create(options?: IRequestOptions): Promise<ITag>;
update(options?: IRequestOptions): Promise<ITag>;
save(options?: IRequestOptions): Promise<ITag>;
fetch(criteria?: TagCriteria, options?: IRequestOptions): Promise<ITag>;
}
export const Tag: TConstructor<ITag> = applyMixins(TagDTO, [
hasCreate,
hasUpdate,
hasSave,
hasFetch
]);