UNPKG

chrobject

Version:

Stores chronicles of plain objects as diffs and snapshots

32 lines (31 loc) 1.27 kB
/** * Creator: Christian Hotz * Company: hydra newmedia GmbH * Date: 11.06.16 * * Copyright hydra newmedia GmbH */ /** * Imports */ import { Entity } from '../utils/Entity'; import { Snapshot } from '../utils/Snapshot'; import { Diff } from '../utils/Diff'; import { Creator } from '../utils/Creator'; export interface StorageStrategy { findSnapshotById(id: string, entity: Entity, callback: (err: Error, snapshot?: Snapshot) => void): any; findDiffsByCondition(condition: FindDiffsCondition, entity: Entity, callback: (err: Error, diffs?: Diff[]) => void): any; insertSnapshot(snapshot: Snapshot, callback: (err: Error, snapshot?: Snapshot) => void): any; upsertSnapshot(snapshot: Snapshot, callback: (err: Error, snapshot?: Snapshot) => void): any; insertDiff(diff: Diff, callback: (err: Error, diff?: Diff) => void): any; findLatestSnapshotBefore(id: string, timestamp: Date, entity: Entity, callback: (err: Error, snapshot?: Snapshot) => void): any; findLatestDiffBefore(id: string, timestamp: Date, entity: Entity, callback: (err: Error, diff?: Diff) => void): any; } export interface FindDiffsCondition { objIds?: string[]; timerange?: { start?: Date; end?: Date; }; creator?: Creator; }