git-goose
Version:
a mongoose plugin that enables git like change tracking
14 lines (13 loc) • 1.36 kB
TypeScript
import { HydratedDocument, Model, Require_id, Schema } from 'mongoose';
import { Commit, Nullable, PatcherName, RefId } from './types';
export interface DBCommit<TargetDocType = unknown, PatchName extends PatcherName = PatcherName> extends Commit<PatchName> {
readonly refId: RefId;
readonly snapshot: Nullable<Require_id<TargetDocType>>;
}
export declare const DBCommitSchema: Schema<DBCommit<unknown, "json-patch" | "mini-json-patch">, Model<DBCommit<unknown, "json-patch" | "mini-json-patch">, any, any, any, import('mongoose').Document<unknown, any, DBCommit<unknown, "json-patch" | "mini-json-patch">> & DBCommit<unknown, "json-patch" | "mini-json-patch"> & Required<{
_id: import("mongoose").Types.ObjectId;
}>, any>, {}, {}, {}, {}, import('mongoose').DefaultSchemaOptions, DBCommit<unknown, "json-patch" | "mini-json-patch">, import('mongoose').Document<unknown, {}, import('mongoose').FlatRecord<DBCommit<unknown, "json-patch" | "mini-json-patch">>> & import('mongoose').FlatRecord<DBCommit<unknown, "json-patch" | "mini-json-patch">> & Required<{
_id: import("mongoose").Types.ObjectId;
}>>;
export type DBCommitModel<TargetDocType = unknown> = Model<DBCommit<TargetDocType>>;
export type DBCommitDocument<TargetDocType = unknown, PatchName extends PatcherName = PatcherName> = HydratedDocument<DBCommit<TargetDocType, PatchName>>;