feat(files): refactor circular deps
This commit is contained in:
3
packages/files/src/Domain/Api/DirectoryHandle.ts
Normal file
3
packages/files/src/Domain/Api/DirectoryHandle.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export interface DirectoryHandle {
|
||||
nativeHandle: unknown
|
||||
}
|
||||
3
packages/files/src/Domain/Api/FileHandleRead.ts
Normal file
3
packages/files/src/Domain/Api/FileHandleRead.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export interface FileHandleRead {
|
||||
nativeHandle: unknown
|
||||
}
|
||||
4
packages/files/src/Domain/Api/FileHandleReadWrite.ts
Normal file
4
packages/files/src/Domain/Api/FileHandleReadWrite.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export interface FileHandleReadWrite {
|
||||
nativeHandle: unknown
|
||||
writableStream: unknown
|
||||
}
|
||||
19
packages/files/src/Domain/Api/FileSystemApi.ts
Normal file
19
packages/files/src/Domain/Api/FileSystemApi.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { DirectoryHandle } from './DirectoryHandle'
|
||||
import { FileHandleRead } from './FileHandleRead'
|
||||
import { FileHandleReadWrite } from './FileHandleReadWrite'
|
||||
import { FileSystemNoSelection } from './FileSystemNoSelection'
|
||||
import { FileSystemResult } from './FileSystemResult'
|
||||
|
||||
export interface FileSystemApi {
|
||||
selectDirectory(): Promise<DirectoryHandle | FileSystemNoSelection>
|
||||
selectFile(): Promise<FileHandleRead | FileSystemNoSelection>
|
||||
readFile(
|
||||
file: FileHandleRead,
|
||||
onBytes: (bytes: Uint8Array, isLast: boolean) => Promise<void>,
|
||||
): Promise<FileSystemResult>
|
||||
createDirectory(parentDirectory: DirectoryHandle, name: string): Promise<DirectoryHandle | FileSystemNoSelection>
|
||||
createFile(directory: DirectoryHandle, name: string): Promise<FileHandleReadWrite | FileSystemNoSelection>
|
||||
saveBytes(file: FileHandleReadWrite, bytes: Uint8Array): Promise<'success' | 'failed'>
|
||||
saveString(file: FileHandleReadWrite, contents: string): Promise<'success' | 'failed'>
|
||||
closeFileWriteStream(file: FileHandleReadWrite): Promise<'success' | 'failed'>
|
||||
}
|
||||
1
packages/files/src/Domain/Api/FileSystemNoSelection.ts
Normal file
1
packages/files/src/Domain/Api/FileSystemNoSelection.ts
Normal file
@@ -0,0 +1 @@
|
||||
export type FileSystemNoSelection = 'aborted' | 'failed'
|
||||
1
packages/files/src/Domain/Api/FileSystemResult.ts
Normal file
1
packages/files/src/Domain/Api/FileSystemResult.ts
Normal file
@@ -0,0 +1 @@
|
||||
export type FileSystemResult = 'aborted' | 'success' | 'failed'
|
||||
28
packages/files/src/Domain/Api/FilesApiInterface.ts
Normal file
28
packages/files/src/Domain/Api/FilesApiInterface.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { StartUploadSessionResponse, MinimalHttpResponse, ClientDisplayableError } from '@standardnotes/responses'
|
||||
import { FileContent } from '@standardnotes/models'
|
||||
|
||||
export interface FilesApiInterface {
|
||||
startUploadSession(apiToken: string): Promise<StartUploadSessionResponse>
|
||||
|
||||
uploadFileBytes(apiToken: string, chunkId: number, encryptedBytes: Uint8Array): Promise<boolean>
|
||||
|
||||
closeUploadSession(apiToken: string): Promise<boolean>
|
||||
|
||||
downloadFile(
|
||||
file: { encryptedChunkSizes: FileContent['encryptedChunkSizes'] },
|
||||
chunkIndex: number,
|
||||
apiToken: string,
|
||||
contentRangeStart: number,
|
||||
onBytesReceived: (bytes: Uint8Array) => Promise<void>,
|
||||
): Promise<ClientDisplayableError | undefined>
|
||||
|
||||
deleteFile(apiToken: string): Promise<MinimalHttpResponse>
|
||||
|
||||
createFileValetToken(
|
||||
remoteIdentifier: string,
|
||||
operation: 'write' | 'read' | 'delete',
|
||||
unencryptedFileSize?: number,
|
||||
): Promise<string | ClientDisplayableError>
|
||||
|
||||
getFilesDownloadUrl(): string
|
||||
}
|
||||
Reference in New Issue
Block a user