UNPKG

crisp-api

Version:

Crisp API wrapper for Node - official, maintained by Crisp

89 lines (88 loc) 2.84 kB
/************************************************************************** * 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;