@brontosaurus/db
Version:
:ocean: Schema for brontosaurus
18 lines (17 loc) • 695 B
TypeScript
import { ObjectID } from "bson";
import { RecordAccountPayload } from "../record/account";
export declare type RecordCategory = {
readonly ACCOUNT: RecordAccountPayload;
};
export interface IRecordConfig<C extends keyof RecordCategory, A extends keyof RecordCategory[C]> {
readonly application: ObjectID;
readonly target: ObjectID;
readonly category: C;
readonly action: A;
readonly payload: RecordCategory[C][A];
readonly extras: Record<string, any>;
}
export interface IRecord<C extends keyof RecordCategory = any, A extends keyof RecordCategory[C] = any> extends IRecordConfig<C, A> {
readonly createdAt: Date;
readonly updatedAt: Date;
}