import { IWrite } from './IWrite'; import { IRead } from './IRead'; import { MongoClient, Db, Collection, InsertOneWriteOpResult } from 'mongodb'; export abstract class BaseRepository implements IWrite, IRead{ public readonly _collection: Collection; constructor(db: Db, collectionName: string) { this._collection = db.collection(collectionName); } async create(item: T): Promise { const result: InsertOneWriteOpResult = await this._collection.insert(item); return !!result.result.ok; } update(id: string, item: T): Promise { throw new Error('Method not implemented.'); } delete(id: string): Promise { throw new Error('Method not implemented.'); } find(item: T): Promise { throw new Error('Method not implemented.'); } findOne(id: string): Promise { throw new Error('Method not implemented.'); } }