platform/packages/core/src/backup.ts
Andrey Sobolev 5705281de5
Backup restore support (#1878)
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
2022-06-01 19:05:07 +07:00

26 lines
651 B
TypeScript

import { Doc, Domain, Ref } from './classes'
/**
* @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: Record<string, string>
finished: boolean
}
/**
* @public
*/
export interface BackupClient {
loadChunk: (domain: Domain, idx?: number) => 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>
}