Files
arkvault/src/lib/shared/serviceWorker.ts
T

28 lines
755 B
TypeScript

export const DECRYPTED_FILE_URL_PREFIX = "/_internal/decryptedFile/";
export interface FileMetadata {
isLegacy: boolean;
dataKey: CryptoKey;
encContentSize: number;
contentType: string;
}
export interface DecryptionPrepareMessage extends FileMetadata {
type: "decryption-prepare";
fileId: number;
}
export interface DecryptionReadyMessage {
type: "decryption-ready";
fileId: number;
}
// Sent with a MessagePort to which the client replies with `FileMetadata | null`
export interface DecryptionMetadataRequestMessage {
type: "decryption-metadata-request";
fileId: number;
}
export type ServiceWorkerMessage = DecryptionPrepareMessage;
export type ServiceWorkerResponse = DecryptionReadyMessage | DecryptionMetadataRequestMessage;