amocrm-client
Version:
JS Library for AmoCRM
27 lines (24 loc) • 1.16 kB
text/typescript
import { TConstructor } from "../../types";
import { IRequestOptions } from "../../interfaces/common";
import { IResourceEntity } from "../../interfaces/api";
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 { IUserAttributes, UserRoleCriteria } from "../../interfaces/user";
import { UserRoleDTO } from "../../dto/user.dto";
import { IUserRoleFactory } from "../factories/UserRoleFactory";
export interface IUserRole extends IResourceEntity<IUserRoleFactory>, IUserAttributes {
create(options?: IRequestOptions): Promise<IUserRole>;
delete(options?: IRequestOptions): Promise<boolean>;
update(options?: IRequestOptions): Promise<IUserRole>;
save(options?: IRequestOptions): Promise<IUserRole>;
fetch(criteria?: Partial<UserRoleCriteria>, options?: IRequestOptions): Promise<IUserRole>;
}
export const UserRole: TConstructor<IUserRole> = applyMixins(UserRoleDTO, [
hasCreate,
hasUpdate,
hasSave,
hasFetch
]);