Compare commits
2 Commits
02007ffc94
...
a2a51754f7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a2a51754f7 | ||
|
|
7d13bc0c47 |
@@ -27,6 +27,10 @@ services:
|
|||||||
- rush-character-net
|
- rush-character-net
|
||||||
ports:
|
ports:
|
||||||
- 8081:8080
|
- 8081:8080
|
||||||
|
environment:
|
||||||
|
MONGO_URI: mongodb://rushvault:rushvault@mongo:27017/
|
||||||
|
depends_on:
|
||||||
|
- mongo
|
||||||
develop:
|
develop:
|
||||||
watch:
|
watch:
|
||||||
- action: sync
|
- action: sync
|
||||||
@@ -45,11 +49,20 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
MONGO_INITDB_ROOT_USERNAME: rushvault
|
MONGO_INITDB_ROOT_USERNAME: rushvault
|
||||||
MONGO_INITDB_ROOT_PASSWORD: rushvault
|
MONGO_INITDB_ROOT_PASSWORD: rushvault
|
||||||
|
MONGO_INITDB_DATABASE: DB
|
||||||
|
networks:
|
||||||
|
- rush-character-net
|
||||||
|
ports:
|
||||||
|
- 27017:27017
|
||||||
mongo-express:
|
mongo-express:
|
||||||
image: mongo-express
|
image: mongo-express
|
||||||
restart: always
|
restart: always
|
||||||
|
networks:
|
||||||
|
- rush-character-net
|
||||||
ports:
|
ports:
|
||||||
- 8083:8081
|
- 8083:8081
|
||||||
|
depends_on:
|
||||||
|
- mongo
|
||||||
environment:
|
environment:
|
||||||
ME_CONFIG_MONGODB_ADMINUSERNAME: rushvault
|
ME_CONFIG_MONGODB_ADMINUSERNAME: rushvault
|
||||||
ME_CONFIG_MONGODB_ADMINPASSWORD: rushvault
|
ME_CONFIG_MONGODB_ADMINPASSWORD: rushvault
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
"env": {
|
|
||||||
"browser": true,
|
|
||||||
"es2021": true
|
|
||||||
},
|
|
||||||
"extends": [
|
|
||||||
"eslint:recommended",
|
|
||||||
"plugin:@typescript-eslint/recommended"
|
|
||||||
],
|
|
||||||
"overrides": [
|
|
||||||
{
|
|
||||||
"env": {
|
|
||||||
"node": true
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
".eslintrc.{js,cjs}"
|
|
||||||
],
|
|
||||||
"parserOptions": {
|
|
||||||
"sourceType": "script"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"parser": "@typescript-eslint/parser",
|
|
||||||
"parserOptions": {
|
|
||||||
"ecmaVersion": "latest",
|
|
||||||
"sourceType": "module"
|
|
||||||
},
|
|
||||||
"plugins": [
|
|
||||||
"@typescript-eslint"
|
|
||||||
],
|
|
||||||
"rules": {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
3
vault/.prettierignore
Normal file
3
vault/.prettierignore
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Ignore artifacts:
|
||||||
|
build
|
||||||
|
coverage
|
||||||
11
vault/eslint.config.mjs
Normal file
11
vault/eslint.config.mjs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import js from "@eslint/js";
|
||||||
|
import globals from "globals";
|
||||||
|
import tseslint from "typescript-eslint";
|
||||||
|
import { defineConfig } from "eslint/config";
|
||||||
|
|
||||||
|
|
||||||
|
export default defineConfig([
|
||||||
|
{ files: ["**/*.{js,mjs,cjs,ts,mts,cts}"], plugins: { js }, extends: ["js/recommended"] },
|
||||||
|
{ files: ["**/*.{js,mjs,cjs,ts,mts,cts}"], languageOptions: { globals: globals.node } },
|
||||||
|
tseslint.configs.recommended,
|
||||||
|
]);
|
||||||
6476
vault/package-lock.json
generated
6476
vault/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,44 +1,34 @@
|
|||||||
{
|
{
|
||||||
"name": "vault",
|
"name": "vault",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "",
|
"description": "backend for rush cahracter archive",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"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",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
"lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
"format": "npx prettier . --write",
|
||||||
"format": "prettier --write src/",
|
"lint": "npx eslint . --ext .ts"
|
||||||
"dev": "npx ts-node-dev src/app.ts",
|
|
||||||
"build": "webpack && cp package.json ./dist/package.json"
|
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"author": "iamBadgers",
|
||||||
"author": "",
|
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/express": "^4.17.21",
|
"@eslint/js": "^9.28.0",
|
||||||
"@types/sequelize": "^4.28.20",
|
"@types/express": "^5.0.3",
|
||||||
"@types/sqlite3": "^3.1.11",
|
"@types/node": "^22.15.30",
|
||||||
"@typescript-eslint/eslint-plugin": "^7.1.1",
|
"eslint": "^9.28.0",
|
||||||
"@typescript-eslint/parser": "^7.1.1",
|
"globals": "^16.2.0",
|
||||||
"crossenv": "^0.0.2-security",
|
"prettier": "3.5.3",
|
||||||
"eslint": "^8.57.0",
|
"ts-node": "^10.9.2",
|
||||||
"node-polyfill-webpack-plugin": "^4.0.0",
|
"typescript": "^5.8.3",
|
||||||
"prettier": "^3.2.5",
|
"typescript-eslint": "^8.33.1"
|
||||||
"ts-loader": "^9.5.1",
|
|
||||||
"typescript": "^5.4.5",
|
|
||||||
"webpack-cli": "^5.1.4"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/body-parser": "^1.19.5",
|
"@grpc/grpc-js": "^1.13.4",
|
||||||
"asty-astq": "^1.14.0",
|
"@protobuf-ts/protoc": "^2.11.0",
|
||||||
"body-parser": "^1.20.2",
|
"express": "^5.1.0",
|
||||||
"express": "^4.21.2",
|
"mongodb": "^6.17.0"
|
||||||
"memcached": "^2.2.2",
|
|
||||||
"net": "^1.0.2",
|
|
||||||
"pg": "^8.16.0",
|
|
||||||
"pg-hstore": "^2.3.4",
|
|
||||||
"sequelize": "^6.37.1",
|
|
||||||
"sqlite3": "^5.1.7",
|
|
||||||
"tokenizr": "^1.7.0",
|
|
||||||
"webpack-node-externals": "^3.0.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
20
vault/proto/character.proto
Normal file
20
vault/proto/character.proto
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
service CharacterManager {
|
||||||
|
rpc createCharacter(CreateCharacterRequest) returns (CreateCharacterResponse);
|
||||||
|
rpc getCharacter(GetCharacterRequest) returns (GetCharacterResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
message Character {
|
||||||
|
string PlayerName = 1;
|
||||||
|
string CharacterName = 2;
|
||||||
|
repeated string CharacterAlias = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message CreateCharacterRequest {}
|
||||||
|
|
||||||
|
message CreateCharacterResponse {}
|
||||||
|
|
||||||
|
message GetCharacterRequest {}
|
||||||
|
|
||||||
|
message GetCharacterResponse {}
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
import express from 'express'
|
import express from 'express'
|
||||||
import { buildClient } from './db'
|
|
||||||
|
|
||||||
const app = express()
|
const app = express()
|
||||||
|
|
||||||
const dbClient = buildClient('db', 'rushvault', 'rushvault', 'rushvault')
|
|
||||||
|
|
||||||
app.get('/api/person', async (req, res) => {
|
app.get('/api/person', async (req, res) => {
|
||||||
res.status(200).send('potato!')
|
res.status(200).send('potato!')
|
||||||
@@ -11,6 +9,4 @@ app.get('/api/person', async (req, res) => {
|
|||||||
|
|
||||||
app.listen(8080, async () => {
|
app.listen(8080, async () => {
|
||||||
console.log('starting on 8080')
|
console.log('starting on 8080')
|
||||||
dbClient.connect()
|
|
||||||
console.log(await dbClient.query('SELECT NOW()'))
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
import { Client } from 'pg'
|
|
||||||
|
|
||||||
export function buildClient(
|
|
||||||
host: string,
|
|
||||||
user: string,
|
|
||||||
password: string,
|
|
||||||
database: string,
|
|
||||||
) {
|
|
||||||
return new Client({ user, password, host, database })
|
|
||||||
}
|
|
||||||
|
|
||||||
// export class VaultDbClient {
|
|
||||||
// client: Client
|
|
||||||
|
|
||||||
// constructor(
|
|
||||||
// host: string,
|
|
||||||
// port: number,
|
|
||||||
// user: string,
|
|
||||||
// password: string,
|
|
||||||
// database: string,
|
|
||||||
// ) {
|
|
||||||
// this.client = new Client({ user, password, host, port, database })
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
340
vault/src/proto/character.ts
Normal file
340
vault/src/proto/character.ts
Normal file
@@ -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<P, R> {
|
||||||
|
(message: P, metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
|
||||||
|
(message: P, metadata: grpc_1.Metadata, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
|
||||||
|
(message: P, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
|
||||||
|
(message: P, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
|
||||||
|
}
|
||||||
|
interface GrpcStreamServiceInterface<P, R> {
|
||||||
|
(message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<R>;
|
||||||
|
(message: P, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<R>;
|
||||||
|
}
|
||||||
|
interface GrpWritableServiceInterface<P, R> {
|
||||||
|
(metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
|
||||||
|
(metadata: grpc_1.Metadata, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
|
||||||
|
(options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
|
||||||
|
(callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
|
||||||
|
}
|
||||||
|
interface GrpcChunkServiceInterface<P, R> {
|
||||||
|
(metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<P, R>;
|
||||||
|
(options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<P, R>;
|
||||||
|
}
|
||||||
|
interface GrpcPromiseServiceInterface<P, R> {
|
||||||
|
(message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): Promise<R>;
|
||||||
|
(message: P, options?: grpc_1.CallOptions): Promise<R>;
|
||||||
|
}
|
||||||
|
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<CreateCharacterRequest, CreateCharacterResponse>, callback: grpc_1.sendUnaryData<CreateCharacterResponse>): void;
|
||||||
|
abstract getCharacter(call: grpc_1.ServerUnaryCall<GetCharacterRequest, GetCharacterResponse>, callback: grpc_1.sendUnaryData<GetCharacterResponse>): void;
|
||||||
|
}
|
||||||
|
export class CharacterManagerClient extends grpc_1.makeGenericClientConstructor(UnimplementedCharacterManagerService.definition, "CharacterManager", {}) {
|
||||||
|
constructor(address: string, credentials: grpc_1.ChannelCredentials, options?: Partial<grpc_1.ChannelOptions>) {
|
||||||
|
super(address, credentials, options);
|
||||||
|
}
|
||||||
|
createCharacter: GrpcUnaryServiceInterface<CreateCharacterRequest, CreateCharacterResponse> = (message: CreateCharacterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<CreateCharacterResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<CreateCharacterResponse>, callback?: grpc_1.requestCallback<CreateCharacterResponse>): grpc_1.ClientUnaryCall => {
|
||||||
|
return super.createCharacter(message, metadata, options, callback);
|
||||||
|
};
|
||||||
|
getCharacter: GrpcUnaryServiceInterface<GetCharacterRequest, GetCharacterResponse> = (message: GetCharacterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<GetCharacterResponse>, options?: grpc_1.CallOptions | grpc_1.requestCallback<GetCharacterResponse>, callback?: grpc_1.requestCallback<GetCharacterResponse>): grpc_1.ClientUnaryCall => {
|
||||||
|
return super.getCharacter(message, metadata, options, callback);
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
const path = require('path');
|
|
||||||
const NodePolyfillPlugin = require("node-polyfill-webpack-plugin")
|
|
||||||
const nodeExternals = require('webpack-node-externals');
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
mode: 'production',
|
|
||||||
entry: './src/app.ts',
|
|
||||||
module: {
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
test: /\.tsx?$/,
|
|
||||||
use: 'ts-loader',
|
|
||||||
exclude: /node_modules/,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}, node: {
|
|
||||||
__dirname: false
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
extensions: ['.tsx', '.ts', '.js'],
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
filename: 'app.js',
|
|
||||||
path: path.resolve(__dirname, './dist'),
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
new NodePolyfillPlugin(),
|
|
||||||
],
|
|
||||||
externals: [nodeExternals()],
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user