From 23d5f6b28a93a3c66c0bd7776d6a42073cc55afb Mon Sep 17 00:00:00 2001 From: Tyler Schicke Date: Sat, 4 Jan 2020 22:41:08 -0800 Subject: Added basic implementation of MemoryDatabase --- src/server/IDatabase.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/server/IDatabase.ts (limited to 'src/server/IDatabase.ts') diff --git a/src/server/IDatabase.ts b/src/server/IDatabase.ts new file mode 100644 index 000000000..a7e3e2b0a --- /dev/null +++ b/src/server/IDatabase.ts @@ -0,0 +1,21 @@ +import * as mongodb from 'mongodb'; +import { Transferable } from './Message'; + +export const DocumentsCollection = 'documents'; +export const NewDocumentsCollection = 'newDocuments'; +export interface IDatabase { + update(id: string, value: any, callback: (err: mongodb.MongoError, res: mongodb.UpdateWriteOpResult) => void, upsert?: boolean, collectionName?: string): Promise; + + replace(id: string, value: any, callback: (err: mongodb.MongoError, res: mongodb.UpdateWriteOpResult) => void, upsert?: boolean, collectionName?: string): void; + + delete(query: any, collectionName?: string): Promise; + delete(id: string, collectionName?: string): Promise; + + deleteAll(collectionName?: string, persist?: boolean): Promise; + + insert(value: any, collectionName?: string): Promise; + + getDocument(id: string, fn: (result?: Transferable) => void, collectionName?: string): void; + getDocuments(ids: string[], fn: (result?: Transferable[]) => void, collectionName?: string): void; + visit(ids: string[], fn: (result: any) => string[] | Promise, collectionName?: string): Promise; +} -- cgit v1.2.3-70-g09d2