diff --git a/vault/src/app.ts b/vault/src/app.ts index b8738bc..18cc1e0 100644 --- a/vault/src/app.ts +++ b/vault/src/app.ts @@ -9,38 +9,11 @@ const address = `0.0.0.0:${port}` const app = new Server() -const client = new MongoClient('mongodb://rushvault:rushvault@mongo:27017/') - -// initCharacterService(app) - -const characterService = new CharacterService(client, "rush-vault") +const databaseService = new DatabaseService('mongodb://rushvault:rushvault@mongo:27017/', 'rush-vault') +const characterService = new CharacterService(databaseService) characterService.addToServer(app) -// async function testDb() { -// try { -// // await client.connect() -// const database = client.db('test') -// const potato = database.collection('potato') - -// await potato.insertOne({ name: 'potato', potato: 'potato' }) -// } finally { -// await client.close() -// } -// } - app.bindAsync(address, ServerCredentials.createInsecure(), () => { - // await testDb().catch(console.dir) - - // let db = new DatabaseService( - // 'mongodb://rushvault:rushvault@mongo:27017/', - // 'rush-vault', - // ) - // console.log(await db.insertCharacter({ - // playerName: 'badger', - // characterName: 'potato', - // characterAlias: ['spud', 'tuber'], - // })) - console.log(`Starting server at ${address}`) }) diff --git a/vault/src/character_service.ts b/vault/src/character_service.ts index e506e1d..8ebd2fe 100644 --- a/vault/src/character_service.ts +++ b/vault/src/character_service.ts @@ -2,6 +2,7 @@ import { Server, ServerUnaryCall, sendUnaryData } from '@grpc/grpc-js' import { ReflectionService } from '@grpc/reflection' import { loadSync } from '@grpc/proto-loader' import { MongoClient, Collection, Db } from 'mongodb' +import { DatabaseService } from './database' import { Character, @@ -17,12 +18,13 @@ import { export class CharacterService { reflectionService: ReflectionService characterManager: ICharacterManager + databaseService: DatabaseService - mongoClient: MongoClient - db: Db - characterCollection: Collection + // mongoClient: MongoClient + // db: Db + // characterCollection: Collection - constructor(mongoClient: MongoClient, dbName: string) { + constructor(databaseService: DatabaseService) { this.reflectionService = new ReflectionService( loadSync('./src/proto/character.proto'), ) @@ -32,9 +34,11 @@ export class CharacterService { getCharacter: this.getCharacterCall.bind(this), } - this.mongoClient = mongoClient - this.db = this.mongoClient.db(dbName) - this.characterCollection = this.db.collection('Characters') + this.databaseService = databaseService + + // this.mongoClient = mongoClient + // this.db = this.mongoClient.db(dbName) + // this.characterCollection = this.db.collection('Characters') } addToServer(server: Server) { @@ -48,14 +52,16 @@ export class CharacterService { callback: sendUnaryData, ) { - let newCharacter = await this.characterCollection - .insertOne(call.request.characterData) - .then((insertResult) => { - console.log(insertResult) - return this.characterCollection.findOne({ - _id: insertResult.insertedId, - }) - }) + let newCharacter = await this.databaseService.insertCharacter(call.request.characterData) + + // this.characterCollection + // .insertOne(call.request.characterData) + // .then((insertResult) => { + // console.log(insertResult) + // return this.characterCollection.findOne({ + // _id: insertResult.insertedId, + // }) + // }) console.log(newCharacter)