@microsoft/omnichannel-chat-sdk
Version:
Microsoft Omnichannel Chat SDK
37 lines (36 loc) • 1.37 kB
TypeScript
import FileMetadata from "@microsoft/omnichannel-amsclient/lib/FileMetadata";
import FramedClient from "@microsoft/omnichannel-amsclient/lib/FramedClient";
interface FileScanResponse {
status: string;
}
interface FileScanResult {
fileMetadata: FileMetadata;
scan: FileScanResponse;
next?: any;
activity?: any;
}
interface AMSFileScannerOptions {
pollingInterval?: number;
scanStatusRetrievalDelay?: number;
}
declare class AMSFileScanner {
amsClient: FramedClient;
scanResults: Map<string, FileScanResult> | null;
private shouldQueueScan;
private test;
private options;
constructor(amsClient: FramedClient, options?: AMSFileScannerOptions);
queueScan(): Promise<void>;
retrieveFileScanResult(id: string): FileScanResult | undefined;
addOrUpdateFile(id: string, fileMetadata: FileMetadata, scan: FileScanResponse): void;
addNext(id: string, next: Function): void;
addActivity(id: string, activity: any): void;
scanFileCallback(scanResult: FileScanResult, id: string): Promise<void>;
scanFiles(): Promise<void>;
end(): void;
private retrieveFileBlob;
private addAttachmentToActivity;
renderAttachmentActivity(scanResult: FileScanResult, view_location: any): Promise<void>;
renderMalwareActivity(scanResult: FileScanResult): Promise<void>;
}
export default AMSFileScanner;