@ovotech/genesys-web-messaging-tester-cli
Version:
31 lines (30 loc) • 1.27 kB
TypeScript
import * as platformClient from 'purecloud-platform-client-v2';
import { WebMessengerSession } from '@ovotech/genesys-web-messaging-tester';
type PreflightResult = Record<string, unknown>;
export interface PreflightError extends PreflightResult {
reasonForError: string;
errorType: 'missing-permissions' | 'unknown';
ok: false;
}
export interface PreflightSuccess extends PreflightResult {
ok: true;
}
export interface MessageIdToConvoIdClient {
get(messageId: string): Promise<string | undefined>;
preflightCheck(): Promise<PreflightSuccess | PreflightError>;
}
export declare function messageIdToConversationIdFactory({ convoApi, }: {
convoApi: platformClient.ConversationsApi;
}): MessageIdToConvoIdClient;
interface ConversationIdGetterSuccess {
successful: true;
id: string;
}
export interface ConversationIdGetterFailure {
successful: false;
reason: 'not-received-message' | 'convo-id-not-in-response' | 'unknown-error';
error?: unknown;
}
export type ConversationIdGetterResponse = ConversationIdGetterSuccess | ConversationIdGetterFailure;
export declare function createConversationIdGetter(session: WebMessengerSession, client: MessageIdToConvoIdClient): () => Promise<ConversationIdGetterResponse>;
export {};