cv-dialog-sdk
Version:
Catavolt Dialog Javascript API
46 lines (45 loc) • 4.14 kB
TypeScript
import { ClientListener } from "../client/ClientListener";
import { StreamProducer } from '../io/StreamProducer';
import { ActionParameters, Attachment, AvailableValuesParameters, Dialog, EditorDialog, LargeProperty, Login, Menu, QueryParameters, ReadLargePropertyParameters, Record, RecordSet, Redirection, Session, SideEffectsParameters, SideEffectsResponse, View, ViewDescriptor, ViewMode, Workbench, WorkbenchAction, WriteLargePropertyParameters } from '../models';
import { CvLocale } from "../util";
export interface DialogApi {
lastServiceActivity: Date;
addAttachment(tenantId: string, sessionId: string, dialogId: string, attachment: Attachment): Promise<void>;
addClientListener(clientListener: ClientListener, locale: CvLocale): any;
removeClientListener(clientListener: ClientListener): any;
createSession(tenantId: string, login: Login): Promise<Session | Redirection>;
getSession(tenantId: string, sessionId: string): Promise<Session>;
deleteSession(tenantId: string, sessionId: string): Promise<{
sessionId: string;
}>;
getContent(tenantId: string, sessionId: string, contentId: string, readLargePropertyParams: ReadLargePropertyParameters): Promise<LargeProperty>;
getWorkbenches(tenantId: string, sessionId: string): Promise<Array<Workbench>>;
getWorkbench(tenantId: string, sessionId: string, workbenchId: string): Promise<Workbench>;
getDialog(tenantId: string, sessionId: string, dialogId: string): Promise<Dialog>;
deleteDialog(tenantId: string, sessionId: string, dialogId: string): Promise<{
dialogId: string;
}>;
getActions(tenantId: string, sessionId: string, dialogId: string): Promise<Array<Menu>>;
isAnyUserInBriefcaseMode(tenantId: string): Promise<boolean>;
isUserInBriefcaseMode(userInfo: {}): Promise<boolean>;
performAction(tenantId: string, sessionId: string, dialogId: string, actionId: string, actionParameters: ActionParameters): Promise<Redirection>;
getWorkbenchActions(tenantId: string, sessionId: string, workbenchId: string): Promise<Array<WorkbenchAction>>;
performWorkbenchAction(tenantId: string, sessionId: string, workbenchId: string, actionId: string): Promise<Redirection>;
getRedirection(tenantId: string, sessionId: string, redirectionId: string): Promise<Redirection>;
getRecord(tenantId: string, sessionId: string, dialogId: string): Promise<Record>;
getEditorProperty(tenantId: string, sessionId: string, dialogId: string, propertyName: string, readLargePropertyParams: ReadLargePropertyParameters): Promise<LargeProperty>;
getQueryProperty(tenantId: string, sessionId: string, dialogId: string, propertyName: string, readLargePropertyParams: ReadLargePropertyParameters): Promise<LargeProperty>;
writeProperty(tenantId: string, sessionId: string, dialogId: string, propertyName: string, writeLargePropertyParams: WriteLargePropertyParameters): Promise<{
propertyName: string;
}>;
propertyChange(tenantId: string, sessionId: string, dialogId: string, propertyName: string, sideEffectsParams: SideEffectsParameters): Promise<SideEffectsResponse>;
putRecord(tenantId: string, sessionId: string, dialogId: string, record: Record): Promise<EditorDialog | Redirection>;
getRecords(tenantId: string, sessionId: string, dialogId: string, queryParams: QueryParameters): Promise<RecordSet>;
getAvailableValues(tenantId: string, sessionId: string, dialogId: string, propertyName: string, availableValuesParams: AvailableValuesParameters): Promise<Array<any>>;
getMode(tenantId: string, sessionId: string, dialogId: string): Promise<ViewMode>;
changeMode(tenantId: string, sessionId: string, dialogId: string, mode: ViewMode): Promise<EditorDialog | Redirection>;
getView(tenantId: string, sessionId: string, dialogId: string): Promise<View>;
changeView(tenantId: string, sessionId: string, dialogId: string, viewId: string): Promise<Dialog>;
getViews(tenantId: string, sessionId: string, dialogId: string): Promise<Array<ViewDescriptor>>;
streamUrl(tentantId: string, sessionId: string, url: string): Promise<StreamProducer>;
}