diff --git a/vault/package.json b/vault/package.json index 6732f4c..1b864df 100644 --- a/vault/package.json +++ b/vault/package.json @@ -4,9 +4,10 @@ "description": "backend for rush cahracter archive", "main": "index.js", "scripts": { - "build": "tsc", - "start": "tsc && node dist/app.js", - "dev": "npx ts-node-dev src/app.ts", + "build_protos": "protoc --ts_out=src ./proto/*", + "build": "protoc --ts_out=src ./proto/* && tsc", + "start": "protoc --ts_out=src ./proto/* && tsc && node dist/app.js", + "dev": "protoc --ts_out=src ./proto/* npx ts-node-dev src/app.ts", "test": "echo \"Error: no test specified\" && exit 1", "format": "npx prettier . --write", "lint": "npx eslint . --ext .ts" diff --git a/vault/proto/character.proto b/vault/proto/character.proto index d0b57a8..fa8f810 100644 --- a/vault/proto/character.proto +++ b/vault/proto/character.proto @@ -5,7 +5,11 @@ service CharacterManager { rpc getCharacter(GetCharacterRequest) returns (GetCharacterResponse); } -message Character {} +message Character { + string PlayerName = 1; + string CharacterName = 2; + repeated string CharacterAlias = 3; +} message CreateCharacterRequest {} diff --git a/vault/src/proto/character.ts b/vault/src/proto/character.ts new file mode 100644 index 0000000..f9b6920 --- /dev/null +++ b/vault/src/proto/character.ts @@ -0,0 +1,340 @@ +/** + * Generated by the protoc-gen-ts. DO NOT EDIT! + * compiler version: 6.31.0 + * source: proto/character.proto + * git: https://github.com/thesayyn/protoc-gen-ts */ +import * as pb_1 from "google-protobuf"; +import * as grpc_1 from "@grpc/grpc-js"; +export class Character extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | { + PlayerName?: string; + CharacterName?: string; + CharacterAlias?: string[]; + }) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [3], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { + if ("PlayerName" in data && data.PlayerName != undefined) { + this.PlayerName = data.PlayerName; + } + if ("CharacterName" in data && data.CharacterName != undefined) { + this.CharacterName = data.CharacterName; + } + if ("CharacterAlias" in data && data.CharacterAlias != undefined) { + this.CharacterAlias = data.CharacterAlias; + } + } + } + get PlayerName() { + return pb_1.Message.getFieldWithDefault(this, 1, "") as string; + } + set PlayerName(value: string) { + pb_1.Message.setField(this, 1, value); + } + get CharacterName() { + return pb_1.Message.getFieldWithDefault(this, 2, "") as string; + } + set CharacterName(value: string) { + pb_1.Message.setField(this, 2, value); + } + get CharacterAlias() { + return pb_1.Message.getFieldWithDefault(this, 3, []) as string[]; + } + set CharacterAlias(value: string[]) { + pb_1.Message.setField(this, 3, value); + } + static fromObject(data: { + PlayerName?: string; + CharacterName?: string; + CharacterAlias?: string[]; + }): Character { + const message = new Character({}); + if (data.PlayerName != null) { + message.PlayerName = data.PlayerName; + } + if (data.CharacterName != null) { + message.CharacterName = data.CharacterName; + } + if (data.CharacterAlias != null) { + message.CharacterAlias = data.CharacterAlias; + } + return message; + } + toObject() { + const data: { + PlayerName?: string; + CharacterName?: string; + CharacterAlias?: string[]; + } = {}; + if (this.PlayerName != null) { + data.PlayerName = this.PlayerName; + } + if (this.CharacterName != null) { + data.CharacterName = this.CharacterName; + } + if (this.CharacterAlias != null) { + data.CharacterAlias = this.CharacterAlias; + } + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (this.PlayerName.length) + writer.writeString(1, this.PlayerName); + if (this.CharacterName.length) + writer.writeString(2, this.CharacterName); + if (this.CharacterAlias.length) + writer.writeRepeatedString(3, this.CharacterAlias); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Character { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Character(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + case 1: + message.PlayerName = reader.readString(); + break; + case 2: + message.CharacterName = reader.readString(); + break; + case 3: + pb_1.Message.addToRepeatedField(message, 3, reader.readString()); + break; + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): Character { + return Character.deserialize(bytes); + } +} +export class CreateCharacterRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | {}) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { } + } + static fromObject(data: {}): CreateCharacterRequest { + const message = new CreateCharacterRequest({}); + return message; + } + toObject() { + const data: {} = {}; + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CreateCharacterRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CreateCharacterRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): CreateCharacterRequest { + return CreateCharacterRequest.deserialize(bytes); + } +} +export class CreateCharacterResponse extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | {}) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { } + } + static fromObject(data: {}): CreateCharacterResponse { + const message = new CreateCharacterResponse({}); + return message; + } + toObject() { + const data: {} = {}; + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CreateCharacterResponse { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CreateCharacterResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): CreateCharacterResponse { + return CreateCharacterResponse.deserialize(bytes); + } +} +export class GetCharacterRequest extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | {}) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { } + } + static fromObject(data: {}): GetCharacterRequest { + const message = new GetCharacterRequest({}); + return message; + } + toObject() { + const data: {} = {}; + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): GetCharacterRequest { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new GetCharacterRequest(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): GetCharacterRequest { + return GetCharacterRequest.deserialize(bytes); + } +} +export class GetCharacterResponse extends pb_1.Message { + #one_of_decls: number[][] = []; + constructor(data?: any[] | {}) { + super(); + pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls); + if (!Array.isArray(data) && typeof data == "object") { } + } + static fromObject(data: {}): GetCharacterResponse { + const message = new GetCharacterResponse({}); + return message; + } + toObject() { + const data: {} = {}; + return data; + } + serialize(): Uint8Array; + serialize(w: pb_1.BinaryWriter): void; + serialize(w?: pb_1.BinaryWriter): Uint8Array | void { + const writer = w || new pb_1.BinaryWriter(); + if (!w) + return writer.getResultBuffer(); + } + static deserialize(bytes: Uint8Array | pb_1.BinaryReader): GetCharacterResponse { + const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new GetCharacterResponse(); + while (reader.nextField()) { + if (reader.isEndGroup()) + break; + switch (reader.getFieldNumber()) { + default: reader.skipField(); + } + } + return message; + } + serializeBinary(): Uint8Array { + return this.serialize(); + } + static deserializeBinary(bytes: Uint8Array): GetCharacterResponse { + return GetCharacterResponse.deserialize(bytes); + } +} +interface GrpcUnaryServiceInterface { + (message: P, metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback): grpc_1.ClientUnaryCall; + (message: P, metadata: grpc_1.Metadata, callback: grpc_1.requestCallback): grpc_1.ClientUnaryCall; + (message: P, options: grpc_1.CallOptions, callback: grpc_1.requestCallback): grpc_1.ClientUnaryCall; + (message: P, callback: grpc_1.requestCallback): grpc_1.ClientUnaryCall; +} +interface GrpcStreamServiceInterface { + (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream; + (message: P, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream; +} +interface GrpWritableServiceInterface { + (metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback): grpc_1.ClientWritableStream

; + (metadata: grpc_1.Metadata, callback: grpc_1.requestCallback): grpc_1.ClientWritableStream

; + (options: grpc_1.CallOptions, callback: grpc_1.requestCallback): grpc_1.ClientWritableStream

; + (callback: grpc_1.requestCallback): grpc_1.ClientWritableStream

; +} +interface GrpcChunkServiceInterface { + (metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream; + (options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream; +} +interface GrpcPromiseServiceInterface { + (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): Promise; + (message: P, options?: grpc_1.CallOptions): Promise; +} +export abstract class UnimplementedCharacterManagerService { + static definition = { + createCharacter: { + path: "/CharacterManager/createCharacter", + requestStream: false, + responseStream: false, + requestSerialize: (message: CreateCharacterRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => CreateCharacterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: CreateCharacterResponse) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => CreateCharacterResponse.deserialize(new Uint8Array(bytes)) + }, + getCharacter: { + path: "/CharacterManager/getCharacter", + requestStream: false, + responseStream: false, + requestSerialize: (message: GetCharacterRequest) => Buffer.from(message.serialize()), + requestDeserialize: (bytes: Buffer) => GetCharacterRequest.deserialize(new Uint8Array(bytes)), + responseSerialize: (message: GetCharacterResponse) => Buffer.from(message.serialize()), + responseDeserialize: (bytes: Buffer) => GetCharacterResponse.deserialize(new Uint8Array(bytes)) + } + }; + [method: string]: grpc_1.UntypedHandleCall; + abstract createCharacter(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; + abstract getCharacter(call: grpc_1.ServerUnaryCall, callback: grpc_1.sendUnaryData): void; +} +export class CharacterManagerClient extends grpc_1.makeGenericClientConstructor(UnimplementedCharacterManagerService.definition, "CharacterManager", {}) { + constructor(address: string, credentials: grpc_1.ChannelCredentials, options?: Partial) { + super(address, credentials, options); + } + createCharacter: GrpcUnaryServiceInterface = (message: CreateCharacterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.createCharacter(message, metadata, options, callback); + }; + getCharacter: GrpcUnaryServiceInterface = (message: GetCharacterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback, options?: grpc_1.CallOptions | grpc_1.requestCallback, callback?: grpc_1.requestCallback): grpc_1.ClientUnaryCall => { + return super.getCharacter(message, metadata, options, callback); + }; +}