crisp-api
Version:
Crisp API wrapper for Node - official, maintained by Crisp
89 lines (88 loc) • 2.84 kB
TypeScript
/**************************************************************************
* IMPORTS
***************************************************************************/
import BaseResource from "./BaseResource";
/**************************************************************************
* INTERFACES
***************************************************************************/
export interface WebsiteOperatorListOne {
type?: string;
details?: WebsiteOperator;
}
export interface WebsiteOperatorData {
data?: WebsiteOperator;
}
export interface WebsiteOperator {
userID?: string;
email?: string;
avatar?: string;
firstName?: string;
lastName?: string;
role?: string;
title?: string;
availability?: string;
hasToken?: boolean;
identifier?: string;
key?: string;
}
export interface WebsiteOperatorsLastActiveListOne {
userID?: string;
avatar?: string;
nickname?: string;
timestamp?: number;
}
export interface WebsiteOperatorEmail {
recipient?: string;
userID?: string;
subject?: string;
message?: string;
target?: WebsiteOperatorEmailTarget;
}
export interface WebsiteOperatorEmailTarget {
label?: string;
url?: string;
}
/**************************************************************************
* CLASSES
***************************************************************************/
/**
* Crisp WebsiteOperator Resource
*/
declare class WebsiteOperatorService extends BaseResource {
/**
* List Website Operators
*/
listWebsiteOperators(websiteID: string): Promise<WebsiteOperatorListOne[]>;
/**
* List Last Active Website Operators
*/
listLastActiveWebsiteOperators(websiteID: string): Promise<WebsiteOperatorsLastActiveListOne[]>;
/**
* Flush Last Active Website Operators
*/
flushLastActiveWebsiteOperators(websiteID: string): Promise<any>;
/**
* Send Email To Website Operators
*/
sendEmailToWebsiteOperators(websiteID: string, emailData: WebsiteOperatorEmail): Promise<any>;
/**
* Get A Website Operator
*/
getWebsiteOperator(websiteID: string, userID: string): Promise<WebsiteOperator>;
/**
* Invite A Website Operator
*/
inviteWebsiteOperator(websiteID: string, email: string, role: string, verify: boolean): Promise<any>;
/**
* Change Operator Membership
*/
changeOperatorMembership(websiteID: string, userID: string, role: string, title: string): Promise<any>;
/**
* Unlink Operator From Website
*/
unlinkOperatorFromWebsite(websiteID: string, userID: string): Promise<any>;
}
/**************************************************************************
* EXPORTS
***************************************************************************/
export default WebsiteOperatorService;