platform/packages/core/src/backup.ts
Andrey Sobolev cc7f962b90
Few fixes to uwebsocket and backup/restore ()
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
2024-05-30 16:19:23 +07:00

29 lines
731 B
TypeScript

import { Doc, Domain, Ref } from './classes'
import { DocInfo } from './server'
/**
* @public
* Define a st of document + hashcode for chunk
* So backup client could decide to download or not any of documents.
*/
export interface DocChunk {
idx: number
// _id => hash mapping
docs: DocInfo[]
finished: boolean
}
/**
* @public
*/
export interface BackupClient {
loadChunk: (domain: Domain, idx?: number, recheck?: boolean) => Promise<DocChunk>
closeChunk: (idx: number) => Promise<void>
loadDocs: (domain: Domain, docs: Ref<Doc>[]) => Promise<Doc[]>
upload: (domain: Domain, docs: Doc[]) => Promise<void>
clean: (domain: Domain, docs: Ref<Doc>[]) => Promise<void>
sendForceClose: () => Promise<void>
}