platform/packages/core/src/backup.ts
Andrey Sobolev 9e183faf6b
UBERF-6313: Improve backup/restore (#5241)
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
2024-04-08 17:43:01 +07:00

27 lines
673 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) => 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>
}