add commander for cli flags

This commit is contained in:
iamBadgers
2025-06-14 16:16:40 -07:00
parent 28a991c7d4
commit 882e8cf72a
4 changed files with 44 additions and 25 deletions

View File

@@ -3,17 +3,41 @@ import { MongoClient } from 'mongodb'
import { CharacterService } from './character_service'
import { DatabaseService } from './database'
import { Command } from 'commander'
// import { Flag } from './flags'
// const portFlag = new Flag<number>('-p', 8080)
const program = new Command()
program
.option('-p, --port <number>', 'server port number', '8080')
.option(
'--mongoPath <string>',
'mongo db path',
'mongodb://rushvault:rushvault@mongo:27017/',
)
.option(
'--mongoDb <string>',
'name of the databse to store collections',
'rush-vault',
)
program.parse()
const port = program.opts().port
const port = 8080
const address = `0.0.0.0:${port}`
const databaseService = new DatabaseService(
program.opts().mongoPath,
program.opts().mongoDb,
)
const characterService = new CharacterService(databaseService)
const app = new Server()
const databaseService = new DatabaseService('mongodb://rushvault:rushvault@mongo:27017/', 'rush-vault')
const characterService = new CharacterService(databaseService)
characterService.addToServer(app)
app.bindAsync(address, ServerCredentials.createInsecure(), () => {
characterService.addToServer(app)
console.log(`Starting server at ${address}`)
})

View File

@@ -20,10 +20,6 @@ export class CharacterService {
characterManager: ICharacterManager
databaseService: DatabaseService
// mongoClient: MongoClient
// db: Db
// characterCollection: Collection
constructor(databaseService: DatabaseService) {
this.reflectionService = new ReflectionService(
loadSync('./src/proto/character.proto'),
@@ -35,10 +31,6 @@ export class CharacterService {
}
this.databaseService = databaseService
// this.mongoClient = mongoClient
// this.db = this.mongoClient.db(dbName)
// this.characterCollection = this.db.collection('Characters')
}
addToServer(server: Server) {
@@ -51,17 +43,9 @@ export class CharacterService {
call: ServerUnaryCall<CreateCharacterRequest, Character>,
callback: sendUnaryData<Character>,
) {
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,
// })
// })
let newCharacter = await this.databaseService.insertCharacter(
call.request.characterData,
)
console.log(newCharacter)