From 1f43ff468b439848df5455f161631019e6cb7cb5 Mon Sep 17 00:00:00 2001 From: iamBadgers Date: Sat, 14 Jun 2025 17:12:49 -0700 Subject: [PATCH] move flags to its own module. --- proto/character.client.ts | 49 --------- proto/character.grpc-server.ts | 53 ---------- proto/character.proto | 6 +- proto/character.ts | 186 --------------------------------- vault/src/database.ts | 25 +++-- 5 files changed, 21 insertions(+), 298 deletions(-) delete mode 100644 proto/character.client.ts delete mode 100644 proto/character.grpc-server.ts delete mode 100644 proto/character.ts diff --git a/proto/character.client.ts b/proto/character.client.ts deleted file mode 100644 index 6a2b8e5..0000000 --- a/proto/character.client.ts +++ /dev/null @@ -1,49 +0,0 @@ -// @generated by protobuf-ts 2.11.0 with parameter server_grpc1 -// @generated from protobuf file "character.proto" (syntax proto3) -// tslint:disable -import type { RpcTransport } from "@protobuf-ts/runtime-rpc"; -import type { ServiceInfo } from "@protobuf-ts/runtime-rpc"; -import { CharacterManager } from "./character"; -import type { GetCharacterRequest } from "./character"; -import { stackIntercept } from "@protobuf-ts/runtime-rpc"; -import type { Character } from "./character"; -import type { CreateCharacterRequest } from "./character"; -import type { UnaryCall } from "@protobuf-ts/runtime-rpc"; -import type { RpcOptions } from "@protobuf-ts/runtime-rpc"; -/** - * @generated from protobuf service CharacterManager - */ -export interface ICharacterManagerClient { - /** - * @generated from protobuf rpc: createCharacter - */ - createCharacter(input: CreateCharacterRequest, options?: RpcOptions): UnaryCall; - /** - * @generated from protobuf rpc: getCharacter - */ - getCharacter(input: GetCharacterRequest, options?: RpcOptions): UnaryCall; -} -/** - * @generated from protobuf service CharacterManager - */ -export class CharacterManagerClient implements ICharacterManagerClient, ServiceInfo { - typeName = CharacterManager.typeName; - methods = CharacterManager.methods; - options = CharacterManager.options; - constructor(private readonly _transport: RpcTransport) { - } - /** - * @generated from protobuf rpc: createCharacter - */ - createCharacter(input: CreateCharacterRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[0], opt = this._transport.mergeOptions(options); - return stackIntercept("unary", this._transport, method, opt, input); - } - /** - * @generated from protobuf rpc: getCharacter - */ - getCharacter(input: GetCharacterRequest, options?: RpcOptions): UnaryCall { - const method = this.methods[1], opt = this._transport.mergeOptions(options); - return stackIntercept("unary", this._transport, method, opt, input); - } -} diff --git a/proto/character.grpc-server.ts b/proto/character.grpc-server.ts deleted file mode 100644 index 41c96ed..0000000 --- a/proto/character.grpc-server.ts +++ /dev/null @@ -1,53 +0,0 @@ -// @generated by protobuf-ts 2.11.0 with parameter server_grpc1 -// @generated from protobuf file "character.proto" (syntax proto3) -// tslint:disable -import { GetCharacterRequest } from "./character"; -import { Character } from "./character"; -import { CreateCharacterRequest } from "./character"; -import type * as grpc from "@grpc/grpc-js"; -/** - * @generated from protobuf service CharacterManager - */ -export interface ICharacterManager extends grpc.UntypedServiceImplementation { - /** - * @generated from protobuf rpc: createCharacter - */ - createCharacter: grpc.handleUnaryCall; - /** - * @generated from protobuf rpc: getCharacter - */ - getCharacter: grpc.handleUnaryCall; -} -/** - * @grpc/grpc-js definition for the protobuf service CharacterManager. - * - * Usage: Implement the interface ICharacterManager and add to a grpc server. - * - * ```typescript - * const server = new grpc.Server(); - * const service: ICharacterManager = ... - * server.addService(characterManagerDefinition, service); - * ``` - */ -export const characterManagerDefinition: grpc.ServiceDefinition = { - createCharacter: { - path: "/CharacterManager/createCharacter", - originalName: "createCharacter", - requestStream: false, - responseStream: false, - responseDeserialize: bytes => Character.fromBinary(bytes), - requestDeserialize: bytes => CreateCharacterRequest.fromBinary(bytes), - responseSerialize: value => Buffer.from(Character.toBinary(value)), - requestSerialize: value => Buffer.from(CreateCharacterRequest.toBinary(value)) - }, - getCharacter: { - path: "/CharacterManager/getCharacter", - originalName: "getCharacter", - requestStream: false, - responseStream: false, - responseDeserialize: bytes => Character.fromBinary(bytes), - requestDeserialize: bytes => GetCharacterRequest.fromBinary(bytes), - responseSerialize: value => Buffer.from(Character.toBinary(value)), - requestSerialize: value => Buffer.from(GetCharacterRequest.toBinary(value)) - } -}; diff --git a/proto/character.proto b/proto/character.proto index b0106b8..e78ffea 100644 --- a/proto/character.proto +++ b/proto/character.proto @@ -5,6 +5,8 @@ service CharacterManager { rpc getCharacter(GetCharacterRequest) returns (Character); } +message Empty {} + message Character { string PlayerName = 1; string CharacterName = 2; @@ -15,4 +17,6 @@ message CreateCharacterRequest { Character characterData = 1; } -message GetCharacterRequest {} \ No newline at end of file +message GetCharacterRequest { + Empty empty = 1; +} \ No newline at end of file diff --git a/proto/character.ts b/proto/character.ts deleted file mode 100644 index 0b37146..0000000 --- a/proto/character.ts +++ /dev/null @@ -1,186 +0,0 @@ -// @generated by protobuf-ts 2.11.0 with parameter server_grpc1 -// @generated from protobuf file "character.proto" (syntax proto3) -// tslint:disable -import { ServiceType } from "@protobuf-ts/runtime-rpc"; -import type { BinaryWriteOptions } from "@protobuf-ts/runtime"; -import type { IBinaryWriter } from "@protobuf-ts/runtime"; -import { WireType } from "@protobuf-ts/runtime"; -import type { BinaryReadOptions } from "@protobuf-ts/runtime"; -import type { IBinaryReader } from "@protobuf-ts/runtime"; -import { UnknownFieldHandler } from "@protobuf-ts/runtime"; -import type { PartialMessage } from "@protobuf-ts/runtime"; -import { reflectionMergePartial } from "@protobuf-ts/runtime"; -import { MessageType } from "@protobuf-ts/runtime"; -/** - * @generated from protobuf message Character - */ -export interface Character { - /** - * @generated from protobuf field: string PlayerName = 1 - */ - playerName: string; - /** - * @generated from protobuf field: string CharacterName = 2 - */ - characterName: string; - /** - * @generated from protobuf field: repeated string CharacterAlias = 3 - */ - characterAlias: string[]; -} -/** - * @generated from protobuf message CreateCharacterRequest - */ -export interface CreateCharacterRequest { -} -/** - * @generated from protobuf message GetCharacterRequest - */ -export interface GetCharacterRequest { -} -// @generated message type with reflection information, may provide speed optimized methods -class Character$Type extends MessageType { - constructor() { - super("Character", [ - { no: 1, name: "PlayerName", kind: "scalar", jsonName: "PlayerName", T: 9 /*ScalarType.STRING*/ }, - { no: 2, name: "CharacterName", kind: "scalar", jsonName: "CharacterName", T: 9 /*ScalarType.STRING*/ }, - { no: 3, name: "CharacterAlias", kind: "scalar", jsonName: "CharacterAlias", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ } - ]); - } - create(value?: PartialMessage): Character { - const message = globalThis.Object.create((this.messagePrototype!)); - message.playerName = ""; - message.characterName = ""; - message.characterAlias = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Character): Character { - let message = target ?? this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string PlayerName */ 1: - message.playerName = reader.string(); - break; - case /* string CharacterName */ 2: - message.characterName = reader.string(); - break; - case /* repeated string CharacterAlias */ 3: - message.characterAlias.push(reader.string()); - break; - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message: Character, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { - /* string PlayerName = 1; */ - if (message.playerName !== "") - writer.tag(1, WireType.LengthDelimited).string(message.playerName); - /* string CharacterName = 2; */ - if (message.characterName !== "") - writer.tag(2, WireType.LengthDelimited).string(message.characterName); - /* repeated string CharacterAlias = 3; */ - for (let i = 0; i < message.characterAlias.length; i++) - writer.tag(3, WireType.LengthDelimited).string(message.characterAlias[i]); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message Character - */ -export const Character = new Character$Type(); -// @generated message type with reflection information, may provide speed optimized methods -class CreateCharacterRequest$Type extends MessageType { - constructor() { - super("CreateCharacterRequest", []); - } - create(value?: PartialMessage): CreateCharacterRequest { - const message = globalThis.Object.create((this.messagePrototype!)); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateCharacterRequest): CreateCharacterRequest { - let message = target ?? this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message: CreateCharacterRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message CreateCharacterRequest - */ -export const CreateCharacterRequest = new CreateCharacterRequest$Type(); -// @generated message type with reflection information, may provide speed optimized methods -class GetCharacterRequest$Type extends MessageType { - constructor() { - super("GetCharacterRequest", []); - } - create(value?: PartialMessage): GetCharacterRequest { - const message = globalThis.Object.create((this.messagePrototype!)); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetCharacterRequest): GetCharacterRequest { - let message = target ?? this.create(), end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - default: - let u = options.readUnknownField; - if (u === "throw") - throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); - } - } - return message; - } - internalBinaryWrite(message: GetCharacterRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); - return writer; - } -} -/** - * @generated MessageType for protobuf message GetCharacterRequest - */ -export const GetCharacterRequest = new GetCharacterRequest$Type(); -/** - * @generated ServiceType for protobuf service CharacterManager - */ -export const CharacterManager = new ServiceType("CharacterManager", [ - { name: "createCharacter", options: {}, I: CreateCharacterRequest, O: Character }, - { name: "getCharacter", options: {}, I: GetCharacterRequest, O: Character } -]); diff --git a/vault/src/database.ts b/vault/src/database.ts index bf60dbc..a558723 100644 --- a/vault/src/database.ts +++ b/vault/src/database.ts @@ -21,20 +21,27 @@ export class DatabaseService { _id: insertResult.insertedId, }) }) - .then((inserted) => { - return { - playerName: inserted.playerName, - characterName: inserted.characterName, - characterAlias: inserted.characterAlias, - } - }) + .then(recordToCharacter) } - fetchCharactersForPlayer(playerName: string): Array { - return [] + fetchCharactersForPlayer(playerName: string): Promise> { + return this.characterCollection + .find({ playerName: playerName }) + .toArray() + .then((results) => + results.map(recordToCharacter), + ) } fetchCharactersForCharacterName(playerName: string): Array { return [] } } + +function recordToCharacter(record): Character { + return { + playerName: record.playerName, + characterName: record.characterName, + characterAlias: record.characterAlias, + } +}