mirror of
https://github.com/bitwarden/browser
synced 2025-12-19 09:43:23 +00:00
* [refactor] Introduce a file download service * [refactor] Point platformUtilsService.saveFile() callers to fileDownloadService.download() instead * [refactor] Remove platformUtilsService.saveFile() * [fix] Force send attachments to always download and never open * [fix] Remove the window property from FileDownloadRequest * [fix] Move FileDownloadRequest to /abstractions/fileDownload * [fix] Simplify FileDownloadRequest to a type * [fix] Move BrowserApi.saveFile logic into BrowserFileDownloadService * [fix] Use proper blob types for file downloads * [fix] forceDownload -> downloadMethod on FileDownloadRequest * [fix] Remove fileType from FileDownloadRequest * [fix] Make fileType private
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { ClientType } from "../enums/clientType";
|
|
import { DeviceType } from "../enums/deviceType";
|
|
|
|
interface ToastOptions {
|
|
timeout?: number;
|
|
}
|
|
|
|
export abstract class PlatformUtilsService {
|
|
getDevice: () => DeviceType;
|
|
getDeviceString: () => string;
|
|
getClientType: () => ClientType;
|
|
isFirefox: () => boolean;
|
|
isChrome: () => boolean;
|
|
isEdge: () => boolean;
|
|
isOpera: () => boolean;
|
|
isVivaldi: () => boolean;
|
|
isSafari: () => boolean;
|
|
isMacAppStore: () => boolean;
|
|
isViewOpen: () => Promise<boolean>;
|
|
launchUri: (uri: string, options?: any) => void;
|
|
getApplicationVersion: () => Promise<string>;
|
|
supportsWebAuthn: (win: Window) => boolean;
|
|
supportsDuo: () => boolean;
|
|
showToast: (
|
|
type: "error" | "success" | "warning" | "info",
|
|
title: string,
|
|
text: string | string[],
|
|
options?: ToastOptions
|
|
) => void;
|
|
showDialog: (
|
|
body: string,
|
|
title?: string,
|
|
confirmText?: string,
|
|
cancelText?: string,
|
|
type?: string,
|
|
bodyIsHtml?: boolean
|
|
) => Promise<boolean>;
|
|
isDev: () => boolean;
|
|
isSelfHost: () => boolean;
|
|
copyToClipboard: (text: string, options?: any) => void | boolean;
|
|
readFromClipboard: (options?: any) => Promise<string>;
|
|
supportsBiometric: () => Promise<boolean>;
|
|
authenticateBiometric: () => Promise<boolean>;
|
|
supportsSecureStorage: () => boolean;
|
|
}
|