UNPKG

chrobject

Version:

Stores chronicles of plain objects as diffs and snapshots

33 lines (32 loc) 1.7 kB
/** * Creator: Christian Hotz * Company: hydra newmedia GmbH * Date: 12.06.16 * * Copyright hydra newmedia GmbH */ /** * Imports */ import * as mongoose from 'mongoose'; import { Repository } from 'mongoose-repo'; import { LoggerConfig } from 'be-utils'; import { StorageStrategy, FindDiffsCondition } from '../StorageStrategy'; import { Snapshot } from '../../utils/Snapshot'; import { Diff } from '../../utils/Diff'; import { Entity } from '../../utils/Entity'; import { DiffDocument } from './models/DiffModel'; import { SnapshotDocument } from './models/SnapshotModel'; import { LoggerInstance } from 'winston'; export declare class MongooseStorage implements StorageStrategy { snapshotRepository: Repository<SnapshotDocument>; diffRepository: Repository<DiffDocument>; constructor(loggerOrCfg: LoggerInstance | LoggerConfig, dbConnectionString?: string, dbOptions?: mongoose.ConnectionOptions); findDiffsByCondition(condition: FindDiffsCondition, entity: Entity, callback: (err: Error, diffs?: Diff[]) => void): void; findSnapshotById(id: string, entity: Entity, callback: (err: Error, snapshot?: Snapshot) => void): void; insertSnapshot(snapshot: Snapshot, callback: (err: Error, snapshot?: Snapshot) => void): void; upsertSnapshot(snapshot: Snapshot, callback: (err: Error, snapshot?: Snapshot) => void): void; insertDiff(diff: Diff, callback: (err: Error, diff?: Diff) => void): void; findLatestSnapshotBefore(id: string, timestamp: Date, entity: Entity, callback: (err: Error, snapshot?: Snapshot) => void): void; findLatestDiffBefore(id: string, timestamp: Date, entity: Entity, callback: (err: Error, diff?: Diff) => void): void; }