From e4ff7a2f98370b20f9d3cd58eaf178426c91147d Mon Sep 17 00:00:00 2001 From: Rakib Ansary Date: Fri, 27 Jan 2023 04:38:54 +0600 Subject: [PATCH 1/6] feat: add project, resource, payment schema --- src/common/QueryRunner.ts | 33 +++++++++++-------- src/domain/LegacyChallenge.ts | 7 ++-- src/domain/LegacyChallengePhase.ts | 18 +++++----- src/schema/{ => project}/PhaseType.ts | 6 ++-- src/schema/{ => project}/Project.ts | 6 ++-- src/schema/{ => project}/ProjectPhase.ts | 6 ++-- src/schema/{ => project}/ProjectStatus.ts | 6 ++-- src/schema/{ => project_payment}/Prize.ts | 8 ++--- src/schema/{ => project_payment}/PrizeType.ts | 4 +-- src/schema/project_payment/ProjectPayment.ts | 16 +++++++++ .../ProjectPaymentAdjustment.ts | 13 ++++++++ .../project_payment/ProjectPaymentType.ts | 13 ++++++++ src/schema/resource/Resource.ts | 16 +++++++++ src/schema/resource/ResourceInfo.ts | 14 ++++++++ src/schema/resource/ResourceInfoType.ts | 14 ++++++++ src/schema/resource/ResourceRole.ts | 15 +++++++++ src/schema/resource/ResourceSubmission.ts | 13 ++++++++ 17 files changed, 163 insertions(+), 45 deletions(-) rename src/schema/{ => project}/PhaseType.ts (66%) rename src/schema/{ => project}/Project.ts (72%) rename src/schema/{ => project}/ProjectPhase.ts (84%) rename src/schema/{ => project}/ProjectStatus.ts (67%) rename src/schema/{ => project_payment}/Prize.ts (74%) rename src/schema/{ => project_payment}/PrizeType.ts (69%) create mode 100644 src/schema/project_payment/ProjectPayment.ts create mode 100644 src/schema/project_payment/ProjectPaymentAdjustment.ts create mode 100644 src/schema/project_payment/ProjectPaymentType.ts create mode 100644 src/schema/resource/Resource.ts create mode 100644 src/schema/resource/ResourceInfo.ts create mode 100644 src/schema/resource/ResourceInfoType.ts create mode 100644 src/schema/resource/ResourceRole.ts create mode 100644 src/schema/resource/ResourceSubmission.ts diff --git a/src/common/QueryRunner.ts b/src/common/QueryRunner.ts index d9ad99c..6b2ba9e 100644 --- a/src/common/QueryRunner.ts +++ b/src/common/QueryRunner.ts @@ -37,9 +37,9 @@ export interface JoinClause { export interface WhereClause { where(whereCriteria: { - key: string, - operator: Operator, - value: Value + key: string; + operator: Operator; + value: Value; }): JoinAndWhereClause & LimitClause & OffsetClause; } @@ -56,16 +56,23 @@ export interface InsertQuery { } export interface UpdateQuery { - update(lookupCriteria: {[key: string]: unknown} ,input: UpdateInput): ExecuteSqlQuery; + update(lookupCriteria: { [key: string]: unknown }, input: UpdateInput): ExecuteSqlQuery; } export interface DeleteQuery { delete(): ExecuteSqlQuery; } -export class QueryRunner - implements - SelectQuery, JoinClause, WhereClause, LimitClause, OffsetClause, +export class QueryRunner< + T, + CreateInput extends { [key: string]: unknown }, + UpdateInput extends { [key: string]: unknown } +> implements + SelectQuery, + JoinClause, + WhereClause, + LimitClause, + OffsetClause, InsertQuery, UpdateQuery, DeleteQuery, @@ -85,7 +92,7 @@ export class QueryRunner ({ tableName: this.schema.tableName, name: col.name, - type: col.type + type: col.type, })), where: [], join: [], @@ -101,9 +108,9 @@ export class QueryRunner { diff --git a/src/schema/PhaseType.ts b/src/schema/project/PhaseType.ts similarity index 66% rename from src/schema/PhaseType.ts rename to src/schema/project/PhaseType.ts index e95449c..4a771c5 100644 --- a/src/schema/PhaseType.ts +++ b/src/schema/project/PhaseType.ts @@ -1,6 +1,6 @@ -import { Schema } from "../common/QueryRunner"; -import { ColumnType } from "../../dist/grpc/models/rdb/relational"; -import { AuditColumns } from "./common/AuditColumns"; +import { Schema } from "../../common/QueryRunner"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { AuditColumns } from "../common/AuditColumns"; export const PhaseType: Schema = { dbSchema: "tcs_catalog", diff --git a/src/schema/Project.ts b/src/schema/project/Project.ts similarity index 72% rename from src/schema/Project.ts rename to src/schema/project/Project.ts index a458267..b71e0a7 100644 --- a/src/schema/Project.ts +++ b/src/schema/project/Project.ts @@ -1,6 +1,6 @@ -import { Schema } from "../common/QueryRunner"; -import { ColumnType } from "../grpc/models/rdb/relational"; -import { AuditColumns } from "./common/AuditColumns"; +import { Schema } from "../../common/QueryRunner"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { AuditColumns } from "../common/AuditColumns"; export const Project: Schema = { dbSchema: "tcs_catalog", diff --git a/src/schema/ProjectPhase.ts b/src/schema/project/ProjectPhase.ts similarity index 84% rename from src/schema/ProjectPhase.ts rename to src/schema/project/ProjectPhase.ts index 1dea7f4..f82c5ce 100644 --- a/src/schema/ProjectPhase.ts +++ b/src/schema/project/ProjectPhase.ts @@ -1,6 +1,6 @@ -import { Schema } from "../common/QueryRunner"; -import { ColumnType } from "../grpc/models/rdb/relational"; -import { AuditColumns } from "./common/AuditColumns"; +import { Schema } from "../../common/QueryRunner"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { AuditColumns } from "../common/AuditColumns"; export const ProjectPhaseSchema: Schema = { dbSchema: "tcs_catalog", diff --git a/src/schema/ProjectStatus.ts b/src/schema/project/ProjectStatus.ts similarity index 67% rename from src/schema/ProjectStatus.ts rename to src/schema/project/ProjectStatus.ts index e9ae1dd..6b6b2c2 100644 --- a/src/schema/ProjectStatus.ts +++ b/src/schema/project/ProjectStatus.ts @@ -1,6 +1,6 @@ -import { Schema } from "../common/QueryRunner.js"; -import { ColumnType } from "../grpc/models/rdb/relational.js"; -import { AuditColumns } from "./common/AuditColumns"; +import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { AuditColumns } from "../common/AuditColumns"; export const ProjectStatus: Schema = { dbSchema: "tcs_catalog", diff --git a/src/schema/Prize.ts b/src/schema/project_payment/Prize.ts similarity index 74% rename from src/schema/Prize.ts rename to src/schema/project_payment/Prize.ts index 985e054..41aae0f 100644 --- a/src/schema/Prize.ts +++ b/src/schema/project_payment/Prize.ts @@ -1,6 +1,6 @@ -import { Schema } from "../common/QueryRunner"; -import { ColumnType } from "../grpc/models/rdb/relational"; -import { AuditColumns } from "./common/AuditColumns"; +import { Schema } from "../../common/QueryRunner"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { AuditColumns } from "../common/AuditColumns"; export const Prize: Schema = { dbSchema: "tcs_catalog", @@ -10,7 +10,7 @@ export const Prize: Schema = { prizeId: { name: "prize_id", type: ColumnType.COLUMN_TYPE_INT }, project_id: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, prizeTypeId: { name: "prize_type_id", type: ColumnType.COLUMN_TYPE_INT }, - prizeAmount: { name: "prize_amount", type: ColumnType.COLUMN_TYPE_INT }, + prizeAmount: { name: "prize_amount", type: ColumnType.COLUMN_TYPE_FLOAT }, numberOfSubmissions: { name: "number_of_submissions", type: ColumnType.COLUMN_TYPE_INT }, ...AuditColumns, }, diff --git a/src/schema/PrizeType.ts b/src/schema/project_payment/PrizeType.ts similarity index 69% rename from src/schema/PrizeType.ts rename to src/schema/project_payment/PrizeType.ts index e6527f3..73c3c14 100644 --- a/src/schema/PrizeType.ts +++ b/src/schema/project_payment/PrizeType.ts @@ -1,5 +1,5 @@ -import { Schema } from "../common/QueryRunner"; -import { ColumnType } from "../grpc/models/rdb/relational"; +import { Schema } from "../../common/QueryRunner"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; export const PrizeType: Schema = { dbSchema: "tcs_catalog", diff --git a/src/schema/project_payment/ProjectPayment.ts b/src/schema/project_payment/ProjectPayment.ts new file mode 100644 index 0000000..4df7c51 --- /dev/null +++ b/src/schema/project_payment/ProjectPayment.ts @@ -0,0 +1,16 @@ +import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { Schema } from "../../common/QueryRunner"; +import { AuditColumns } from "../common/AuditColumns"; + +export const ProjectPayment: Schema = { + dbSchema: "tcs_catalog", + tableName: "project_payment", + columns: { + place: { name: "place", type: ColumnType.COLUMN_TYPE_INT }, + prizeId: { name: "prize_id", type: ColumnType.COLUMN_TYPE_INT }, + project_id: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, + prizeTypeId: { name: "prize_type_id", type: ColumnType.COLUMN_TYPE_INT }, + prizeAmount: { name: "prize_amount", type: ColumnType.COLUMN_TYPE_FLOAT }, + ...AuditColumns, + }, +}; diff --git a/src/schema/project_payment/ProjectPaymentAdjustment.ts b/src/schema/project_payment/ProjectPaymentAdjustment.ts new file mode 100644 index 0000000..d552de4 --- /dev/null +++ b/src/schema/project_payment/ProjectPaymentAdjustment.ts @@ -0,0 +1,13 @@ +import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { Schema } from "../../common/QueryRunner"; + +export const ProjectPaymentAdjustment: Schema = { + dbSchema: "tcs_catalog", + tableName: "project_payment_adjustment", + columns: { + projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, + resourceRoleId: { name: "resource_role_id", type: ColumnType.COLUMN_TYPE_INT }, + fixedAmount: { name: "fixed_amount", type: ColumnType.COLUMN_TYPE_FLOAT }, + multiplier: { name: "multiplier", type: ColumnType.COLUMN_TYPE_INT }, + }, +}; diff --git a/src/schema/project_payment/ProjectPaymentType.ts b/src/schema/project_payment/ProjectPaymentType.ts new file mode 100644 index 0000000..f1a27f2 --- /dev/null +++ b/src/schema/project_payment/ProjectPaymentType.ts @@ -0,0 +1,13 @@ +import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { Schema } from "../../common/QueryRunner"; + +export const ProjectPaymentAdjustment: Schema = { + dbSchema: "tcs_catalog", + tableName: "project_payment_type_lu", + columns: { + projectPaymentTypeId: { name: "project_payment_type_id", type: ColumnType.COLUMN_TYPE_INT }, + name: { name: "name", type: ColumnType.COLUMN_TYPE_STRING }, + mergeable: { name: "mergeable", type: ColumnType.COLUMN_TYPE_BOOLEAN }, + pactsPaymentTypeId: { name: "pacts_payment_type_id", type: ColumnType.COLUMN_TYPE_INT }, + }, +}; diff --git a/src/schema/resource/Resource.ts b/src/schema/resource/Resource.ts new file mode 100644 index 0000000..7e708c7 --- /dev/null +++ b/src/schema/resource/Resource.ts @@ -0,0 +1,16 @@ +import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { AuditColumns } from "../common/AuditColumns"; + +export const Resource: Schema = { + dbSchema: "tcs_catalog", + tableName: "resource", + columns: { + resourceId: { name: "resource_id", type: ColumnType.COLUMN_TYPE_INT }, + resourceRoleId: { name: "resource_role_id", type: ColumnType.COLUMN_TYPE_INT }, + projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, + projectPhaseId: { name: "project_phase_id", type: ColumnType.COLUMN_TYPE_INT }, + userId: { name: "user_id", type: ColumnType.COLUMN_TYPE_INT }, + ...AuditColumns, + }, +}; diff --git a/src/schema/resource/ResourceInfo.ts b/src/schema/resource/ResourceInfo.ts new file mode 100644 index 0000000..419da25 --- /dev/null +++ b/src/schema/resource/ResourceInfo.ts @@ -0,0 +1,14 @@ +import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { AuditColumns } from "../common/AuditColumns"; + +export const Resource: Schema = { + dbSchema: "tcs_catalog", + tableName: "resource_info", + columns: { + resourceId: { name: "resource_id", type: ColumnType.COLUMN_TYPE_INT }, + resourceInfoTypeId: { name: "resource_info_type_id", type: ColumnType.COLUMN_TYPE_INT }, + value: { name: "value", type: ColumnType.COLUMN_TYPE_STRING }, + ...AuditColumns, + }, +}; diff --git a/src/schema/resource/ResourceInfoType.ts b/src/schema/resource/ResourceInfoType.ts new file mode 100644 index 0000000..eacc936 --- /dev/null +++ b/src/schema/resource/ResourceInfoType.ts @@ -0,0 +1,14 @@ +import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { AuditColumns } from "../common/AuditColumns"; + +export const Resource: Schema = { + dbSchema: "tcs_catalog", + tableName: "resource_info_type_lu", + columns: { + resourceInfoTypeId: { name: "resource_info_type_id", type: ColumnType.COLUMN_TYPE_INT }, + name: { name: "name", type: ColumnType.COLUMN_TYPE_STRING }, + description: { name: "description", type: ColumnType.COLUMN_TYPE_STRING }, + ...AuditColumns, + }, +}; diff --git a/src/schema/resource/ResourceRole.ts b/src/schema/resource/ResourceRole.ts new file mode 100644 index 0000000..58ca9f6 --- /dev/null +++ b/src/schema/resource/ResourceRole.ts @@ -0,0 +1,15 @@ +import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { AuditColumns } from "../common/AuditColumns"; + +export const Resource: Schema = { + dbSchema: "tcs_catalog", + tableName: "resource_role_lu", + columns: { + resourceRoleId: { name: "resource_role_id", type: ColumnType.COLUMN_TYPE_INT }, + phaseTypeId: { name: "phase_type_id", type: ColumnType.COLUMN_TYPE_INT }, + name: { name: "name", type: ColumnType.COLUMN_TYPE_STRING }, + description: { name: "description", type: ColumnType.COLUMN_TYPE_STRING }, + ...AuditColumns, + }, +}; diff --git a/src/schema/resource/ResourceSubmission.ts b/src/schema/resource/ResourceSubmission.ts new file mode 100644 index 0000000..90f940a --- /dev/null +++ b/src/schema/resource/ResourceSubmission.ts @@ -0,0 +1,13 @@ +import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { AuditColumns } from "../common/AuditColumns"; + +export const Resource: Schema = { + dbSchema: "tcs_catalog", + tableName: "resource_submission", + columns: { + resourceId: { name: "resource_id", type: ColumnType.COLUMN_TYPE_INT }, + submissionId: { name: "submission_id", type: ColumnType.COLUMN_TYPE_INT }, + ...AuditColumns, + }, +}; From 74c74b7d20bd9aa680a02463a9039ebf723599cd Mon Sep 17 00:00:00 2001 From: Rakib Ansary Date: Fri, 27 Jan 2023 04:41:07 +0600 Subject: [PATCH 2/6] fix: use id_column, id_sequence from schema definition --- src/common/QueryRunner.ts | 4 ++-- src/schema/project/ProjectPhase.ts | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/common/QueryRunner.ts b/src/common/QueryRunner.ts index 6b2ba9e..ef46b2b 100644 --- a/src/common/QueryRunner.ts +++ b/src/common/QueryRunner.ts @@ -175,8 +175,8 @@ export class QueryRunner< })), ], idTable: this.schema.tableName, - idColumn: "project_phase_id", - idSequence: "project_phase_id_seq", + idColumn: this.schema.idColumn ?? undefined, + idSequence: this.schema.idSequence ?? undefined, }, }, }; diff --git a/src/schema/project/ProjectPhase.ts b/src/schema/project/ProjectPhase.ts index f82c5ce..e7e3556 100644 --- a/src/schema/project/ProjectPhase.ts +++ b/src/schema/project/ProjectPhase.ts @@ -5,6 +5,8 @@ import { AuditColumns } from "../common/AuditColumns"; export const ProjectPhaseSchema: Schema = { dbSchema: "tcs_catalog", tableName: "project_phase", + idColumn: "project_phase_id", + idSequence: "project_phase_id_seq", columns: { duration: { name: "duration", type: ColumnType.COLUMN_TYPE_INT }, projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, From 72cf2613e44a6b6f1d551bc05cd9679d03c737f6 Mon Sep 17 00:00:00 2001 From: Rakib Ansary Date: Mon, 30 Jan 2023 02:41:29 +0600 Subject: [PATCH 3/6] feat: use @topcoder-framework/lib-client for rdb types --- package.json | 1 + src/common/QueryRunner.ts | 51 ++- src/common/TableColumn.ts | 2 +- src/domain/LegacyChallenge.ts | 47 --- src/models/common/common.ts | 111 +++++++ .../legacy/legacy_challenge_phase.ts | 171 ++++++++++ .../legacy/services/legacy_challenge_phase.ts | 302 +----------------- src/schema/project/PhaseType.ts | 2 +- src/schema/project/Project.ts | 2 +- src/schema/project/ProjectPhase.ts | 2 +- src/schema/project/ProjectStatus.ts | 2 +- src/schema/project_payment/Prize.ts | 2 +- src/schema/project_payment/PrizeType.ts | 2 +- src/schema/project_payment/ProjectPayment.ts | 2 +- .../ProjectPaymentAdjustment.ts | 2 +- .../project_payment/ProjectPaymentType.ts | 2 +- src/schema/resource/Resource.ts | 2 +- src/schema/resource/ResourceInfo.ts | 2 +- src/schema/resource/ResourceInfoType.ts | 2 +- src/schema/resource/ResourceRole.ts | 2 +- src/schema/resource/ResourceSubmission.ts | 2 +- yarn.lock | 45 +++ 22 files changed, 373 insertions(+), 385 deletions(-) diff --git a/package.json b/package.json index d920212..08c26f8 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "license": "ISC", "dependencies": { "@grpc/grpc-js": "^1.7.1", + "@topcoder-framework/client-relational": "^0.4.23-ci.0", "dayjs": "^1.11.5", "dotenv": "^16.0.3", "grpc-server-reflection": "^0.1.5", diff --git a/src/common/QueryRunner.ts b/src/common/QueryRunner.ts index ef46b2b..de0d7d5 100644 --- a/src/common/QueryRunner.ts +++ b/src/common/QueryRunner.ts @@ -1,16 +1,14 @@ -/* TODO: - 1. Move this to @topcoder-framework - 2. Cleanup the exported interfaces - 3. Make "Client" a constructor parameter that implements a "Client" interface - 4 "ExecuteSqlQuery" should return a Promise where T is the type of the result for "read" queries, but should return "number" for "write" queries indicating either - a) the number of rows affected or - b) the ID of the row insertede -*/ - -import { ColumnType, Operator, Query, QueryRequest, Value } from "../grpc/models/rdb/relational"; - -import { relationalClient } from "../grpc/client/relational"; -import { TableColumns, TableColumn } from "./TableColumn"; +const { GRPC_RDB_SERVER_HOST, GRPC_RDB_SERVER_PORT } = process.env; + +import { + ColumnType, + Operator, + Query, + QueryRequest, + RelationalClient, + Value, +} from "@topcoder-framework/client-relational"; +import { TableColumn, TableColumns } from "./TableColumn"; export type Schema = { dbSchema: string; @@ -26,9 +24,10 @@ interface ExecuteSqlQuery { } type JoinAndWhereClause = JoinClause & WhereClause & ExecuteSqlQuery; +type JoinWhereLimitAndOffset = JoinAndWhereClause & LimitClause & OffsetClause; export interface SelectQuery { - select(columns: TableColumn[]): JoinAndWhereClause & LimitClause & OffsetClause; + select(columns: TableColumn[]): JoinWhereLimitAndOffset; } export interface JoinClause { @@ -36,11 +35,7 @@ export interface JoinClause { } export interface WhereClause { - where(whereCriteria: { - key: string; - operator: Operator; - value: Value; - }): JoinAndWhereClause & LimitClause & OffsetClause; + where(whereCriteria: { key: string; operator: Operator; value: Value }): JoinWhereLimitAndOffset; } export interface LimitClause { @@ -79,10 +74,14 @@ export class QueryRunner< ExecuteSqlQuery { #query: Query | null = null; + #client: RelationalClient; - constructor(private schema: Schema) {} + constructor(private schema: Schema) { + console.log("Connecting to GRPC server at", GRPC_RDB_SERVER_HOST, GRPC_RDB_SERVER_PORT, "..."); + this.#client = new RelationalClient(GRPC_RDB_SERVER_HOST!, parseInt(GRPC_RDB_SERVER_PORT!)); + } - select(columns: TableColumn[]): JoinAndWhereClause & LimitClause & OffsetClause { + select(columns: TableColumn[]): JoinWhereLimitAndOffset { this.#query = { query: { $case: "select", @@ -103,15 +102,13 @@ export class QueryRunner< }, }, }; + + console.log("Query", JSON.stringify(this.#query, null, 2)); return this; } // TODO: use "convenience" methods from lib-util to build the clause - where(whereCriteria: { - key: string; - operator: Operator; - value: Value; - }): JoinAndWhereClause & LimitClause & OffsetClause { + where(whereCriteria: { key: string; operator: Operator; value: Value }): JoinWhereLimitAndOffset { if (this.#query?.query?.$case != "select") { throw new Error("Cannot set where clause on a non-select query"); } @@ -201,7 +198,7 @@ export class QueryRunner< query: this.#query, }; - const queryResponse = await relationalClient.query(queryRequest); + const queryResponse = await this.#client.query(queryRequest); switch (this.#query.query?.$case) { case "select": diff --git a/src/common/TableColumn.ts b/src/common/TableColumn.ts index a489561..82f2a62 100644 --- a/src/common/TableColumn.ts +++ b/src/common/TableColumn.ts @@ -1,4 +1,4 @@ -import { ColumnType } from "../../dist/grpc/models/rdb/relational"; +import { ColumnType } from "@topcoder-framework/client-relational"; export type TableColumn = { name: string; diff --git a/src/domain/LegacyChallenge.ts b/src/domain/LegacyChallenge.ts index bcf897f..0a2e95b 100644 --- a/src/domain/LegacyChallenge.ts +++ b/src/domain/LegacyChallenge.ts @@ -5,53 +5,6 @@ import { Value } from "../models/google/protobuf/struct"; import { Project } from "../schema/project/Project"; class LegacyChallengeDomain { - constructor(private tableName: string = "project") {} - - // public async lookup(lookupCriteria: LookupCriteria): Promise { - // const queryRequest: QueryRequest = { - // query: { - // query: { - // $case: "select", - // select: { - // table: this.tableName, - // join: [], - // column: [ - // { - // name: "project_id", - // type: ColumnType.COLUMN_TYPE_INT, - // }, - // ], - // where: [ - // { - // key: "project_id", - // operator: Operator.OPERATOR_EQUAL, - // value: { - // value: { - // $case: "intValue", - // intValue: 123, - // }, - // }, - // }, - // ], - // groupBy: [], - // orderBy: [], - // limit: 1, - // offset: 0, - // }, - // }, - // }, - // }; - - // const queryResponse: QueryResponse = await relationalClient.query(queryRequest); - - // if (queryResponse.result?.$case == "selectResult") { - // const rows = queryResponse.result.selectResult.rows; - // return rows.map((row) => LegacyChallenge.fromJSON(row.values)); - // } - - // return []; - // } - public async checkChallengeExists( legacyChallengeId: number ): Promise { diff --git a/src/models/common/common.ts b/src/models/common/common.ts index b788f0b..22b1e05 100644 --- a/src/models/common/common.ts +++ b/src/models/common/common.ts @@ -1,4 +1,5 @@ /* eslint-disable */ +import Long from "long"; import _m0 from "protobufjs/minimal"; import { Struct, Value } from "../google/protobuf/struct"; import { Timestamp } from "../google/protobuf/timestamp"; @@ -113,6 +114,7 @@ export enum Domain { DOMAIN_CHALLENGE_TRACK = 7, DOMAIN_CHALLENGE_PHASE = 8, DOMAIN_CHALLENGE_TIMELINE_TEMPLATE = 9, + DOMAIN_SUBMISSION = 10, UNRECOGNIZED = -1, } @@ -148,6 +150,9 @@ export function domainFromJSON(object: any): Domain { case 9: case "DOMAIN_CHALLENGE_TIMELINE_TEMPLATE": return Domain.DOMAIN_CHALLENGE_TIMELINE_TEMPLATE; + case 10: + case "DOMAIN_SUBMISSION": + return Domain.DOMAIN_SUBMISSION; case -1: case "UNRECOGNIZED": default: @@ -177,6 +182,8 @@ export function domainToJSON(object: Domain): string { return "DOMAIN_CHALLENGE_PHASE"; case Domain.DOMAIN_CHALLENGE_TIMELINE_TEMPLATE: return "DOMAIN_CHALLENGE_TIMELINE_TEMPLATE"; + case Domain.DOMAIN_SUBMISSION: + return "DOMAIN_SUBMISSION"; case Domain.UNRECOGNIZED: default: return "UNRECOGNIZED"; @@ -199,6 +206,10 @@ export interface ScanResult { items: { [key: string]: any }[]; } +export interface CreateResult { + kind?: { $case: "integerId"; integerId: number } | { $case: "stringId"; stringId: string }; +} + export interface LookupCriteria { key: string; value?: any; @@ -414,6 +425,75 @@ export const ScanResult = { }, }; +function createBaseCreateResult(): CreateResult { + return { kind: undefined }; +} + +export const CreateResult = { + encode(message: CreateResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.kind?.$case === "integerId") { + writer.uint32(8).int64(message.kind.integerId); + } + if (message.kind?.$case === "stringId") { + writer.uint32(18).string(message.kind.stringId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CreateResult { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.kind = { $case: "integerId", integerId: longToNumber(reader.int64() as Long) }; + break; + case 2: + message.kind = { $case: "stringId", stringId: reader.string() }; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): CreateResult { + return { + kind: isSet(object.integerId) + ? { $case: "integerId", integerId: Number(object.integerId) } + : isSet(object.stringId) + ? { $case: "stringId", stringId: String(object.stringId) } + : undefined, + }; + }, + + toJSON(message: CreateResult): unknown { + const obj: any = {}; + message.kind?.$case === "integerId" && (obj.integerId = Math.round(message.kind?.integerId)); + message.kind?.$case === "stringId" && (obj.stringId = message.kind?.stringId); + return obj; + }, + + create, I>>(base?: I): CreateResult { + return CreateResult.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CreateResult { + const message = createBaseCreateResult(); + if (object.kind?.$case === "integerId" && object.kind?.integerId !== undefined && object.kind?.integerId !== null) { + message.kind = { $case: "integerId", integerId: object.kind.integerId }; + } + if (object.kind?.$case === "stringId" && object.kind?.stringId !== undefined && object.kind?.stringId !== null) { + message.kind = { $case: "stringId", stringId: object.kind.stringId }; + } + return message; + }, +}; + function createBaseLookupCriteria(): LookupCriteria { return { key: "", value: undefined }; } @@ -526,6 +606,25 @@ export const GoogleProtobufTypesPlaceholder = { }, }; +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial = T extends Builtin ? T @@ -551,6 +650,18 @@ function fromTimestamp(t: Timestamp): string { return new Date(millis).toISOString(); } +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + function isSet(value: any): boolean { return value !== null && value !== undefined; } diff --git a/src/models/domain-layer/legacy/legacy_challenge_phase.ts b/src/models/domain-layer/legacy/legacy_challenge_phase.ts index eb63265..1772027 100644 --- a/src/models/domain-layer/legacy/legacy_challenge_phase.ts +++ b/src/models/domain-layer/legacy/legacy_challenge_phase.ts @@ -37,6 +37,20 @@ export interface PhaseTypeList { items: PhaseType[]; } +export interface CreateLegacyChallengePhaseInput { + projectId: number; + phaseTypeId: number; + phaseStatusId: number; + fixedStartTime?: string | undefined; + scheduledStartTime?: string | undefined; + scheduledEndTime?: string | undefined; + actualStartTime?: string | undefined; + actualEndTime?: string | undefined; + duration: number; + createUser: number; + modifyUser?: number | undefined; +} + function createBaseLegacyChallengePhase(): LegacyChallengePhase { return { projectPhaseId: 0, @@ -449,6 +463,163 @@ export const PhaseTypeList = { }, }; +function createBaseCreateLegacyChallengePhaseInput(): CreateLegacyChallengePhaseInput { + return { + projectId: 0, + phaseTypeId: 0, + phaseStatusId: 0, + fixedStartTime: undefined, + scheduledStartTime: undefined, + scheduledEndTime: undefined, + actualStartTime: undefined, + actualEndTime: undefined, + duration: 0, + createUser: 0, + modifyUser: undefined, + }; +} + +export const CreateLegacyChallengePhaseInput = { + encode(message: CreateLegacyChallengePhaseInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.projectId !== 0) { + writer.uint32(8).int64(message.projectId); + } + if (message.phaseTypeId !== 0) { + writer.uint32(16).int64(message.phaseTypeId); + } + if (message.phaseStatusId !== 0) { + writer.uint32(24).int64(message.phaseStatusId); + } + if (message.fixedStartTime !== undefined) { + writer.uint32(34).string(message.fixedStartTime); + } + if (message.scheduledStartTime !== undefined) { + writer.uint32(42).string(message.scheduledStartTime); + } + if (message.scheduledEndTime !== undefined) { + writer.uint32(50).string(message.scheduledEndTime); + } + if (message.actualStartTime !== undefined) { + writer.uint32(58).string(message.actualStartTime); + } + if (message.actualEndTime !== undefined) { + writer.uint32(66).string(message.actualEndTime); + } + if (message.duration !== 0) { + writer.uint32(72).int32(message.duration); + } + if (message.createUser !== 0) { + writer.uint32(80).int32(message.createUser); + } + if (message.modifyUser !== undefined) { + writer.uint32(88).int32(message.modifyUser); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CreateLegacyChallengePhaseInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateLegacyChallengePhaseInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.projectId = longToNumber(reader.int64() as Long); + break; + case 2: + message.phaseTypeId = longToNumber(reader.int64() as Long); + break; + case 3: + message.phaseStatusId = longToNumber(reader.int64() as Long); + break; + case 4: + message.fixedStartTime = reader.string(); + break; + case 5: + message.scheduledStartTime = reader.string(); + break; + case 6: + message.scheduledEndTime = reader.string(); + break; + case 7: + message.actualStartTime = reader.string(); + break; + case 8: + message.actualEndTime = reader.string(); + break; + case 9: + message.duration = reader.int32(); + break; + case 10: + message.createUser = reader.int32(); + break; + case 11: + message.modifyUser = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): CreateLegacyChallengePhaseInput { + return { + projectId: isSet(object.projectId) ? Number(object.projectId) : 0, + phaseTypeId: isSet(object.phaseTypeId) ? Number(object.phaseTypeId) : 0, + phaseStatusId: isSet(object.phaseStatusId) ? Number(object.phaseStatusId) : 0, + fixedStartTime: isSet(object.fixedStartTime) ? String(object.fixedStartTime) : undefined, + scheduledStartTime: isSet(object.scheduledStartTime) ? String(object.scheduledStartTime) : undefined, + scheduledEndTime: isSet(object.scheduledEndTime) ? String(object.scheduledEndTime) : undefined, + actualStartTime: isSet(object.actualStartTime) ? String(object.actualStartTime) : undefined, + actualEndTime: isSet(object.actualEndTime) ? String(object.actualEndTime) : undefined, + duration: isSet(object.duration) ? Number(object.duration) : 0, + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : undefined, + }; + }, + + toJSON(message: CreateLegacyChallengePhaseInput): unknown { + const obj: any = {}; + message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); + message.phaseTypeId !== undefined && (obj.phaseTypeId = Math.round(message.phaseTypeId)); + message.phaseStatusId !== undefined && (obj.phaseStatusId = Math.round(message.phaseStatusId)); + message.fixedStartTime !== undefined && (obj.fixedStartTime = message.fixedStartTime); + message.scheduledStartTime !== undefined && (obj.scheduledStartTime = message.scheduledStartTime); + message.scheduledEndTime !== undefined && (obj.scheduledEndTime = message.scheduledEndTime); + message.actualStartTime !== undefined && (obj.actualStartTime = message.actualStartTime); + message.actualEndTime !== undefined && (obj.actualEndTime = message.actualEndTime); + message.duration !== undefined && (obj.duration = Math.round(message.duration)); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + return obj; + }, + + create, I>>(base?: I): CreateLegacyChallengePhaseInput { + return CreateLegacyChallengePhaseInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): CreateLegacyChallengePhaseInput { + const message = createBaseCreateLegacyChallengePhaseInput(); + message.projectId = object.projectId ?? 0; + message.phaseTypeId = object.phaseTypeId ?? 0; + message.phaseStatusId = object.phaseStatusId ?? 0; + message.fixedStartTime = object.fixedStartTime ?? undefined; + message.scheduledStartTime = object.scheduledStartTime ?? undefined; + message.scheduledEndTime = object.scheduledEndTime ?? undefined; + message.actualStartTime = object.actualStartTime ?? undefined; + message.actualEndTime = object.actualEndTime ?? undefined; + message.duration = object.duration ?? 0; + message.createUser = object.createUser ?? 0; + message.modifyUser = object.modifyUser ?? undefined; + return message; + }, +}; + declare var self: any | undefined; declare var window: any | undefined; declare var global: any | undefined; diff --git a/src/models/domain-layer/legacy/services/legacy_challenge_phase.ts b/src/models/domain-layer/legacy/services/legacy_challenge_phase.ts index 5568da6..0bc01e1 100644 --- a/src/models/domain-layer/legacy/services/legacy_challenge_phase.ts +++ b/src/models/domain-layer/legacy/services/legacy_challenge_phase.ts @@ -1,252 +1,8 @@ /* eslint-disable */ import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; -import Long from "long"; -import _m0 from "protobufjs/minimal"; +import { CreateResult } from "../../../common/common"; import { Empty } from "../../../google/protobuf/empty"; -import { PhaseTypeList } from "../legacy_challenge_phase"; - -export interface CreatePhaseInput { - projectId: number; - phaseTypeId: number; - phaseStatusId: number; - fixedStartTime?: string | undefined; - scheduledStartTime?: string | undefined; - scheduledEndTime?: string | undefined; - actualStartTime?: string | undefined; - actualEndTime?: string | undefined; - duration: number; - createUser?: number | undefined; - modifyUser?: number | undefined; -} - -/** TODO: Move this to "lib-common" */ -export interface CreateResult { - kind?: { $case: "integerId"; integerId: number } | { $case: "stringId"; stringId: string }; -} - -function createBaseCreatePhaseInput(): CreatePhaseInput { - return { - projectId: 0, - phaseTypeId: 0, - phaseStatusId: 0, - fixedStartTime: undefined, - scheduledStartTime: undefined, - scheduledEndTime: undefined, - actualStartTime: undefined, - actualEndTime: undefined, - duration: 0, - createUser: undefined, - modifyUser: undefined, - }; -} - -export const CreatePhaseInput = { - encode(message: CreatePhaseInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.projectId !== 0) { - writer.uint32(8).int64(message.projectId); - } - if (message.phaseTypeId !== 0) { - writer.uint32(16).int64(message.phaseTypeId); - } - if (message.phaseStatusId !== 0) { - writer.uint32(24).int64(message.phaseStatusId); - } - if (message.fixedStartTime !== undefined) { - writer.uint32(34).string(message.fixedStartTime); - } - if (message.scheduledStartTime !== undefined) { - writer.uint32(42).string(message.scheduledStartTime); - } - if (message.scheduledEndTime !== undefined) { - writer.uint32(50).string(message.scheduledEndTime); - } - if (message.actualStartTime !== undefined) { - writer.uint32(58).string(message.actualStartTime); - } - if (message.actualEndTime !== undefined) { - writer.uint32(66).string(message.actualEndTime); - } - if (message.duration !== 0) { - writer.uint32(72).int32(message.duration); - } - if (message.createUser !== undefined) { - writer.uint32(80).int32(message.createUser); - } - if (message.modifyUser !== undefined) { - writer.uint32(88).int32(message.modifyUser); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): CreatePhaseInput { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCreatePhaseInput(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.projectId = longToNumber(reader.int64() as Long); - break; - case 2: - message.phaseTypeId = longToNumber(reader.int64() as Long); - break; - case 3: - message.phaseStatusId = longToNumber(reader.int64() as Long); - break; - case 4: - message.fixedStartTime = reader.string(); - break; - case 5: - message.scheduledStartTime = reader.string(); - break; - case 6: - message.scheduledEndTime = reader.string(); - break; - case 7: - message.actualStartTime = reader.string(); - break; - case 8: - message.actualEndTime = reader.string(); - break; - case 9: - message.duration = reader.int32(); - break; - case 10: - message.createUser = reader.int32(); - break; - case 11: - message.modifyUser = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): CreatePhaseInput { - return { - projectId: isSet(object.projectId) ? Number(object.projectId) : 0, - phaseTypeId: isSet(object.phaseTypeId) ? Number(object.phaseTypeId) : 0, - phaseStatusId: isSet(object.phaseStatusId) ? Number(object.phaseStatusId) : 0, - fixedStartTime: isSet(object.fixedStartTime) ? String(object.fixedStartTime) : undefined, - scheduledStartTime: isSet(object.scheduledStartTime) ? String(object.scheduledStartTime) : undefined, - scheduledEndTime: isSet(object.scheduledEndTime) ? String(object.scheduledEndTime) : undefined, - actualStartTime: isSet(object.actualStartTime) ? String(object.actualStartTime) : undefined, - actualEndTime: isSet(object.actualEndTime) ? String(object.actualEndTime) : undefined, - duration: isSet(object.duration) ? Number(object.duration) : 0, - createUser: isSet(object.createUser) ? Number(object.createUser) : undefined, - modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : undefined, - }; - }, - - toJSON(message: CreatePhaseInput): unknown { - const obj: any = {}; - message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); - message.phaseTypeId !== undefined && (obj.phaseTypeId = Math.round(message.phaseTypeId)); - message.phaseStatusId !== undefined && (obj.phaseStatusId = Math.round(message.phaseStatusId)); - message.fixedStartTime !== undefined && (obj.fixedStartTime = message.fixedStartTime); - message.scheduledStartTime !== undefined && (obj.scheduledStartTime = message.scheduledStartTime); - message.scheduledEndTime !== undefined && (obj.scheduledEndTime = message.scheduledEndTime); - message.actualStartTime !== undefined && (obj.actualStartTime = message.actualStartTime); - message.actualEndTime !== undefined && (obj.actualEndTime = message.actualEndTime); - message.duration !== undefined && (obj.duration = Math.round(message.duration)); - message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); - message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); - return obj; - }, - - create, I>>(base?: I): CreatePhaseInput { - return CreatePhaseInput.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): CreatePhaseInput { - const message = createBaseCreatePhaseInput(); - message.projectId = object.projectId ?? 0; - message.phaseTypeId = object.phaseTypeId ?? 0; - message.phaseStatusId = object.phaseStatusId ?? 0; - message.fixedStartTime = object.fixedStartTime ?? undefined; - message.scheduledStartTime = object.scheduledStartTime ?? undefined; - message.scheduledEndTime = object.scheduledEndTime ?? undefined; - message.actualStartTime = object.actualStartTime ?? undefined; - message.actualEndTime = object.actualEndTime ?? undefined; - message.duration = object.duration ?? 0; - message.createUser = object.createUser ?? undefined; - message.modifyUser = object.modifyUser ?? undefined; - return message; - }, -}; - -function createBaseCreateResult(): CreateResult { - return { kind: undefined }; -} - -export const CreateResult = { - encode(message: CreateResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "integerId") { - writer.uint32(8).int64(message.kind.integerId); - } - if (message.kind?.$case === "stringId") { - writer.uint32(18).string(message.kind.stringId); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): CreateResult { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCreateResult(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "integerId", integerId: longToNumber(reader.int64() as Long) }; - break; - case 2: - message.kind = { $case: "stringId", stringId: reader.string() }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): CreateResult { - return { - kind: isSet(object.integerId) - ? { $case: "integerId", integerId: Number(object.integerId) } - : isSet(object.stringId) - ? { $case: "stringId", stringId: String(object.stringId) } - : undefined, - }; - }, - - toJSON(message: CreateResult): unknown { - const obj: any = {}; - message.kind?.$case === "integerId" && (obj.integerId = Math.round(message.kind?.integerId)); - message.kind?.$case === "stringId" && (obj.stringId = message.kind?.stringId); - return obj; - }, - - create, I>>(base?: I): CreateResult { - return CreateResult.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): CreateResult { - const message = createBaseCreateResult(); - if (object.kind?.$case === "integerId" && object.kind?.integerId !== undefined && object.kind?.integerId !== null) { - message.kind = { $case: "integerId", integerId: object.kind.integerId }; - } - if (object.kind?.$case === "stringId" && object.kind?.stringId !== undefined && object.kind?.stringId !== null) { - message.kind = { $case: "stringId", stringId: object.kind.stringId }; - } - return message; - }, -}; +import { CreateLegacyChallengePhaseInput, PhaseTypeList } from "../legacy_challenge_phase"; export type LegacyChallengePhaseService = typeof LegacyChallengePhaseService; export const LegacyChallengePhaseService = { @@ -254,8 +10,9 @@ export const LegacyChallengePhaseService = { path: "/topcoder.domain.legacy_challenge_phase_service.LegacyChallengePhase/Create", requestStream: false, responseStream: false, - requestSerialize: (value: CreatePhaseInput) => Buffer.from(CreatePhaseInput.encode(value).finish()), - requestDeserialize: (value: Buffer) => CreatePhaseInput.decode(value), + requestSerialize: (value: CreateLegacyChallengePhaseInput) => + Buffer.from(CreateLegacyChallengePhaseInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => CreateLegacyChallengePhaseInput.decode(value), responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), responseDeserialize: (value: Buffer) => CreateResult.decode(value), }, @@ -271,53 +28,6 @@ export const LegacyChallengePhaseService = { } as const; export interface LegacyChallengePhaseServer extends UntypedServiceImplementation { - create: handleUnaryCall; + create: handleUnaryCall; getPhaseTypes: handleUnaryCall; } - -declare var self: any | undefined; -declare var window: any | undefined; -declare var global: any | undefined; -var tsProtoGlobalThis: any = (() => { - if (typeof globalThis !== "undefined") { - return globalThis; - } - if (typeof self !== "undefined") { - return self; - } - if (typeof window !== "undefined") { - return window; - } - if (typeof global !== "undefined") { - return global; - } - throw "Unable to locate global object"; -})(); - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function longToNumber(long: Long): number { - if (long.gt(Number.MAX_SAFE_INTEGER)) { - throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); - } - return long.toNumber(); -} - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/schema/project/PhaseType.ts b/src/schema/project/PhaseType.ts index 4a771c5..afe6530 100644 --- a/src/schema/project/PhaseType.ts +++ b/src/schema/project/PhaseType.ts @@ -1,5 +1,5 @@ +import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; import { AuditColumns } from "../common/AuditColumns"; export const PhaseType: Schema = { diff --git a/src/schema/project/Project.ts b/src/schema/project/Project.ts index b71e0a7..fa3afcc 100644 --- a/src/schema/project/Project.ts +++ b/src/schema/project/Project.ts @@ -1,5 +1,5 @@ import { Schema } from "../../common/QueryRunner"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { AuditColumns } from "../common/AuditColumns"; export const Project: Schema = { diff --git a/src/schema/project/ProjectPhase.ts b/src/schema/project/ProjectPhase.ts index e7e3556..f3bbf95 100644 --- a/src/schema/project/ProjectPhase.ts +++ b/src/schema/project/ProjectPhase.ts @@ -1,5 +1,5 @@ +import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; import { AuditColumns } from "../common/AuditColumns"; export const ProjectPhaseSchema: Schema = { diff --git a/src/schema/project/ProjectStatus.ts b/src/schema/project/ProjectStatus.ts index 6b6b2c2..3e53894 100644 --- a/src/schema/project/ProjectStatus.ts +++ b/src/schema/project/ProjectStatus.ts @@ -1,5 +1,5 @@ +import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner.js"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; import { AuditColumns } from "../common/AuditColumns"; export const ProjectStatus: Schema = { diff --git a/src/schema/project_payment/Prize.ts b/src/schema/project_payment/Prize.ts index 41aae0f..3ca8ab9 100644 --- a/src/schema/project_payment/Prize.ts +++ b/src/schema/project_payment/Prize.ts @@ -1,5 +1,5 @@ import { Schema } from "../../common/QueryRunner"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { AuditColumns } from "../common/AuditColumns"; export const Prize: Schema = { diff --git a/src/schema/project_payment/PrizeType.ts b/src/schema/project_payment/PrizeType.ts index 73c3c14..b7aa813 100644 --- a/src/schema/project_payment/PrizeType.ts +++ b/src/schema/project_payment/PrizeType.ts @@ -1,5 +1,5 @@ import { Schema } from "../../common/QueryRunner"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { ColumnType } from "@topcoder-framework/client-relational"; export const PrizeType: Schema = { dbSchema: "tcs_catalog", diff --git a/src/schema/project_payment/ProjectPayment.ts b/src/schema/project_payment/ProjectPayment.ts index 4df7c51..890f0ea 100644 --- a/src/schema/project_payment/ProjectPayment.ts +++ b/src/schema/project_payment/ProjectPayment.ts @@ -1,4 +1,4 @@ -import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/project_payment/ProjectPaymentAdjustment.ts b/src/schema/project_payment/ProjectPaymentAdjustment.ts index d552de4..ab87c83 100644 --- a/src/schema/project_payment/ProjectPaymentAdjustment.ts +++ b/src/schema/project_payment/ProjectPaymentAdjustment.ts @@ -1,4 +1,4 @@ -import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; export const ProjectPaymentAdjustment: Schema = { diff --git a/src/schema/project_payment/ProjectPaymentType.ts b/src/schema/project_payment/ProjectPaymentType.ts index f1a27f2..79abb07 100644 --- a/src/schema/project_payment/ProjectPaymentType.ts +++ b/src/schema/project_payment/ProjectPaymentType.ts @@ -1,4 +1,4 @@ -import { ColumnType } from "../../../dist/grpc/models/rdb/relational"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; export const ProjectPaymentAdjustment: Schema = { diff --git a/src/schema/resource/Resource.ts b/src/schema/resource/Resource.ts index 7e708c7..7d07924 100644 --- a/src/schema/resource/Resource.ts +++ b/src/schema/resource/Resource.ts @@ -1,5 +1,5 @@ import { Schema } from "../../common/QueryRunner.js"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { AuditColumns } from "../common/AuditColumns"; export const Resource: Schema = { diff --git a/src/schema/resource/ResourceInfo.ts b/src/schema/resource/ResourceInfo.ts index 419da25..7e3de5c 100644 --- a/src/schema/resource/ResourceInfo.ts +++ b/src/schema/resource/ResourceInfo.ts @@ -1,5 +1,5 @@ import { Schema } from "../../common/QueryRunner.js"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { AuditColumns } from "../common/AuditColumns"; export const Resource: Schema = { diff --git a/src/schema/resource/ResourceInfoType.ts b/src/schema/resource/ResourceInfoType.ts index eacc936..b5e482b 100644 --- a/src/schema/resource/ResourceInfoType.ts +++ b/src/schema/resource/ResourceInfoType.ts @@ -1,5 +1,5 @@ import { Schema } from "../../common/QueryRunner.js"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { AuditColumns } from "../common/AuditColumns"; export const Resource: Schema = { diff --git a/src/schema/resource/ResourceRole.ts b/src/schema/resource/ResourceRole.ts index 58ca9f6..50d17f8 100644 --- a/src/schema/resource/ResourceRole.ts +++ b/src/schema/resource/ResourceRole.ts @@ -1,5 +1,5 @@ import { Schema } from "../../common/QueryRunner.js"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { AuditColumns } from "../common/AuditColumns"; export const Resource: Schema = { diff --git a/src/schema/resource/ResourceSubmission.ts b/src/schema/resource/ResourceSubmission.ts index 90f940a..a9e94dd 100644 --- a/src/schema/resource/ResourceSubmission.ts +++ b/src/schema/resource/ResourceSubmission.ts @@ -1,5 +1,5 @@ import { Schema } from "../../common/QueryRunner.js"; -import { ColumnType } from "../../../dist/grpc/models/rdb/relational.js"; +import { ColumnType } from "@topcoder-framework/client-relational"; import { AuditColumns } from "../common/AuditColumns"; export const Resource: Schema = { diff --git a/yarn.lock b/yarn.lock index 28e42cb..b87a845 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,6 +17,14 @@ "@grpc/proto-loader" "^0.7.0" "@types/node" ">=12.12.47" +"@grpc/grpc-js@^1.8.0": + version "1.8.7" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.8.7.tgz#2154fc0134462ad45f4134e8b54682a25ed05956" + integrity sha512-dRAWjRFN1Zy9mzPNLkFFIWT8T6C9euwluzCHZUKuhC+Bk3MayNPcpgDRyG+sg+n2sitEUySKxUynirVpu9ItKw== + dependencies: + "@grpc/proto-loader" "^0.7.0" + "@types/node" ">=12.12.47" + "@grpc/proto-loader@^0.7.0": version "0.7.4" resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.4.tgz#4946a84fbf47c3ddd4e6a97acb79d69a9f47ebf2" @@ -99,6 +107,27 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== +"@topcoder-framework/client-relational@0.4.23-ci.0", "@topcoder-framework/client-relational@^0.4.23-ci.0": + version "0.4.23-ci.0" + resolved "http://localhost:4873/@topcoder-framework%2fclient-relational/-/client-relational-0.4.23-ci.0.tgz#73e5dc1a5fa0c92f0dc79f62042cd6f2b988fa02" + integrity sha512-tRGCA//dqqc952KOSPoNBmN//ry+Vp3Yi9zm29zdDqIdKdUpyQn0yKNyVJ9ZhYSFXymW4c3vGt8O7el48wEjLg== + dependencies: + "@grpc/grpc-js" "^1.8.0" + "@topcoder-framework/lib-common" "0.4.23-ci.0" + topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.10" + tslib "^2.4.1" + +"@topcoder-framework/lib-common@0.4.23-ci.0": + version "0.4.23-ci.0" + resolved "http://localhost:4873/@topcoder-framework%2flib-common/-/lib-common-0.4.23-ci.0.tgz#b2728bc27fca017cca5982b53eebcdfb90e04acc" + integrity sha512-t3uvwmr5qE2VKcil9XMzh+0Z0lGihdltojhX8Cq4zqpeJHK9zrgBhU1WFXlPwBjNu3RglI5qaeTwvENE6ktR6w== + dependencies: + "@grpc/grpc-js" "^1.8.0" + "@topcoder-framework/client-relational" "0.4.23-ci.0" + rimraf "^3.0.2" + topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.10" + tslib "^2.4.1" + "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -572,6 +601,13 @@ rimraf@^2.6.1: dependencies: glob "^7.1.3" +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + source-map-support@^0.5.12, source-map-support@^0.5.21: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -623,6 +659,10 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +"topcoder-interface@github:topcoder-platform/plat-interface-definition#v0.0.10": + version "1.0.0" + resolved "https://codeload.github.com/topcoder-platform/plat-interface-definition/tar.gz/83db3ad5ac053393f8d9aa975dfe067fd8942add" + "topcoder-interface@github:topcoder-platform/plat-interface-definition#v0.0.11": version "1.0.0" resolved "https://codeload.github.com/topcoder-platform/plat-interface-definition/tar.gz/ef173ab2efd5f7a015d2b64412cab082c78221c7" @@ -705,6 +745,11 @@ tsconfig@^7.0.0: strip-bom "^3.0.0" strip-json-comments "^2.0.0" +tslib@^2.4.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + typescript@^4.9.4: version "4.9.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" From e2677b87a245b2d40bb1fe888c46597ce3b6c9bc Mon Sep 17 00:00:00 2001 From: Rakib Ansary Date: Wed, 1 Feb 2023 03:27:30 +0600 Subject: [PATCH 4/6] feat: switch to @topcoder-framework/lib-common and @topcoder-framwork/client-relational Signed-off-by: Rakib Ansary --- bin/nosql-client.js | 35 - bin/rdb-client.js | 33 - bin/server.js | 18 +- package.json | 8 +- src/domain/LegacyChallenge.ts | 6 +- src/domain/LegacyChallengePhase.ts | 15 +- src/grpc/client/nosql.ts | 39 - src/grpc/client/relational.ts | 32 - .../models/nosql/google/protobuf/struct.ts | 501 ---- src/grpc/models/nosql/parti_ql.ts | 2226 ----------------- src/grpc/models/nosql/tsconfig.json | 11 - src/grpc/models/rdb/relational.ts | 2175 ---------------- src/grpc/models/rdb/tsconfig.json | 10 - src/helper/util.ts | 2 +- src/models/common/common.ts | 667 ----- .../{legacy_challenge.ts => challenge.ts} | 0 ..._challenge_phase.ts => challenge_phase.ts} | 26 +- .../{legacy_challenge.ts => challenge.ts} | 8 +- ..._challenge_phase.ts => challenge_phase.ts} | 16 +- src/models/google/protobuf/empty.ts | 69 - src/models/google/protobuf/struct.ts | 491 ---- src/models/google/protobuf/timestamp.ts | 219 -- src/schema/common/AuditColumns.ts | 2 +- src/service/LegacyChallenge.ts | 6 +- src/service/LegacyChallengePhase.ts | 11 +- tsconfig.json | 8 +- yarn.lock | 2 +- 27 files changed, 58 insertions(+), 6578 deletions(-) delete mode 100644 bin/nosql-client.js delete mode 100644 bin/rdb-client.js delete mode 100644 src/grpc/client/nosql.ts delete mode 100644 src/grpc/client/relational.ts delete mode 100644 src/grpc/models/nosql/google/protobuf/struct.ts delete mode 100644 src/grpc/models/nosql/parti_ql.ts delete mode 100644 src/grpc/models/nosql/tsconfig.json delete mode 100644 src/grpc/models/rdb/relational.ts delete mode 100644 src/grpc/models/rdb/tsconfig.json delete mode 100644 src/models/common/common.ts rename src/models/domain-layer/legacy/{legacy_challenge.ts => challenge.ts} (100%) rename src/models/domain-layer/legacy/{legacy_challenge_phase.ts => challenge_phase.ts} (96%) rename src/models/domain-layer/legacy/services/{legacy_challenge.ts => challenge.ts} (84%) rename src/models/domain-layer/legacy/services/{legacy_challenge_phase.ts => challenge_phase.ts} (59%) delete mode 100644 src/models/google/protobuf/empty.ts delete mode 100644 src/models/google/protobuf/struct.ts delete mode 100644 src/models/google/protobuf/timestamp.ts diff --git a/bin/nosql-client.js b/bin/nosql-client.js deleted file mode 100644 index 017dd8a..0000000 --- a/bin/nosql-client.js +++ /dev/null @@ -1,35 +0,0 @@ -const path = require("path"); -const rimraf = require("rimraf"); - -const { execSync } = require("child_process"); - -const PROTO_DIR = path.join( - __dirname, - "../node_modules/topcoder-interface/data-access-layer/nosql" -); -const MODEL_DIR = path.join(__dirname, "../src/grpc/models/nosql/"); - -const PROTOC_PATH = "protoc"; -const PLUGIN_PATH = path.join(__dirname, "../node_modules/.bin/protoc-gen-ts_proto"); - -rimraf.sync(`${MODEL_DIR}/*`, { - glob: { ignore: `${MODEL_DIR}/tsconfig.json` }, -}); - -const protoConfig = [ - `--plugin=${PLUGIN_PATH}`, - // https://github.com/stephenh/ts-proto/blob/main/README.markdown - "--ts_proto_opt=outputServices=grpc-js,env=node,useOptionals=messages,exportCommonSymbols=false,esModuleInterop=true", - `--ts_proto_opt=oneof=unions`, - `--ts_proto_opt=addGrpcMetadata=true`, - `--ts_proto_opt=stringEnums=true`, - `--ts_proto_opt=useDate=string`, - `--ts_proto_opt=outputServerImpl=false`, - `--ts_proto_out=${MODEL_DIR}`, - `--proto_path ${PROTO_DIR} ${PROTO_DIR}/*.proto`, -]; - -// https://github.com/stephenh/ts-proto#usage -execSync(`${PROTOC_PATH} ${protoConfig.join(" ")}`); - -console.log(`> Proto models created: ${MODEL_DIR}`); diff --git a/bin/rdb-client.js b/bin/rdb-client.js deleted file mode 100644 index 1145fa6..0000000 --- a/bin/rdb-client.js +++ /dev/null @@ -1,33 +0,0 @@ -const path = require("path"); -const rimraf = require("rimraf"); - -const { execSync } = require("child_process"); - -const PROTO_DIR = path.join( - __dirname, - "../node_modules/topcoder-interface/data-access-layer/relational" -); -const MODEL_DIR = path.join(__dirname, "../src/grpc/models/rdb/"); - -const PROTOC_PATH = "protoc"; -const PLUGIN_PATH = path.join(__dirname, "../node_modules/.bin/protoc-gen-ts_proto"); - -rimraf.sync(`${MODEL_DIR}/*`, { - glob: { ignore: `${MODEL_DIR}/tsconfig.json` }, -}); - -const protoConfig = [ - `--plugin=${PLUGIN_PATH}`, - // https://github.com/stephenh/ts-proto/blob/main/README.markdown - "--ts_proto_opt=outputServices=grpc-js,env=node,useOptionals=messages,exportCommonSymbols=false,esModuleInterop=true", - `--ts_proto_opt=oneof=unions`, - `--ts_proto_opt=addGrpcMetadata=true`, - `--ts_proto_opt=outputServerImpl=false`, - `--ts_proto_out=${MODEL_DIR}`, - `--proto_path ${PROTO_DIR} ${PROTO_DIR}/*.proto`, -]; - -// https://github.com/stephenh/ts-proto#usage -execSync(`${PROTOC_PATH} ${protoConfig.join(" ")}`); - -console.log(`> Proto models created: ${MODEL_DIR}`); diff --git a/bin/server.js b/bin/server.js index a461380..d1e4bb8 100644 --- a/bin/server.js +++ b/bin/server.js @@ -1,3 +1,4 @@ +/* eslint-disable */ const path = require("path"); const rimraf = require("rimraf"); @@ -7,26 +8,31 @@ const PROTO_DIR = path.join(__dirname, "../node_modules/topcoder-interface"); const PROTO_REFLECTIONS = path.join(__dirname, "../reflections/reflection.bin"); const MODEL_DIR = path.join(__dirname, "../src/models/"); - const PROTOC_PATH = "protoc"; const PLUGIN_PATH = path.join(__dirname, "../node_modules/.bin/protoc-gen-ts_proto"); rimraf.sync(`${MODEL_DIR}/*`, { - glob: { ignore: `${MODEL_DIR}/tsconfig.json` }, + glob: { ignore: `${MODEL_DIR}/*.json` }, }); const protoConfig = [ `--plugin=${PLUGIN_PATH}`, // https://github.com/stephenh/ts-proto/blob/main/README.markdown "--ts_proto_opt=outputServices=grpc-js,env=node,useOptionals=messages,exportCommonSymbols=false,esModuleInterop=true", - `--ts_proto_out=${MODEL_DIR}`, + `--ts_proto_opt=stringEnums=true`, + `--ts_proto_opt=useDate=string`, `--ts_proto_opt=oneof=unions`, `--ts_proto_opt=addGrpcMetadata=true`, `--ts_proto_opt=outputClientImpl=false`, - `--ts_proto_opt=useDate=string`, - `--include_imports`, `--descriptor_set_out ${PROTO_REFLECTIONS}`, - `--proto_path ${PROTO_DIR} ${PROTO_DIR}/domain-layer/legacy/**/*.proto`, + `--include_imports`, + `--ts_proto_opt=Mcommon/common.proto=@topcoder-framework/lib-common`, + `--ts_proto_opt=Mgoogle/protobuf/struct.proto=@topcoder-framework/lib-common`, + `--ts_proto_opt=Mgoogle/protobuf/timestamp.proto=@topcoder-framework/lib-common`, + `--ts_proto_opt=Mgoogle/protobuf/empty.proto=@topcoder-framework/lib-common`, + `--proto_path ${PROTO_DIR} ${PROTO_DIR}/domain-layer/legacy/*.proto`, + `--proto_path ${PROTO_DIR} ${PROTO_DIR}/domain-layer/legacy/services/*.proto`, + `--ts_proto_out=${MODEL_DIR}`, ]; // https://github.com/stephenh/ts-proto#usage diff --git a/package.json b/package.json index 08c26f8..8fd0d05 100644 --- a/package.json +++ b/package.json @@ -4,12 +4,11 @@ "description": "", "main": "index.js", "scripts": { - "build:proto:client:nosql": "node bin/nosql-client", - "build:proto:client:rdb": "node bin/rdb-client", "build:proto:server": "node bin/server", - "build:proto": "node bin/rdb-client && node bin/nosql-client && node bin/server", + "build:proto": "node bin/server", "build:app": "rimraf dist && tsc -b", - "build": "node bin/rdb-client && node bin/nosql-client && node bin/server && rimraf dist && tsc -b", + "build": "node bin/server && rimraf dist && tsc -b", + "clean": "rimraf dist", "start": "ts-node-dev --respawn --transpile-only src/server.ts" }, "keywords": [], @@ -18,6 +17,7 @@ "dependencies": { "@grpc/grpc-js": "^1.7.1", "@topcoder-framework/client-relational": "^0.4.23-ci.0", + "@topcoder-framework/lib-common": "^0.4.23-ci.0", "dayjs": "^1.11.5", "dotenv": "^16.0.3", "grpc-server-reflection": "^0.1.5", diff --git a/src/domain/LegacyChallenge.ts b/src/domain/LegacyChallenge.ts index 0a2e95b..2306c28 100644 --- a/src/domain/LegacyChallenge.ts +++ b/src/domain/LegacyChallenge.ts @@ -1,7 +1,7 @@ +import { ColumnType, Operator, QueryRequest } from "@topcoder-framework/client-relational"; +import { Value } from "@topcoder-framework/lib-common"; import { QueryRunner } from "../common/QueryRunner"; -import { ColumnType, Operator, QueryRequest } from "../grpc/models/rdb/relational"; -import { CheckChallengeExistsResponse } from "../models/domain-layer/legacy/legacy_challenge"; -import { Value } from "../models/google/protobuf/struct"; +import { CheckChallengeExistsResponse } from "../models/domain-layer/legacy/challenge"; import { Project } from "../schema/project/Project"; class LegacyChallengeDomain { diff --git a/src/domain/LegacyChallengePhase.ts b/src/domain/LegacyChallengePhase.ts index eb7608f..7a82dc2 100644 --- a/src/domain/LegacyChallengePhase.ts +++ b/src/domain/LegacyChallengePhase.ts @@ -1,16 +1,9 @@ -import _ from "lodash"; - -import { PhaseTypeList } from "../models/domain-layer/legacy/legacy_challenge_phase"; - import { QueryRunner } from "../common/QueryRunner"; -import { Value } from "../grpc/models/rdb/relational"; - -import { ProjectPhaseSchema } from "../schema/project/ProjectPhase"; +import { Value } from "@topcoder-framework/client-relational"; +import { CreatePhaseInput, PhaseTypeList } from "../models/domain-layer/legacy/challenge_phase"; import { PhaseType } from "../schema/project/PhaseType"; -import { - CreatePhaseInput, - CreateResult, -} from "../models/domain-layer/legacy/services/legacy_challenge_phase"; +import { ProjectPhaseSchema } from "../schema/project/ProjectPhase"; +import { CreateResult } from "@topcoder-framework/lib-common"; class LegacyChallengePhaseDomain { public async create(input: CreatePhaseInput): Promise { diff --git a/src/grpc/client/nosql.ts b/src/grpc/client/nosql.ts deleted file mode 100644 index d4a4a97..0000000 --- a/src/grpc/client/nosql.ts +++ /dev/null @@ -1,39 +0,0 @@ -const { GRPC_NOSQL_SERVER_HOST, GRPC_NOSQL_SERVER_PORT } = process.env; - -import "source-map-support/register"; - -import { credentials, Metadata } from "@grpc/grpc-js"; -import { promisify } from "util"; - -import { - PartiQLQueryClient, - QueryRequest, - QueryResponse, -} from "../models/nosql/parti_ql"; - -class NoSQLClient { - // https://github.com/grpc/grpc/blob/master/doc/keepalive.md - // https://cloud.ibm.com/docs/blockchain-multicloud?topic=blockchain-multicloud-best-practices-app#best-practices-app-connections - private readonly client: PartiQLQueryClient = new PartiQLQueryClient( - `${GRPC_NOSQL_SERVER_HOST}:${GRPC_NOSQL_SERVER_PORT}`, // 5051 - credentials.createInsecure(), - { - "grpc.keepalive_time_ms": 120000, - "grpc.http2.min_time_between_pings_ms": 120000, - "grpc.keepalive_timeout_ms": 20000, - "grpc.http2.max_pings_without_data": 0, - "grpc.keepalive_permit_without_calls": 1, - } - ); - - public async query( - param: QueryRequest, - metadata: Metadata = new Metadata() - ): Promise { - return promisify( - this.client.query.bind(this.client) - )(param, metadata); - } -} - -export const noSqlClient = new NoSQLClient(); diff --git a/src/grpc/client/relational.ts b/src/grpc/client/relational.ts deleted file mode 100644 index 741548a..0000000 --- a/src/grpc/client/relational.ts +++ /dev/null @@ -1,32 +0,0 @@ -const { GRPC_RDB_SERVER_HOST, GRPC_RDB_SERVER_PORT } = process.env; - -import "source-map-support/register"; - -import { credentials, Metadata } from "@grpc/grpc-js"; -import { promisify } from "util"; -import { QueryRequest, QueryResponse, QueryServiceClient } from "../models/rdb/relational"; -class RelationalClient { - private readonly client: QueryServiceClient = new QueryServiceClient( - `${GRPC_RDB_SERVER_HOST}:${GRPC_RDB_SERVER_PORT}`, // 9090 - credentials.createInsecure(), - { - "grpc.keepalive_time_ms": 120000, - "grpc.http2.min_time_between_pings_ms": 120000, - "grpc.keepalive_timeout_ms": 20000, - "grpc.http2.max_pings_without_data": 0, - "grpc.keepalive_permit_without_calls": 1, - } - ); - - public async query( - param: QueryRequest, - metadata: Metadata = new Metadata() - ): Promise { - return promisify(this.client.query.bind(this.client))( - param, - metadata - ); - } -} - -export const relationalClient = new RelationalClient(); diff --git a/src/grpc/models/nosql/google/protobuf/struct.ts b/src/grpc/models/nosql/google/protobuf/struct.ts deleted file mode 100644 index 008c728..0000000 --- a/src/grpc/models/nosql/google/protobuf/struct.ts +++ /dev/null @@ -1,501 +0,0 @@ -/* eslint-disable */ -import _m0 from "protobufjs/minimal"; - -/** - * `NullValue` is a singleton enumeration to represent the null value for the - * `Value` type union. - * - * The JSON representation for `NullValue` is JSON `null`. - */ -export enum NullValue { - /** NULL_VALUE - Null value. */ - NULL_VALUE = "NULL_VALUE", - UNRECOGNIZED = "UNRECOGNIZED", -} - -export function nullValueFromJSON(object: any): NullValue { - switch (object) { - case 0: - case "NULL_VALUE": - return NullValue.NULL_VALUE; - case -1: - case "UNRECOGNIZED": - default: - return NullValue.UNRECOGNIZED; - } -} - -export function nullValueToJSON(object: NullValue): string { - switch (object) { - case NullValue.NULL_VALUE: - return "NULL_VALUE"; - case NullValue.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export function nullValueToNumber(object: NullValue): number { - switch (object) { - case NullValue.NULL_VALUE: - return 0; - case NullValue.UNRECOGNIZED: - default: - return -1; - } -} - -/** - * `Struct` represents a structured data value, consisting of fields - * which map to dynamically typed values. In some languages, `Struct` - * might be supported by a native representation. For example, in - * scripting languages like JS a struct is represented as an - * object. The details of that representation are described together - * with the proto support for the language. - * - * The JSON representation for `Struct` is JSON object. - */ -export interface Struct { - /** Unordered map of dynamically typed values. */ - fields: { [key: string]: any }; -} - -export interface Struct_FieldsEntry { - key: string; - value?: any; -} - -/** - * `Value` represents a dynamically typed value which can be either - * null, a number, a string, a boolean, a recursive struct value, or a - * list of values. A producer of value is expected to set one of these - * variants. Absence of any variant indicates an error. - * - * The JSON representation for `Value` is JSON value. - */ -export interface Value { - kind?: - | { $case: "nullValue"; nullValue: NullValue } - | { $case: "numberValue"; numberValue: number } - | { $case: "stringValue"; stringValue: string } - | { $case: "boolValue"; boolValue: boolean } - | { $case: "structValue"; structValue: { [key: string]: any } } - | { $case: "listValue"; listValue: Array }; -} - -/** - * `ListValue` is a wrapper around a repeated field of values. - * - * The JSON representation for `ListValue` is JSON array. - */ -export interface ListValue { - /** Repeated field of dynamically typed values. */ - values: any[]; -} - -function createBaseStruct(): Struct { - return { fields: {} }; -} - -export const Struct = { - encode(message: Struct, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - Object.entries(message.fields).forEach(([key, value]) => { - if (value !== undefined) { - Struct_FieldsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).ldelim(); - } - }); - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Struct { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseStruct(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - const entry1 = Struct_FieldsEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.fields[entry1.key] = entry1.value; - } - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Struct { - return { - fields: isObject(object.fields) - ? Object.entries(object.fields).reduce<{ [key: string]: any }>((acc, [key, value]) => { - acc[key] = value as any; - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: Struct): unknown { - const obj: any = {}; - obj.fields = {}; - if (message.fields) { - Object.entries(message.fields).forEach(([k, v]) => { - obj.fields[k] = v; - }); - } - return obj; - }, - - create, I>>(base?: I): Struct { - return Struct.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Struct { - const message = createBaseStruct(); - message.fields = Object.entries(object.fields ?? {}).reduce<{ [key: string]: any }>((acc, [key, value]) => { - if (value !== undefined) { - acc[key] = value; - } - return acc; - }, {}); - return message; - }, - - wrap(object: { [key: string]: any } | undefined): Struct { - const struct = createBaseStruct(); - if (object !== undefined) { - Object.keys(object).forEach((key) => { - struct.fields[key] = object[key]; - }); - } - return struct; - }, - - unwrap(message: Struct): { [key: string]: any } { - const object: { [key: string]: any } = {}; - Object.keys(message.fields).forEach((key) => { - object[key] = message.fields[key]; - }); - return object; - }, -}; - -function createBaseStruct_FieldsEntry(): Struct_FieldsEntry { - return { key: "", value: undefined }; -} - -export const Struct_FieldsEntry = { - encode(message: Struct_FieldsEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.key !== "") { - writer.uint32(10).string(message.key); - } - if (message.value !== undefined) { - Value.encode(Value.wrap(message.value), writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Struct_FieldsEntry { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseStruct_FieldsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = Value.unwrap(Value.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Struct_FieldsEntry { - return { key: isSet(object.key) ? String(object.key) : "", value: isSet(object?.value) ? object.value : undefined }; - }, - - toJSON(message: Struct_FieldsEntry): unknown { - const obj: any = {}; - message.key !== undefined && (obj.key = message.key); - message.value !== undefined && (obj.value = message.value); - return obj; - }, - - create, I>>(base?: I): Struct_FieldsEntry { - return Struct_FieldsEntry.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Struct_FieldsEntry { - const message = createBaseStruct_FieldsEntry(); - message.key = object.key ?? ""; - message.value = object.value ?? undefined; - return message; - }, -}; - -function createBaseValue(): Value { - return { kind: undefined }; -} - -export const Value = { - encode(message: Value, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "nullValue") { - writer.uint32(8).int32(nullValueToNumber(message.kind.nullValue)); - } - if (message.kind?.$case === "numberValue") { - writer.uint32(17).double(message.kind.numberValue); - } - if (message.kind?.$case === "stringValue") { - writer.uint32(26).string(message.kind.stringValue); - } - if (message.kind?.$case === "boolValue") { - writer.uint32(32).bool(message.kind.boolValue); - } - if (message.kind?.$case === "structValue") { - Struct.encode(Struct.wrap(message.kind.structValue), writer.uint32(42).fork()).ldelim(); - } - if (message.kind?.$case === "listValue") { - ListValue.encode(ListValue.wrap(message.kind.listValue), writer.uint32(50).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Value { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseValue(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "nullValue", nullValue: nullValueFromJSON(reader.int32()) }; - break; - case 2: - message.kind = { $case: "numberValue", numberValue: reader.double() }; - break; - case 3: - message.kind = { $case: "stringValue", stringValue: reader.string() }; - break; - case 4: - message.kind = { $case: "boolValue", boolValue: reader.bool() }; - break; - case 5: - message.kind = { $case: "structValue", structValue: Struct.unwrap(Struct.decode(reader, reader.uint32())) }; - break; - case 6: - message.kind = { $case: "listValue", listValue: ListValue.unwrap(ListValue.decode(reader, reader.uint32())) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Value { - return { - kind: isSet(object.nullValue) - ? { $case: "nullValue", nullValue: nullValueFromJSON(object.nullValue) } - : isSet(object.numberValue) - ? { $case: "numberValue", numberValue: Number(object.numberValue) } - : isSet(object.stringValue) - ? { $case: "stringValue", stringValue: String(object.stringValue) } - : isSet(object.boolValue) - ? { $case: "boolValue", boolValue: Boolean(object.boolValue) } - : isSet(object.structValue) - ? { $case: "structValue", structValue: object.structValue } - : isSet(object.listValue) - ? { $case: "listValue", listValue: [...object.listValue] } - : undefined, - }; - }, - - toJSON(message: Value): unknown { - const obj: any = {}; - message.kind?.$case === "nullValue" && - (obj.nullValue = message.kind?.nullValue !== undefined ? nullValueToJSON(message.kind?.nullValue) : undefined); - message.kind?.$case === "numberValue" && (obj.numberValue = message.kind?.numberValue); - message.kind?.$case === "stringValue" && (obj.stringValue = message.kind?.stringValue); - message.kind?.$case === "boolValue" && (obj.boolValue = message.kind?.boolValue); - message.kind?.$case === "structValue" && (obj.structValue = message.kind?.structValue); - message.kind?.$case === "listValue" && (obj.listValue = message.kind?.listValue); - return obj; - }, - - create, I>>(base?: I): Value { - return Value.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Value { - const message = createBaseValue(); - if (object.kind?.$case === "nullValue" && object.kind?.nullValue !== undefined && object.kind?.nullValue !== null) { - message.kind = { $case: "nullValue", nullValue: object.kind.nullValue }; - } - if ( - object.kind?.$case === "numberValue" && - object.kind?.numberValue !== undefined && - object.kind?.numberValue !== null - ) { - message.kind = { $case: "numberValue", numberValue: object.kind.numberValue }; - } - if ( - object.kind?.$case === "stringValue" && - object.kind?.stringValue !== undefined && - object.kind?.stringValue !== null - ) { - message.kind = { $case: "stringValue", stringValue: object.kind.stringValue }; - } - if (object.kind?.$case === "boolValue" && object.kind?.boolValue !== undefined && object.kind?.boolValue !== null) { - message.kind = { $case: "boolValue", boolValue: object.kind.boolValue }; - } - if ( - object.kind?.$case === "structValue" && - object.kind?.structValue !== undefined && - object.kind?.structValue !== null - ) { - message.kind = { $case: "structValue", structValue: object.kind.structValue }; - } - if (object.kind?.$case === "listValue" && object.kind?.listValue !== undefined && object.kind?.listValue !== null) { - message.kind = { $case: "listValue", listValue: object.kind.listValue }; - } - return message; - }, - - wrap(value: any): Value { - const result = createBaseValue(); - - if (value === null) { - result.kind = { $case: "nullValue", nullValue: NullValue.NULL_VALUE }; - } else if (typeof value === "boolean") { - result.kind = { $case: "boolValue", boolValue: value }; - } else if (typeof value === "number") { - result.kind = { $case: "numberValue", numberValue: value }; - } else if (typeof value === "string") { - result.kind = { $case: "stringValue", stringValue: value }; - } else if (Array.isArray(value)) { - result.kind = { $case: "listValue", listValue: value }; - } else if (typeof value === "object") { - result.kind = { $case: "structValue", structValue: value }; - } else if (typeof value !== "undefined") { - throw new Error("Unsupported any value type: " + typeof value); - } - - return result; - }, - - unwrap(message: Value): string | number | boolean | Object | null | Array | undefined { - if (message.kind?.$case === "nullValue") { - return null; - } else if (message.kind?.$case === "numberValue") { - return message.kind?.numberValue; - } else if (message.kind?.$case === "stringValue") { - return message.kind?.stringValue; - } else if (message.kind?.$case === "boolValue") { - return message.kind?.boolValue; - } else if (message.kind?.$case === "structValue") { - return message.kind?.structValue; - } else if (message.kind?.$case === "listValue") { - return message.kind?.listValue; - } else { - return undefined; - } - }, -}; - -function createBaseListValue(): ListValue { - return { values: [] }; -} - -export const ListValue = { - encode(message: ListValue, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.values) { - Value.encode(Value.wrap(v!), writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ListValue { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseListValue(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.values.push(Value.unwrap(Value.decode(reader, reader.uint32()))); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ListValue { - return { values: Array.isArray(object?.values) ? [...object.values] : [] }; - }, - - toJSON(message: ListValue): unknown { - const obj: any = {}; - if (message.values) { - obj.values = message.values.map((e) => e); - } else { - obj.values = []; - } - return obj; - }, - - create, I>>(base?: I): ListValue { - return ListValue.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ListValue { - const message = createBaseListValue(); - message.values = object.values?.map((e) => e) || []; - return message; - }, - - wrap(value: Array | undefined): ListValue { - const result = createBaseListValue(); - - result.values = value ?? []; - - return result; - }, - - unwrap(message: ListValue): Array { - return message.values; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/grpc/models/nosql/parti_ql.ts b/src/grpc/models/nosql/parti_ql.ts deleted file mode 100644 index f5695d3..0000000 --- a/src/grpc/models/nosql/parti_ql.ts +++ /dev/null @@ -1,2226 +0,0 @@ -/* eslint-disable */ -import { - CallOptions, - ChannelCredentials, - Client, - ClientOptions, - ClientUnaryCall, - handleUnaryCall, - makeGenericClientConstructor, - Metadata, - ServiceError, - UntypedServiceImplementation, -} from "@grpc/grpc-js"; -import _m0 from "protobufjs/minimal"; -import { - ListValue, - NullValue, - nullValueFromJSON, - nullValueToJSON, - nullValueToNumber, - Struct, -} from "./google/protobuf/struct"; - -export enum DataType { - DATA_TYPE_UNSPECIFIED = "DATA_TYPE_UNSPECIFIED", - DATA_TYPE_BOOLEAN = "DATA_TYPE_BOOLEAN", - DATA_TYPE_BINARY = "DATA_TYPE_BINARY", - DATA_TYPE_LIST = "DATA_TYPE_LIST", - DATA_TYPE_MAP = "DATA_TYPE_MAP", - DATA_TYPE_NULL = "DATA_TYPE_NULL", - DATA_TYPE_NUMBER = "DATA_TYPE_NUMBER", - DATA_TYPE_NUMBER_SET = "DATA_TYPE_NUMBER_SET", - DATA_TYPE_STRING = "DATA_TYPE_STRING", - DATA_TYPE_STRING_SET = "DATA_TYPE_STRING_SET", - UNRECOGNIZED = "UNRECOGNIZED", -} - -export function dataTypeFromJSON(object: any): DataType { - switch (object) { - case 0: - case "DATA_TYPE_UNSPECIFIED": - return DataType.DATA_TYPE_UNSPECIFIED; - case 1: - case "DATA_TYPE_BOOLEAN": - return DataType.DATA_TYPE_BOOLEAN; - case 2: - case "DATA_TYPE_BINARY": - return DataType.DATA_TYPE_BINARY; - case 3: - case "DATA_TYPE_LIST": - return DataType.DATA_TYPE_LIST; - case 4: - case "DATA_TYPE_MAP": - return DataType.DATA_TYPE_MAP; - case 5: - case "DATA_TYPE_NULL": - return DataType.DATA_TYPE_NULL; - case 6: - case "DATA_TYPE_NUMBER": - return DataType.DATA_TYPE_NUMBER; - case 7: - case "DATA_TYPE_NUMBER_SET": - return DataType.DATA_TYPE_NUMBER_SET; - case 8: - case "DATA_TYPE_STRING": - return DataType.DATA_TYPE_STRING; - case 9: - case "DATA_TYPE_STRING_SET": - return DataType.DATA_TYPE_STRING_SET; - case -1: - case "UNRECOGNIZED": - default: - return DataType.UNRECOGNIZED; - } -} - -export function dataTypeToJSON(object: DataType): string { - switch (object) { - case DataType.DATA_TYPE_UNSPECIFIED: - return "DATA_TYPE_UNSPECIFIED"; - case DataType.DATA_TYPE_BOOLEAN: - return "DATA_TYPE_BOOLEAN"; - case DataType.DATA_TYPE_BINARY: - return "DATA_TYPE_BINARY"; - case DataType.DATA_TYPE_LIST: - return "DATA_TYPE_LIST"; - case DataType.DATA_TYPE_MAP: - return "DATA_TYPE_MAP"; - case DataType.DATA_TYPE_NULL: - return "DATA_TYPE_NULL"; - case DataType.DATA_TYPE_NUMBER: - return "DATA_TYPE_NUMBER"; - case DataType.DATA_TYPE_NUMBER_SET: - return "DATA_TYPE_NUMBER_SET"; - case DataType.DATA_TYPE_STRING: - return "DATA_TYPE_STRING"; - case DataType.DATA_TYPE_STRING_SET: - return "DATA_TYPE_STRING_SET"; - case DataType.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export function dataTypeToNumber(object: DataType): number { - switch (object) { - case DataType.DATA_TYPE_UNSPECIFIED: - return 0; - case DataType.DATA_TYPE_BOOLEAN: - return 1; - case DataType.DATA_TYPE_BINARY: - return 2; - case DataType.DATA_TYPE_LIST: - return 3; - case DataType.DATA_TYPE_MAP: - return 4; - case DataType.DATA_TYPE_NULL: - return 5; - case DataType.DATA_TYPE_NUMBER: - return 6; - case DataType.DATA_TYPE_NUMBER_SET: - return 7; - case DataType.DATA_TYPE_STRING: - return 8; - case DataType.DATA_TYPE_STRING_SET: - return 9; - case DataType.UNRECOGNIZED: - default: - return -1; - } -} - -export enum Operator { - OPERATOR_UNSPECIFIED = "OPERATOR_UNSPECIFIED", - OPERATOR_EQUAL = "OPERATOR_EQUAL", - OPERATOR_NOT_EQUAL = "OPERATOR_NOT_EQUAL", - OPERATOR_GREATER_THAN = "OPERATOR_GREATER_THAN", - OPERATOR_GREATER_THAN_OR_EQUAL = "OPERATOR_GREATER_THAN_OR_EQUAL", - OPERATOR_LESS_THAN = "OPERATOR_LESS_THAN", - OPERATOR_LESS_THAN_OR_EQUAL = "OPERATOR_LESS_THAN_OR_EQUAL", - OPERATOR_AND = "OPERATOR_AND", - OPERATOR_BETWEEN = "OPERATOR_BETWEEN", - OPERATOR_IN = "OPERATOR_IN", - OPERATOR_IS = "OPERATOR_IS", - OPERATOR_NOT = "OPERATOR_NOT", - OPERATOR_OR = "OPERATOR_OR", - UNRECOGNIZED = "UNRECOGNIZED", -} - -export function operatorFromJSON(object: any): Operator { - switch (object) { - case 0: - case "OPERATOR_UNSPECIFIED": - return Operator.OPERATOR_UNSPECIFIED; - case 1: - case "OPERATOR_EQUAL": - return Operator.OPERATOR_EQUAL; - case 2: - case "OPERATOR_NOT_EQUAL": - return Operator.OPERATOR_NOT_EQUAL; - case 3: - case "OPERATOR_GREATER_THAN": - return Operator.OPERATOR_GREATER_THAN; - case 4: - case "OPERATOR_GREATER_THAN_OR_EQUAL": - return Operator.OPERATOR_GREATER_THAN_OR_EQUAL; - case 5: - case "OPERATOR_LESS_THAN": - return Operator.OPERATOR_LESS_THAN; - case 6: - case "OPERATOR_LESS_THAN_OR_EQUAL": - return Operator.OPERATOR_LESS_THAN_OR_EQUAL; - case 7: - case "OPERATOR_AND": - return Operator.OPERATOR_AND; - case 8: - case "OPERATOR_BETWEEN": - return Operator.OPERATOR_BETWEEN; - case 9: - case "OPERATOR_IN": - return Operator.OPERATOR_IN; - case 10: - case "OPERATOR_IS": - return Operator.OPERATOR_IS; - case 11: - case "OPERATOR_NOT": - return Operator.OPERATOR_NOT; - case 12: - case "OPERATOR_OR": - return Operator.OPERATOR_OR; - case -1: - case "UNRECOGNIZED": - default: - return Operator.UNRECOGNIZED; - } -} - -export function operatorToJSON(object: Operator): string { - switch (object) { - case Operator.OPERATOR_UNSPECIFIED: - return "OPERATOR_UNSPECIFIED"; - case Operator.OPERATOR_EQUAL: - return "OPERATOR_EQUAL"; - case Operator.OPERATOR_NOT_EQUAL: - return "OPERATOR_NOT_EQUAL"; - case Operator.OPERATOR_GREATER_THAN: - return "OPERATOR_GREATER_THAN"; - case Operator.OPERATOR_GREATER_THAN_OR_EQUAL: - return "OPERATOR_GREATER_THAN_OR_EQUAL"; - case Operator.OPERATOR_LESS_THAN: - return "OPERATOR_LESS_THAN"; - case Operator.OPERATOR_LESS_THAN_OR_EQUAL: - return "OPERATOR_LESS_THAN_OR_EQUAL"; - case Operator.OPERATOR_AND: - return "OPERATOR_AND"; - case Operator.OPERATOR_BETWEEN: - return "OPERATOR_BETWEEN"; - case Operator.OPERATOR_IN: - return "OPERATOR_IN"; - case Operator.OPERATOR_IS: - return "OPERATOR_IS"; - case Operator.OPERATOR_NOT: - return "OPERATOR_NOT"; - case Operator.OPERATOR_OR: - return "OPERATOR_OR"; - case Operator.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export function operatorToNumber(object: Operator): number { - switch (object) { - case Operator.OPERATOR_UNSPECIFIED: - return 0; - case Operator.OPERATOR_EQUAL: - return 1; - case Operator.OPERATOR_NOT_EQUAL: - return 2; - case Operator.OPERATOR_GREATER_THAN: - return 3; - case Operator.OPERATOR_GREATER_THAN_OR_EQUAL: - return 4; - case Operator.OPERATOR_LESS_THAN: - return 5; - case Operator.OPERATOR_LESS_THAN_OR_EQUAL: - return 6; - case Operator.OPERATOR_AND: - return 7; - case Operator.OPERATOR_BETWEEN: - return 8; - case Operator.OPERATOR_IN: - return 9; - case Operator.OPERATOR_IS: - return 10; - case Operator.OPERATOR_NOT: - return 11; - case Operator.OPERATOR_OR: - return 12; - case Operator.UNRECOGNIZED: - default: - return -1; - } -} - -export enum Error { - ERROR_UNSPECIFIED = "ERROR_UNSPECIFIED", - ERROR_DATABASE_ERROR = "ERROR_DATABASE_ERROR", - ERROR_INVALID_ARGUMENT = "ERROR_INVALID_ARGUMENT", - ERROR_INVALID_QUERY = "ERROR_INVALID_QUERY", - ERROR_NOT_FOUND = "ERROR_NOT_FOUND", - ERROR_UNAUTHENTICATED = "ERROR_UNAUTHENTICATED", - ERROR_UNAUTHORIZED = "ERROR_UNAUTHORIZED", - ERROR_UNKNOWN = "ERROR_UNKNOWN", - UNRECOGNIZED = "UNRECOGNIZED", -} - -export function errorFromJSON(object: any): Error { - switch (object) { - case 0: - case "ERROR_UNSPECIFIED": - return Error.ERROR_UNSPECIFIED; - case 1: - case "ERROR_DATABASE_ERROR": - return Error.ERROR_DATABASE_ERROR; - case 2: - case "ERROR_INVALID_ARGUMENT": - return Error.ERROR_INVALID_ARGUMENT; - case 3: - case "ERROR_INVALID_QUERY": - return Error.ERROR_INVALID_QUERY; - case 4: - case "ERROR_NOT_FOUND": - return Error.ERROR_NOT_FOUND; - case 5: - case "ERROR_UNAUTHENTICATED": - return Error.ERROR_UNAUTHENTICATED; - case 6: - case "ERROR_UNAUTHORIZED": - return Error.ERROR_UNAUTHORIZED; - case 7: - case "ERROR_UNKNOWN": - return Error.ERROR_UNKNOWN; - case -1: - case "UNRECOGNIZED": - default: - return Error.UNRECOGNIZED; - } -} - -export function errorToJSON(object: Error): string { - switch (object) { - case Error.ERROR_UNSPECIFIED: - return "ERROR_UNSPECIFIED"; - case Error.ERROR_DATABASE_ERROR: - return "ERROR_DATABASE_ERROR"; - case Error.ERROR_INVALID_ARGUMENT: - return "ERROR_INVALID_ARGUMENT"; - case Error.ERROR_INVALID_QUERY: - return "ERROR_INVALID_QUERY"; - case Error.ERROR_NOT_FOUND: - return "ERROR_NOT_FOUND"; - case Error.ERROR_UNAUTHENTICATED: - return "ERROR_UNAUTHENTICATED"; - case Error.ERROR_UNAUTHORIZED: - return "ERROR_UNAUTHORIZED"; - case Error.ERROR_UNKNOWN: - return "ERROR_UNKNOWN"; - case Error.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export function errorToNumber(object: Error): number { - switch (object) { - case Error.ERROR_UNSPECIFIED: - return 0; - case Error.ERROR_DATABASE_ERROR: - return 1; - case Error.ERROR_INVALID_ARGUMENT: - return 2; - case Error.ERROR_INVALID_QUERY: - return 3; - case Error.ERROR_NOT_FOUND: - return 4; - case Error.ERROR_UNAUTHENTICATED: - return 5; - case Error.ERROR_UNAUTHORIZED: - return 6; - case Error.ERROR_UNKNOWN: - return 7; - case Error.UNRECOGNIZED: - default: - return -1; - } -} - -export enum UpdateAction { - UPDATE_ACTION_UNSPECIFIED = "UPDATE_ACTION_UNSPECIFIED", - UPDATE_ACTION_SET = "UPDATE_ACTION_SET", - UPDATE_ACTION_REMOVE = "UPDATE_ACTION_REMOVE", - UNRECOGNIZED = "UNRECOGNIZED", -} - -export function updateActionFromJSON(object: any): UpdateAction { - switch (object) { - case 0: - case "UPDATE_ACTION_UNSPECIFIED": - return UpdateAction.UPDATE_ACTION_UNSPECIFIED; - case 1: - case "UPDATE_ACTION_SET": - return UpdateAction.UPDATE_ACTION_SET; - case 2: - case "UPDATE_ACTION_REMOVE": - return UpdateAction.UPDATE_ACTION_REMOVE; - case -1: - case "UNRECOGNIZED": - default: - return UpdateAction.UNRECOGNIZED; - } -} - -export function updateActionToJSON(object: UpdateAction): string { - switch (object) { - case UpdateAction.UPDATE_ACTION_UNSPECIFIED: - return "UPDATE_ACTION_UNSPECIFIED"; - case UpdateAction.UPDATE_ACTION_SET: - return "UPDATE_ACTION_SET"; - case UpdateAction.UPDATE_ACTION_REMOVE: - return "UPDATE_ACTION_REMOVE"; - case UpdateAction.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export function updateActionToNumber(object: UpdateAction): number { - switch (object) { - case UpdateAction.UPDATE_ACTION_UNSPECIFIED: - return 0; - case UpdateAction.UPDATE_ACTION_SET: - return 1; - case UpdateAction.UPDATE_ACTION_REMOVE: - return 2; - case UpdateAction.UNRECOGNIZED: - default: - return -1; - } -} - -export enum UpdateType { - UPDATE_TYPE_UNSPECIFIED = "UPDATE_TYPE_UNSPECIFIED", - UPDATE_TYPE_VALUE = "UPDATE_TYPE_VALUE", - UPDATE_TYPE_SET_ADD = "UPDATE_TYPE_SET_ADD", - UPDATE_TYPE_SET_DELETE = "UPDATE_TYPE_SET_DELETE", - UPDATE_TYPE_LIST_APPEND = "UPDATE_TYPE_LIST_APPEND", - UNRECOGNIZED = "UNRECOGNIZED", -} - -export function updateTypeFromJSON(object: any): UpdateType { - switch (object) { - case 0: - case "UPDATE_TYPE_UNSPECIFIED": - return UpdateType.UPDATE_TYPE_UNSPECIFIED; - case 1: - case "UPDATE_TYPE_VALUE": - return UpdateType.UPDATE_TYPE_VALUE; - case 2: - case "UPDATE_TYPE_SET_ADD": - return UpdateType.UPDATE_TYPE_SET_ADD; - case 3: - case "UPDATE_TYPE_SET_DELETE": - return UpdateType.UPDATE_TYPE_SET_DELETE; - case 4: - case "UPDATE_TYPE_LIST_APPEND": - return UpdateType.UPDATE_TYPE_LIST_APPEND; - case -1: - case "UNRECOGNIZED": - default: - return UpdateType.UNRECOGNIZED; - } -} - -export function updateTypeToJSON(object: UpdateType): string { - switch (object) { - case UpdateType.UPDATE_TYPE_UNSPECIFIED: - return "UPDATE_TYPE_UNSPECIFIED"; - case UpdateType.UPDATE_TYPE_VALUE: - return "UPDATE_TYPE_VALUE"; - case UpdateType.UPDATE_TYPE_SET_ADD: - return "UPDATE_TYPE_SET_ADD"; - case UpdateType.UPDATE_TYPE_SET_DELETE: - return "UPDATE_TYPE_SET_DELETE"; - case UpdateType.UPDATE_TYPE_LIST_APPEND: - return "UPDATE_TYPE_LIST_APPEND"; - case UpdateType.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export function updateTypeToNumber(object: UpdateType): number { - switch (object) { - case UpdateType.UPDATE_TYPE_UNSPECIFIED: - return 0; - case UpdateType.UPDATE_TYPE_VALUE: - return 1; - case UpdateType.UPDATE_TYPE_SET_ADD: - return 2; - case UpdateType.UPDATE_TYPE_SET_DELETE: - return 3; - case UpdateType.UPDATE_TYPE_LIST_APPEND: - return 4; - case UpdateType.UNRECOGNIZED: - default: - return -1; - } -} - -export enum ReturnValue { - RETURN_VALUE_UNSPECIFIED = "RETURN_VALUE_UNSPECIFIED", - RETURN_VALUE_ALL_NEW = "RETURN_VALUE_ALL_NEW", - RETURN_VALUE_MODIFIED_NEW = "RETURN_VALUE_MODIFIED_NEW", - RETURN_VALUE_ALL_OLD = "RETURN_VALUE_ALL_OLD", - RETURN_VALUE_MODIFIED_OLD = "RETURN_VALUE_MODIFIED_OLD", - UNRECOGNIZED = "UNRECOGNIZED", -} - -export function returnValueFromJSON(object: any): ReturnValue { - switch (object) { - case 0: - case "RETURN_VALUE_UNSPECIFIED": - return ReturnValue.RETURN_VALUE_UNSPECIFIED; - case 1: - case "RETURN_VALUE_ALL_NEW": - return ReturnValue.RETURN_VALUE_ALL_NEW; - case 2: - case "RETURN_VALUE_MODIFIED_NEW": - return ReturnValue.RETURN_VALUE_MODIFIED_NEW; - case 3: - case "RETURN_VALUE_ALL_OLD": - return ReturnValue.RETURN_VALUE_ALL_OLD; - case 4: - case "RETURN_VALUE_MODIFIED_OLD": - return ReturnValue.RETURN_VALUE_MODIFIED_OLD; - case -1: - case "UNRECOGNIZED": - default: - return ReturnValue.UNRECOGNIZED; - } -} - -export function returnValueToJSON(object: ReturnValue): string { - switch (object) { - case ReturnValue.RETURN_VALUE_UNSPECIFIED: - return "RETURN_VALUE_UNSPECIFIED"; - case ReturnValue.RETURN_VALUE_ALL_NEW: - return "RETURN_VALUE_ALL_NEW"; - case ReturnValue.RETURN_VALUE_MODIFIED_NEW: - return "RETURN_VALUE_MODIFIED_NEW"; - case ReturnValue.RETURN_VALUE_ALL_OLD: - return "RETURN_VALUE_ALL_OLD"; - case ReturnValue.RETURN_VALUE_MODIFIED_OLD: - return "RETURN_VALUE_MODIFIED_OLD"; - case ReturnValue.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export function returnValueToNumber(object: ReturnValue): number { - switch (object) { - case ReturnValue.RETURN_VALUE_UNSPECIFIED: - return 0; - case ReturnValue.RETURN_VALUE_ALL_NEW: - return 1; - case ReturnValue.RETURN_VALUE_MODIFIED_NEW: - return 2; - case ReturnValue.RETURN_VALUE_ALL_OLD: - return 3; - case ReturnValue.RETURN_VALUE_MODIFIED_OLD: - return 4; - case ReturnValue.UNRECOGNIZED: - default: - return -1; - } -} - -export interface StringSet { - values: string[]; -} - -export interface NumberSet { - values: number[]; -} - -export interface Value { - kind?: - | { $case: "boolean"; boolean: boolean } - | { $case: "binary"; binary: Buffer } - | { $case: "listValue"; listValue: Array } - | { $case: "mapValue"; mapValue: { [key: string]: any } } - | { $case: "nullValue"; nullValue: NullValue } - | { $case: "numberValue"; numberValue: number } - | { $case: "numberSetValue"; numberSetValue: NumberSet } - | { $case: "stringValue"; stringValue: string } - | { $case: "stringSetValue"; stringSetValue: StringSet }; -} - -export interface Attribute { - name: string; - type: DataType; -} - -export interface Filter { - name: string; - operator: Operator; - value?: Value; -} - -export interface SelectQuery { - table: string; - index?: string | undefined; - attributes: Attribute[]; - filters: Filter[]; - nextToken?: string | undefined; -} - -export interface InsertQuery { - table: string; - attributes?: { [key: string]: any }; -} - -export interface UpdateOperation { - action: UpdateAction; - attribute: string; - type: UpdateType; - value?: Value; -} - -export interface UpdateQuery { - table: string; - updates: UpdateOperation[]; - filters: Filter[]; - returnValue?: ReturnValue | undefined; -} - -export interface DeleteQuery { - table: string; - filters: Filter[]; - returnValues?: ReturnValue | undefined; -} - -export interface ReadQuery { - queries: SelectQuery[]; -} - -export interface WriteQuery { - kind?: { $case: "insert"; insert: InsertQuery } | { $case: "update"; update: UpdateQuery } | { - $case: "delete"; - delete: DeleteQuery; - }; -} - -export interface BulkWriteQuery { - queries: WriteQuery[]; -} - -export interface BulkQuery { - kind?: { $case: "read"; read: ReadQuery } | { $case: "bulkWriteQueries"; bulkWriteQueries: WriteQuery }; -} - -export interface Query { - kind?: { $case: "select"; select: SelectQuery } | { $case: "insert"; insert: InsertQuery } | { - $case: "update"; - update: UpdateQuery; - } | { $case: "delete"; delete: DeleteQuery }; -} - -export interface Response { - items: { [key: string]: any }[]; - nextToken?: string | undefined; -} - -export interface QueryRequest { - kind?: { $case: "query"; query: Query } | { $case: "queries"; queries: BulkQuery }; -} - -export interface ResponseError { - message: string; -} - -export interface QueryResponse { - kind?: { $case: "response"; response: Response } | { $case: "error"; error: ResponseError }; -} - -function createBaseStringSet(): StringSet { - return { values: [] }; -} - -export const StringSet = { - encode(message: StringSet, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.values) { - writer.uint32(10).string(v!); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): StringSet { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseStringSet(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.values.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): StringSet { - return { values: Array.isArray(object?.values) ? object.values.map((e: any) => String(e)) : [] }; - }, - - toJSON(message: StringSet): unknown { - const obj: any = {}; - if (message.values) { - obj.values = message.values.map((e) => e); - } else { - obj.values = []; - } - return obj; - }, - - create, I>>(base?: I): StringSet { - return StringSet.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): StringSet { - const message = createBaseStringSet(); - message.values = object.values?.map((e) => e) || []; - return message; - }, -}; - -function createBaseNumberSet(): NumberSet { - return { values: [] }; -} - -export const NumberSet = { - encode(message: NumberSet, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - writer.uint32(10).fork(); - for (const v of message.values) { - writer.double(v); - } - writer.ldelim(); - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): NumberSet { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseNumberSet(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if ((tag & 7) === 2) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.values.push(reader.double()); - } - } else { - message.values.push(reader.double()); - } - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): NumberSet { - return { values: Array.isArray(object?.values) ? object.values.map((e: any) => Number(e)) : [] }; - }, - - toJSON(message: NumberSet): unknown { - const obj: any = {}; - if (message.values) { - obj.values = message.values.map((e) => e); - } else { - obj.values = []; - } - return obj; - }, - - create, I>>(base?: I): NumberSet { - return NumberSet.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): NumberSet { - const message = createBaseNumberSet(); - message.values = object.values?.map((e) => e) || []; - return message; - }, -}; - -function createBaseValue(): Value { - return { kind: undefined }; -} - -export const Value = { - encode(message: Value, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "boolean") { - writer.uint32(8).bool(message.kind.boolean); - } - if (message.kind?.$case === "binary") { - writer.uint32(18).bytes(message.kind.binary); - } - if (message.kind?.$case === "listValue") { - ListValue.encode(ListValue.wrap(message.kind.listValue), writer.uint32(26).fork()).ldelim(); - } - if (message.kind?.$case === "mapValue") { - Struct.encode(Struct.wrap(message.kind.mapValue), writer.uint32(34).fork()).ldelim(); - } - if (message.kind?.$case === "nullValue") { - writer.uint32(40).int32(nullValueToNumber(message.kind.nullValue)); - } - if (message.kind?.$case === "numberValue") { - writer.uint32(49).double(message.kind.numberValue); - } - if (message.kind?.$case === "numberSetValue") { - NumberSet.encode(message.kind.numberSetValue, writer.uint32(58).fork()).ldelim(); - } - if (message.kind?.$case === "stringValue") { - writer.uint32(66).string(message.kind.stringValue); - } - if (message.kind?.$case === "stringSetValue") { - StringSet.encode(message.kind.stringSetValue, writer.uint32(74).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Value { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseValue(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "boolean", boolean: reader.bool() }; - break; - case 2: - message.kind = { $case: "binary", binary: reader.bytes() as Buffer }; - break; - case 3: - message.kind = { $case: "listValue", listValue: ListValue.unwrap(ListValue.decode(reader, reader.uint32())) }; - break; - case 4: - message.kind = { $case: "mapValue", mapValue: Struct.unwrap(Struct.decode(reader, reader.uint32())) }; - break; - case 5: - message.kind = { $case: "nullValue", nullValue: nullValueFromJSON(reader.int32()) }; - break; - case 6: - message.kind = { $case: "numberValue", numberValue: reader.double() }; - break; - case 7: - message.kind = { $case: "numberSetValue", numberSetValue: NumberSet.decode(reader, reader.uint32()) }; - break; - case 8: - message.kind = { $case: "stringValue", stringValue: reader.string() }; - break; - case 9: - message.kind = { $case: "stringSetValue", stringSetValue: StringSet.decode(reader, reader.uint32()) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Value { - return { - kind: isSet(object.boolean) - ? { $case: "boolean", boolean: Boolean(object.boolean) } - : isSet(object.binary) - ? { $case: "binary", binary: Buffer.from(bytesFromBase64(object.binary)) } - : isSet(object.listValue) - ? { $case: "listValue", listValue: [...object.listValue] } - : isSet(object.mapValue) - ? { $case: "mapValue", mapValue: object.mapValue } - : isSet(object.nullValue) - ? { $case: "nullValue", nullValue: nullValueFromJSON(object.nullValue) } - : isSet(object.numberValue) - ? { $case: "numberValue", numberValue: Number(object.numberValue) } - : isSet(object.numberSetValue) - ? { $case: "numberSetValue", numberSetValue: NumberSet.fromJSON(object.numberSetValue) } - : isSet(object.stringValue) - ? { $case: "stringValue", stringValue: String(object.stringValue) } - : isSet(object.stringSetValue) - ? { $case: "stringSetValue", stringSetValue: StringSet.fromJSON(object.stringSetValue) } - : undefined, - }; - }, - - toJSON(message: Value): unknown { - const obj: any = {}; - message.kind?.$case === "boolean" && (obj.boolean = message.kind?.boolean); - message.kind?.$case === "binary" && - (obj.binary = message.kind?.binary !== undefined ? base64FromBytes(message.kind?.binary) : undefined); - message.kind?.$case === "listValue" && (obj.listValue = message.kind?.listValue); - message.kind?.$case === "mapValue" && (obj.mapValue = message.kind?.mapValue); - message.kind?.$case === "nullValue" && - (obj.nullValue = message.kind?.nullValue !== undefined ? nullValueToJSON(message.kind?.nullValue) : undefined); - message.kind?.$case === "numberValue" && (obj.numberValue = message.kind?.numberValue); - message.kind?.$case === "numberSetValue" && - (obj.numberSetValue = message.kind?.numberSetValue ? NumberSet.toJSON(message.kind?.numberSetValue) : undefined); - message.kind?.$case === "stringValue" && (obj.stringValue = message.kind?.stringValue); - message.kind?.$case === "stringSetValue" && - (obj.stringSetValue = message.kind?.stringSetValue ? StringSet.toJSON(message.kind?.stringSetValue) : undefined); - return obj; - }, - - create, I>>(base?: I): Value { - return Value.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Value { - const message = createBaseValue(); - if (object.kind?.$case === "boolean" && object.kind?.boolean !== undefined && object.kind?.boolean !== null) { - message.kind = { $case: "boolean", boolean: object.kind.boolean }; - } - if (object.kind?.$case === "binary" && object.kind?.binary !== undefined && object.kind?.binary !== null) { - message.kind = { $case: "binary", binary: object.kind.binary }; - } - if (object.kind?.$case === "listValue" && object.kind?.listValue !== undefined && object.kind?.listValue !== null) { - message.kind = { $case: "listValue", listValue: object.kind.listValue }; - } - if (object.kind?.$case === "mapValue" && object.kind?.mapValue !== undefined && object.kind?.mapValue !== null) { - message.kind = { $case: "mapValue", mapValue: object.kind.mapValue }; - } - if (object.kind?.$case === "nullValue" && object.kind?.nullValue !== undefined && object.kind?.nullValue !== null) { - message.kind = { $case: "nullValue", nullValue: object.kind.nullValue }; - } - if ( - object.kind?.$case === "numberValue" && - object.kind?.numberValue !== undefined && - object.kind?.numberValue !== null - ) { - message.kind = { $case: "numberValue", numberValue: object.kind.numberValue }; - } - if ( - object.kind?.$case === "numberSetValue" && - object.kind?.numberSetValue !== undefined && - object.kind?.numberSetValue !== null - ) { - message.kind = { $case: "numberSetValue", numberSetValue: NumberSet.fromPartial(object.kind.numberSetValue) }; - } - if ( - object.kind?.$case === "stringValue" && - object.kind?.stringValue !== undefined && - object.kind?.stringValue !== null - ) { - message.kind = { $case: "stringValue", stringValue: object.kind.stringValue }; - } - if ( - object.kind?.$case === "stringSetValue" && - object.kind?.stringSetValue !== undefined && - object.kind?.stringSetValue !== null - ) { - message.kind = { $case: "stringSetValue", stringSetValue: StringSet.fromPartial(object.kind.stringSetValue) }; - } - return message; - }, -}; - -function createBaseAttribute(): Attribute { - return { name: "", type: DataType.DATA_TYPE_UNSPECIFIED }; -} - -export const Attribute = { - encode(message: Attribute, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.name !== "") { - writer.uint32(10).string(message.name); - } - if (message.type !== DataType.DATA_TYPE_UNSPECIFIED) { - writer.uint32(16).int32(dataTypeToNumber(message.type)); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Attribute { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseAttribute(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.type = dataTypeFromJSON(reader.int32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Attribute { - return { - name: isSet(object.name) ? String(object.name) : "", - type: isSet(object.type) ? dataTypeFromJSON(object.type) : DataType.DATA_TYPE_UNSPECIFIED, - }; - }, - - toJSON(message: Attribute): unknown { - const obj: any = {}; - message.name !== undefined && (obj.name = message.name); - message.type !== undefined && (obj.type = dataTypeToJSON(message.type)); - return obj; - }, - - create, I>>(base?: I): Attribute { - return Attribute.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Attribute { - const message = createBaseAttribute(); - message.name = object.name ?? ""; - message.type = object.type ?? DataType.DATA_TYPE_UNSPECIFIED; - return message; - }, -}; - -function createBaseFilter(): Filter { - return { name: "", operator: Operator.OPERATOR_UNSPECIFIED, value: undefined }; -} - -export const Filter = { - encode(message: Filter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.name !== "") { - writer.uint32(10).string(message.name); - } - if (message.operator !== Operator.OPERATOR_UNSPECIFIED) { - writer.uint32(16).int32(operatorToNumber(message.operator)); - } - if (message.value !== undefined) { - Value.encode(message.value, writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Filter { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseFilter(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.operator = operatorFromJSON(reader.int32()); - break; - case 3: - message.value = Value.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Filter { - return { - name: isSet(object.name) ? String(object.name) : "", - operator: isSet(object.operator) ? operatorFromJSON(object.operator) : Operator.OPERATOR_UNSPECIFIED, - value: isSet(object.value) ? Value.fromJSON(object.value) : undefined, - }; - }, - - toJSON(message: Filter): unknown { - const obj: any = {}; - message.name !== undefined && (obj.name = message.name); - message.operator !== undefined && (obj.operator = operatorToJSON(message.operator)); - message.value !== undefined && (obj.value = message.value ? Value.toJSON(message.value) : undefined); - return obj; - }, - - create, I>>(base?: I): Filter { - return Filter.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Filter { - const message = createBaseFilter(); - message.name = object.name ?? ""; - message.operator = object.operator ?? Operator.OPERATOR_UNSPECIFIED; - message.value = (object.value !== undefined && object.value !== null) ? Value.fromPartial(object.value) : undefined; - return message; - }, -}; - -function createBaseSelectQuery(): SelectQuery { - return { table: "", index: undefined, attributes: [], filters: [], nextToken: undefined }; -} - -export const SelectQuery = { - encode(message: SelectQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.table !== "") { - writer.uint32(10).string(message.table); - } - if (message.index !== undefined) { - writer.uint32(18).string(message.index); - } - for (const v of message.attributes) { - Attribute.encode(v!, writer.uint32(26).fork()).ldelim(); - } - for (const v of message.filters) { - Filter.encode(v!, writer.uint32(34).fork()).ldelim(); - } - if (message.nextToken !== undefined) { - writer.uint32(42).string(message.nextToken); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): SelectQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseSelectQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.table = reader.string(); - break; - case 2: - message.index = reader.string(); - break; - case 3: - message.attributes.push(Attribute.decode(reader, reader.uint32())); - break; - case 4: - message.filters.push(Filter.decode(reader, reader.uint32())); - break; - case 5: - message.nextToken = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): SelectQuery { - return { - table: isSet(object.table) ? String(object.table) : "", - index: isSet(object.index) ? String(object.index) : undefined, - attributes: Array.isArray(object?.attributes) ? object.attributes.map((e: any) => Attribute.fromJSON(e)) : [], - filters: Array.isArray(object?.filters) ? object.filters.map((e: any) => Filter.fromJSON(e)) : [], - nextToken: isSet(object.nextToken) ? String(object.nextToken) : undefined, - }; - }, - - toJSON(message: SelectQuery): unknown { - const obj: any = {}; - message.table !== undefined && (obj.table = message.table); - message.index !== undefined && (obj.index = message.index); - if (message.attributes) { - obj.attributes = message.attributes.map((e) => e ? Attribute.toJSON(e) : undefined); - } else { - obj.attributes = []; - } - if (message.filters) { - obj.filters = message.filters.map((e) => e ? Filter.toJSON(e) : undefined); - } else { - obj.filters = []; - } - message.nextToken !== undefined && (obj.nextToken = message.nextToken); - return obj; - }, - - create, I>>(base?: I): SelectQuery { - return SelectQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): SelectQuery { - const message = createBaseSelectQuery(); - message.table = object.table ?? ""; - message.index = object.index ?? undefined; - message.attributes = object.attributes?.map((e) => Attribute.fromPartial(e)) || []; - message.filters = object.filters?.map((e) => Filter.fromPartial(e)) || []; - message.nextToken = object.nextToken ?? undefined; - return message; - }, -}; - -function createBaseInsertQuery(): InsertQuery { - return { table: "", attributes: undefined }; -} - -export const InsertQuery = { - encode(message: InsertQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.table !== "") { - writer.uint32(10).string(message.table); - } - if (message.attributes !== undefined) { - Struct.encode(Struct.wrap(message.attributes), writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): InsertQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseInsertQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.table = reader.string(); - break; - case 2: - message.attributes = Struct.unwrap(Struct.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): InsertQuery { - return { - table: isSet(object.table) ? String(object.table) : "", - attributes: isObject(object.attributes) ? object.attributes : undefined, - }; - }, - - toJSON(message: InsertQuery): unknown { - const obj: any = {}; - message.table !== undefined && (obj.table = message.table); - message.attributes !== undefined && (obj.attributes = message.attributes); - return obj; - }, - - create, I>>(base?: I): InsertQuery { - return InsertQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): InsertQuery { - const message = createBaseInsertQuery(); - message.table = object.table ?? ""; - message.attributes = object.attributes ?? undefined; - return message; - }, -}; - -function createBaseUpdateOperation(): UpdateOperation { - return { - action: UpdateAction.UPDATE_ACTION_UNSPECIFIED, - attribute: "", - type: UpdateType.UPDATE_TYPE_UNSPECIFIED, - value: undefined, - }; -} - -export const UpdateOperation = { - encode(message: UpdateOperation, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.action !== UpdateAction.UPDATE_ACTION_UNSPECIFIED) { - writer.uint32(8).int32(updateActionToNumber(message.action)); - } - if (message.attribute !== "") { - writer.uint32(18).string(message.attribute); - } - if (message.type !== UpdateType.UPDATE_TYPE_UNSPECIFIED) { - writer.uint32(24).int32(updateTypeToNumber(message.type)); - } - if (message.value !== undefined) { - Value.encode(message.value, writer.uint32(34).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): UpdateOperation { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseUpdateOperation(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.action = updateActionFromJSON(reader.int32()); - break; - case 2: - message.attribute = reader.string(); - break; - case 3: - message.type = updateTypeFromJSON(reader.int32()); - break; - case 4: - message.value = Value.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): UpdateOperation { - return { - action: isSet(object.action) ? updateActionFromJSON(object.action) : UpdateAction.UPDATE_ACTION_UNSPECIFIED, - attribute: isSet(object.attribute) ? String(object.attribute) : "", - type: isSet(object.type) ? updateTypeFromJSON(object.type) : UpdateType.UPDATE_TYPE_UNSPECIFIED, - value: isSet(object.value) ? Value.fromJSON(object.value) : undefined, - }; - }, - - toJSON(message: UpdateOperation): unknown { - const obj: any = {}; - message.action !== undefined && (obj.action = updateActionToJSON(message.action)); - message.attribute !== undefined && (obj.attribute = message.attribute); - message.type !== undefined && (obj.type = updateTypeToJSON(message.type)); - message.value !== undefined && (obj.value = message.value ? Value.toJSON(message.value) : undefined); - return obj; - }, - - create, I>>(base?: I): UpdateOperation { - return UpdateOperation.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): UpdateOperation { - const message = createBaseUpdateOperation(); - message.action = object.action ?? UpdateAction.UPDATE_ACTION_UNSPECIFIED; - message.attribute = object.attribute ?? ""; - message.type = object.type ?? UpdateType.UPDATE_TYPE_UNSPECIFIED; - message.value = (object.value !== undefined && object.value !== null) ? Value.fromPartial(object.value) : undefined; - return message; - }, -}; - -function createBaseUpdateQuery(): UpdateQuery { - return { table: "", updates: [], filters: [], returnValue: undefined }; -} - -export const UpdateQuery = { - encode(message: UpdateQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.table !== "") { - writer.uint32(10).string(message.table); - } - for (const v of message.updates) { - UpdateOperation.encode(v!, writer.uint32(18).fork()).ldelim(); - } - for (const v of message.filters) { - Filter.encode(v!, writer.uint32(26).fork()).ldelim(); - } - if (message.returnValue !== undefined) { - writer.uint32(32).int32(returnValueToNumber(message.returnValue)); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): UpdateQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseUpdateQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.table = reader.string(); - break; - case 2: - message.updates.push(UpdateOperation.decode(reader, reader.uint32())); - break; - case 3: - message.filters.push(Filter.decode(reader, reader.uint32())); - break; - case 4: - message.returnValue = returnValueFromJSON(reader.int32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): UpdateQuery { - return { - table: isSet(object.table) ? String(object.table) : "", - updates: Array.isArray(object?.updates) ? object.updates.map((e: any) => UpdateOperation.fromJSON(e)) : [], - filters: Array.isArray(object?.filters) ? object.filters.map((e: any) => Filter.fromJSON(e)) : [], - returnValue: isSet(object.returnValue) ? returnValueFromJSON(object.returnValue) : undefined, - }; - }, - - toJSON(message: UpdateQuery): unknown { - const obj: any = {}; - message.table !== undefined && (obj.table = message.table); - if (message.updates) { - obj.updates = message.updates.map((e) => e ? UpdateOperation.toJSON(e) : undefined); - } else { - obj.updates = []; - } - if (message.filters) { - obj.filters = message.filters.map((e) => e ? Filter.toJSON(e) : undefined); - } else { - obj.filters = []; - } - message.returnValue !== undefined && - (obj.returnValue = message.returnValue !== undefined ? returnValueToJSON(message.returnValue) : undefined); - return obj; - }, - - create, I>>(base?: I): UpdateQuery { - return UpdateQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): UpdateQuery { - const message = createBaseUpdateQuery(); - message.table = object.table ?? ""; - message.updates = object.updates?.map((e) => UpdateOperation.fromPartial(e)) || []; - message.filters = object.filters?.map((e) => Filter.fromPartial(e)) || []; - message.returnValue = object.returnValue ?? undefined; - return message; - }, -}; - -function createBaseDeleteQuery(): DeleteQuery { - return { table: "", filters: [], returnValues: undefined }; -} - -export const DeleteQuery = { - encode(message: DeleteQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.table !== "") { - writer.uint32(10).string(message.table); - } - for (const v of message.filters) { - Filter.encode(v!, writer.uint32(18).fork()).ldelim(); - } - if (message.returnValues !== undefined) { - writer.uint32(24).int32(returnValueToNumber(message.returnValues)); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): DeleteQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseDeleteQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.table = reader.string(); - break; - case 2: - message.filters.push(Filter.decode(reader, reader.uint32())); - break; - case 3: - message.returnValues = returnValueFromJSON(reader.int32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): DeleteQuery { - return { - table: isSet(object.table) ? String(object.table) : "", - filters: Array.isArray(object?.filters) ? object.filters.map((e: any) => Filter.fromJSON(e)) : [], - returnValues: isSet(object.returnValues) ? returnValueFromJSON(object.returnValues) : undefined, - }; - }, - - toJSON(message: DeleteQuery): unknown { - const obj: any = {}; - message.table !== undefined && (obj.table = message.table); - if (message.filters) { - obj.filters = message.filters.map((e) => e ? Filter.toJSON(e) : undefined); - } else { - obj.filters = []; - } - message.returnValues !== undefined && - (obj.returnValues = message.returnValues !== undefined ? returnValueToJSON(message.returnValues) : undefined); - return obj; - }, - - create, I>>(base?: I): DeleteQuery { - return DeleteQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): DeleteQuery { - const message = createBaseDeleteQuery(); - message.table = object.table ?? ""; - message.filters = object.filters?.map((e) => Filter.fromPartial(e)) || []; - message.returnValues = object.returnValues ?? undefined; - return message; - }, -}; - -function createBaseReadQuery(): ReadQuery { - return { queries: [] }; -} - -export const ReadQuery = { - encode(message: ReadQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.queries) { - SelectQuery.encode(v!, writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ReadQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseReadQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.queries.push(SelectQuery.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ReadQuery { - return { queries: Array.isArray(object?.queries) ? object.queries.map((e: any) => SelectQuery.fromJSON(e)) : [] }; - }, - - toJSON(message: ReadQuery): unknown { - const obj: any = {}; - if (message.queries) { - obj.queries = message.queries.map((e) => e ? SelectQuery.toJSON(e) : undefined); - } else { - obj.queries = []; - } - return obj; - }, - - create, I>>(base?: I): ReadQuery { - return ReadQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ReadQuery { - const message = createBaseReadQuery(); - message.queries = object.queries?.map((e) => SelectQuery.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseWriteQuery(): WriteQuery { - return { kind: undefined }; -} - -export const WriteQuery = { - encode(message: WriteQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "insert") { - InsertQuery.encode(message.kind.insert, writer.uint32(10).fork()).ldelim(); - } - if (message.kind?.$case === "update") { - UpdateQuery.encode(message.kind.update, writer.uint32(18).fork()).ldelim(); - } - if (message.kind?.$case === "delete") { - DeleteQuery.encode(message.kind.delete, writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): WriteQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseWriteQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "insert", insert: InsertQuery.decode(reader, reader.uint32()) }; - break; - case 2: - message.kind = { $case: "update", update: UpdateQuery.decode(reader, reader.uint32()) }; - break; - case 3: - message.kind = { $case: "delete", delete: DeleteQuery.decode(reader, reader.uint32()) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): WriteQuery { - return { - kind: isSet(object.insert) - ? { $case: "insert", insert: InsertQuery.fromJSON(object.insert) } - : isSet(object.update) - ? { $case: "update", update: UpdateQuery.fromJSON(object.update) } - : isSet(object.delete) - ? { $case: "delete", delete: DeleteQuery.fromJSON(object.delete) } - : undefined, - }; - }, - - toJSON(message: WriteQuery): unknown { - const obj: any = {}; - message.kind?.$case === "insert" && - (obj.insert = message.kind?.insert ? InsertQuery.toJSON(message.kind?.insert) : undefined); - message.kind?.$case === "update" && - (obj.update = message.kind?.update ? UpdateQuery.toJSON(message.kind?.update) : undefined); - message.kind?.$case === "delete" && - (obj.delete = message.kind?.delete ? DeleteQuery.toJSON(message.kind?.delete) : undefined); - return obj; - }, - - create, I>>(base?: I): WriteQuery { - return WriteQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): WriteQuery { - const message = createBaseWriteQuery(); - if (object.kind?.$case === "insert" && object.kind?.insert !== undefined && object.kind?.insert !== null) { - message.kind = { $case: "insert", insert: InsertQuery.fromPartial(object.kind.insert) }; - } - if (object.kind?.$case === "update" && object.kind?.update !== undefined && object.kind?.update !== null) { - message.kind = { $case: "update", update: UpdateQuery.fromPartial(object.kind.update) }; - } - if (object.kind?.$case === "delete" && object.kind?.delete !== undefined && object.kind?.delete !== null) { - message.kind = { $case: "delete", delete: DeleteQuery.fromPartial(object.kind.delete) }; - } - return message; - }, -}; - -function createBaseBulkWriteQuery(): BulkWriteQuery { - return { queries: [] }; -} - -export const BulkWriteQuery = { - encode(message: BulkWriteQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.queries) { - WriteQuery.encode(v!, writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): BulkWriteQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseBulkWriteQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.queries.push(WriteQuery.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): BulkWriteQuery { - return { queries: Array.isArray(object?.queries) ? object.queries.map((e: any) => WriteQuery.fromJSON(e)) : [] }; - }, - - toJSON(message: BulkWriteQuery): unknown { - const obj: any = {}; - if (message.queries) { - obj.queries = message.queries.map((e) => e ? WriteQuery.toJSON(e) : undefined); - } else { - obj.queries = []; - } - return obj; - }, - - create, I>>(base?: I): BulkWriteQuery { - return BulkWriteQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): BulkWriteQuery { - const message = createBaseBulkWriteQuery(); - message.queries = object.queries?.map((e) => WriteQuery.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseBulkQuery(): BulkQuery { - return { kind: undefined }; -} - -export const BulkQuery = { - encode(message: BulkQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "read") { - ReadQuery.encode(message.kind.read, writer.uint32(10).fork()).ldelim(); - } - if (message.kind?.$case === "bulkWriteQueries") { - WriteQuery.encode(message.kind.bulkWriteQueries, writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): BulkQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseBulkQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "read", read: ReadQuery.decode(reader, reader.uint32()) }; - break; - case 2: - message.kind = { $case: "bulkWriteQueries", bulkWriteQueries: WriteQuery.decode(reader, reader.uint32()) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): BulkQuery { - return { - kind: isSet(object.read) - ? { $case: "read", read: ReadQuery.fromJSON(object.read) } - : isSet(object.bulkWriteQueries) - ? { $case: "bulkWriteQueries", bulkWriteQueries: WriteQuery.fromJSON(object.bulkWriteQueries) } - : undefined, - }; - }, - - toJSON(message: BulkQuery): unknown { - const obj: any = {}; - message.kind?.$case === "read" && - (obj.read = message.kind?.read ? ReadQuery.toJSON(message.kind?.read) : undefined); - message.kind?.$case === "bulkWriteQueries" && (obj.bulkWriteQueries = message.kind?.bulkWriteQueries - ? WriteQuery.toJSON(message.kind?.bulkWriteQueries) - : undefined); - return obj; - }, - - create, I>>(base?: I): BulkQuery { - return BulkQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): BulkQuery { - const message = createBaseBulkQuery(); - if (object.kind?.$case === "read" && object.kind?.read !== undefined && object.kind?.read !== null) { - message.kind = { $case: "read", read: ReadQuery.fromPartial(object.kind.read) }; - } - if ( - object.kind?.$case === "bulkWriteQueries" && - object.kind?.bulkWriteQueries !== undefined && - object.kind?.bulkWriteQueries !== null - ) { - message.kind = { - $case: "bulkWriteQueries", - bulkWriteQueries: WriteQuery.fromPartial(object.kind.bulkWriteQueries), - }; - } - return message; - }, -}; - -function createBaseQuery(): Query { - return { kind: undefined }; -} - -export const Query = { - encode(message: Query, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "select") { - SelectQuery.encode(message.kind.select, writer.uint32(10).fork()).ldelim(); - } - if (message.kind?.$case === "insert") { - InsertQuery.encode(message.kind.insert, writer.uint32(18).fork()).ldelim(); - } - if (message.kind?.$case === "update") { - UpdateQuery.encode(message.kind.update, writer.uint32(26).fork()).ldelim(); - } - if (message.kind?.$case === "delete") { - DeleteQuery.encode(message.kind.delete, writer.uint32(34).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Query { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "select", select: SelectQuery.decode(reader, reader.uint32()) }; - break; - case 2: - message.kind = { $case: "insert", insert: InsertQuery.decode(reader, reader.uint32()) }; - break; - case 3: - message.kind = { $case: "update", update: UpdateQuery.decode(reader, reader.uint32()) }; - break; - case 4: - message.kind = { $case: "delete", delete: DeleteQuery.decode(reader, reader.uint32()) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Query { - return { - kind: isSet(object.select) - ? { $case: "select", select: SelectQuery.fromJSON(object.select) } - : isSet(object.insert) - ? { $case: "insert", insert: InsertQuery.fromJSON(object.insert) } - : isSet(object.update) - ? { $case: "update", update: UpdateQuery.fromJSON(object.update) } - : isSet(object.delete) - ? { $case: "delete", delete: DeleteQuery.fromJSON(object.delete) } - : undefined, - }; - }, - - toJSON(message: Query): unknown { - const obj: any = {}; - message.kind?.$case === "select" && - (obj.select = message.kind?.select ? SelectQuery.toJSON(message.kind?.select) : undefined); - message.kind?.$case === "insert" && - (obj.insert = message.kind?.insert ? InsertQuery.toJSON(message.kind?.insert) : undefined); - message.kind?.$case === "update" && - (obj.update = message.kind?.update ? UpdateQuery.toJSON(message.kind?.update) : undefined); - message.kind?.$case === "delete" && - (obj.delete = message.kind?.delete ? DeleteQuery.toJSON(message.kind?.delete) : undefined); - return obj; - }, - - create, I>>(base?: I): Query { - return Query.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Query { - const message = createBaseQuery(); - if (object.kind?.$case === "select" && object.kind?.select !== undefined && object.kind?.select !== null) { - message.kind = { $case: "select", select: SelectQuery.fromPartial(object.kind.select) }; - } - if (object.kind?.$case === "insert" && object.kind?.insert !== undefined && object.kind?.insert !== null) { - message.kind = { $case: "insert", insert: InsertQuery.fromPartial(object.kind.insert) }; - } - if (object.kind?.$case === "update" && object.kind?.update !== undefined && object.kind?.update !== null) { - message.kind = { $case: "update", update: UpdateQuery.fromPartial(object.kind.update) }; - } - if (object.kind?.$case === "delete" && object.kind?.delete !== undefined && object.kind?.delete !== null) { - message.kind = { $case: "delete", delete: DeleteQuery.fromPartial(object.kind.delete) }; - } - return message; - }, -}; - -function createBaseResponse(): Response { - return { items: [], nextToken: undefined }; -} - -export const Response = { - encode(message: Response, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.items) { - Struct.encode(Struct.wrap(v!), writer.uint32(10).fork()).ldelim(); - } - if (message.nextToken !== undefined) { - writer.uint32(18).string(message.nextToken); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Response { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseResponse(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.items.push(Struct.unwrap(Struct.decode(reader, reader.uint32()))); - break; - case 2: - message.nextToken = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Response { - return { - items: Array.isArray(object?.items) ? [...object.items] : [], - nextToken: isSet(object.nextToken) ? String(object.nextToken) : undefined, - }; - }, - - toJSON(message: Response): unknown { - const obj: any = {}; - if (message.items) { - obj.items = message.items.map((e) => e); - } else { - obj.items = []; - } - message.nextToken !== undefined && (obj.nextToken = message.nextToken); - return obj; - }, - - create, I>>(base?: I): Response { - return Response.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Response { - const message = createBaseResponse(); - message.items = object.items?.map((e) => e) || []; - message.nextToken = object.nextToken ?? undefined; - return message; - }, -}; - -function createBaseQueryRequest(): QueryRequest { - return { kind: undefined }; -} - -export const QueryRequest = { - encode(message: QueryRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "query") { - Query.encode(message.kind.query, writer.uint32(10).fork()).ldelim(); - } - if (message.kind?.$case === "queries") { - BulkQuery.encode(message.kind.queries, writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): QueryRequest { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseQueryRequest(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "query", query: Query.decode(reader, reader.uint32()) }; - break; - case 2: - message.kind = { $case: "queries", queries: BulkQuery.decode(reader, reader.uint32()) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): QueryRequest { - return { - kind: isSet(object.query) - ? { $case: "query", query: Query.fromJSON(object.query) } - : isSet(object.queries) - ? { $case: "queries", queries: BulkQuery.fromJSON(object.queries) } - : undefined, - }; - }, - - toJSON(message: QueryRequest): unknown { - const obj: any = {}; - message.kind?.$case === "query" && - (obj.query = message.kind?.query ? Query.toJSON(message.kind?.query) : undefined); - message.kind?.$case === "queries" && - (obj.queries = message.kind?.queries ? BulkQuery.toJSON(message.kind?.queries) : undefined); - return obj; - }, - - create, I>>(base?: I): QueryRequest { - return QueryRequest.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): QueryRequest { - const message = createBaseQueryRequest(); - if (object.kind?.$case === "query" && object.kind?.query !== undefined && object.kind?.query !== null) { - message.kind = { $case: "query", query: Query.fromPartial(object.kind.query) }; - } - if (object.kind?.$case === "queries" && object.kind?.queries !== undefined && object.kind?.queries !== null) { - message.kind = { $case: "queries", queries: BulkQuery.fromPartial(object.kind.queries) }; - } - return message; - }, -}; - -function createBaseResponseError(): ResponseError { - return { message: "" }; -} - -export const ResponseError = { - encode(message: ResponseError, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.message !== "") { - writer.uint32(10).string(message.message); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ResponseError { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseResponseError(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.message = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ResponseError { - return { message: isSet(object.message) ? String(object.message) : "" }; - }, - - toJSON(message: ResponseError): unknown { - const obj: any = {}; - message.message !== undefined && (obj.message = message.message); - return obj; - }, - - create, I>>(base?: I): ResponseError { - return ResponseError.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ResponseError { - const message = createBaseResponseError(); - message.message = object.message ?? ""; - return message; - }, -}; - -function createBaseQueryResponse(): QueryResponse { - return { kind: undefined }; -} - -export const QueryResponse = { - encode(message: QueryResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "response") { - Response.encode(message.kind.response, writer.uint32(10).fork()).ldelim(); - } - if (message.kind?.$case === "error") { - ResponseError.encode(message.kind.error, writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): QueryResponse { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseQueryResponse(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "response", response: Response.decode(reader, reader.uint32()) }; - break; - case 2: - message.kind = { $case: "error", error: ResponseError.decode(reader, reader.uint32()) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): QueryResponse { - return { - kind: isSet(object.response) - ? { $case: "response", response: Response.fromJSON(object.response) } - : isSet(object.error) - ? { $case: "error", error: ResponseError.fromJSON(object.error) } - : undefined, - }; - }, - - toJSON(message: QueryResponse): unknown { - const obj: any = {}; - message.kind?.$case === "response" && - (obj.response = message.kind?.response ? Response.toJSON(message.kind?.response) : undefined); - message.kind?.$case === "error" && - (obj.error = message.kind?.error ? ResponseError.toJSON(message.kind?.error) : undefined); - return obj; - }, - - create, I>>(base?: I): QueryResponse { - return QueryResponse.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): QueryResponse { - const message = createBaseQueryResponse(); - if (object.kind?.$case === "response" && object.kind?.response !== undefined && object.kind?.response !== null) { - message.kind = { $case: "response", response: Response.fromPartial(object.kind.response) }; - } - if (object.kind?.$case === "error" && object.kind?.error !== undefined && object.kind?.error !== null) { - message.kind = { $case: "error", error: ResponseError.fromPartial(object.kind.error) }; - } - return message; - }, -}; - -export type PartiQLQueryService = typeof PartiQLQueryService; -export const PartiQLQueryService = { - query: { - path: "/topcoder.dal.partiql.PartiQLQuery/Query", - requestStream: false, - responseStream: false, - requestSerialize: (value: QueryRequest) => Buffer.from(QueryRequest.encode(value).finish()), - requestDeserialize: (value: Buffer) => QueryRequest.decode(value), - responseSerialize: (value: QueryResponse) => Buffer.from(QueryResponse.encode(value).finish()), - responseDeserialize: (value: Buffer) => QueryResponse.decode(value), - }, -} as const; - -export interface PartiQLQueryServer extends UntypedServiceImplementation { - query: handleUnaryCall; -} - -export interface PartiQLQueryClient extends Client { - query( - request: QueryRequest, - callback: (error: ServiceError | null, response: QueryResponse) => void, - ): ClientUnaryCall; - query( - request: QueryRequest, - metadata: Metadata, - callback: (error: ServiceError | null, response: QueryResponse) => void, - ): ClientUnaryCall; - query( - request: QueryRequest, - metadata: Metadata, - options: Partial, - callback: (error: ServiceError | null, response: QueryResponse) => void, - ): ClientUnaryCall; -} - -export const PartiQLQueryClient = makeGenericClientConstructor( - PartiQLQueryService, - "topcoder.dal.partiql.PartiQLQuery", -) as unknown as { - new (address: string, credentials: ChannelCredentials, options?: Partial): PartiQLQueryClient; - service: typeof PartiQLQueryService; -}; - -declare var self: any | undefined; -declare var window: any | undefined; -declare var global: any | undefined; -var tsProtoGlobalThis: any = (() => { - if (typeof globalThis !== "undefined") { - return globalThis; - } - if (typeof self !== "undefined") { - return self; - } - if (typeof window !== "undefined") { - return window; - } - if (typeof global !== "undefined") { - return global; - } - throw "Unable to locate global object"; -})(); - -function bytesFromBase64(b64: string): Uint8Array { - if (tsProtoGlobalThis.Buffer) { - return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64")); - } else { - const bin = tsProtoGlobalThis.atob(b64); - const arr = new Uint8Array(bin.length); - for (let i = 0; i < bin.length; ++i) { - arr[i] = bin.charCodeAt(i); - } - return arr; - } -} - -function base64FromBytes(arr: Uint8Array): string { - if (tsProtoGlobalThis.Buffer) { - return tsProtoGlobalThis.Buffer.from(arr).toString("base64"); - } else { - const bin: string[] = []; - arr.forEach((byte) => { - bin.push(String.fromCharCode(byte)); - }); - return tsProtoGlobalThis.btoa(bin.join("")); - } -} - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/grpc/models/nosql/tsconfig.json b/src/grpc/models/nosql/tsconfig.json deleted file mode 100644 index 45f3095..0000000 --- a/src/grpc/models/nosql/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../../../tsconfig.json", - "compilerOptions": { - "composite": true, - "outDir": "../../../../dist/grpc/models/nosql", - "noImplicitReturns": false, - "forceConsistentCasingInFileNames": true - }, - "include": ["**/*"], - "exclude": ["node_modules"] -} diff --git a/src/grpc/models/rdb/relational.ts b/src/grpc/models/rdb/relational.ts deleted file mode 100644 index 64ed87c..0000000 --- a/src/grpc/models/rdb/relational.ts +++ /dev/null @@ -1,2175 +0,0 @@ -/* eslint-disable */ -import { - CallOptions, - ChannelCredentials, - Client, - ClientOptions, - ClientUnaryCall, - handleUnaryCall, - makeGenericClientConstructor, - Metadata, - ServiceError, - UntypedServiceImplementation, -} from "@grpc/grpc-js"; -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -export enum Operator { - OPERATOR_UNSPECIFIED = 0, - OPERATOR_EQUAL = 1, - OPERATOR_NOT_EQUAL = 2, - OPERATOR_GREATER_THAN = 3, - OPERATOR_GREATER_THAN_OR_EQUAL = 4, - OPERATOR_LESS_THAN = 5, - OPERATOR_LESS_THAN_OR_EQUAL = 6, - OPERATOR_IN = 7, - OPERATOR_NOT_IN = 8, - OPERATOR_LIKE = 9, - OPERATOR_NOT_LIKE = 10, - OPERATOR_IS_NULL = 11, - OPERATOR_IS_NOT_NULL = 12, - UNRECOGNIZED = -1, -} - -export function operatorFromJSON(object: any): Operator { - switch (object) { - case 0: - case "OPERATOR_UNSPECIFIED": - return Operator.OPERATOR_UNSPECIFIED; - case 1: - case "OPERATOR_EQUAL": - return Operator.OPERATOR_EQUAL; - case 2: - case "OPERATOR_NOT_EQUAL": - return Operator.OPERATOR_NOT_EQUAL; - case 3: - case "OPERATOR_GREATER_THAN": - return Operator.OPERATOR_GREATER_THAN; - case 4: - case "OPERATOR_GREATER_THAN_OR_EQUAL": - return Operator.OPERATOR_GREATER_THAN_OR_EQUAL; - case 5: - case "OPERATOR_LESS_THAN": - return Operator.OPERATOR_LESS_THAN; - case 6: - case "OPERATOR_LESS_THAN_OR_EQUAL": - return Operator.OPERATOR_LESS_THAN_OR_EQUAL; - case 7: - case "OPERATOR_IN": - return Operator.OPERATOR_IN; - case 8: - case "OPERATOR_NOT_IN": - return Operator.OPERATOR_NOT_IN; - case 9: - case "OPERATOR_LIKE": - return Operator.OPERATOR_LIKE; - case 10: - case "OPERATOR_NOT_LIKE": - return Operator.OPERATOR_NOT_LIKE; - case 11: - case "OPERATOR_IS_NULL": - return Operator.OPERATOR_IS_NULL; - case 12: - case "OPERATOR_IS_NOT_NULL": - return Operator.OPERATOR_IS_NOT_NULL; - case -1: - case "UNRECOGNIZED": - default: - return Operator.UNRECOGNIZED; - } -} - -export function operatorToJSON(object: Operator): string { - switch (object) { - case Operator.OPERATOR_UNSPECIFIED: - return "OPERATOR_UNSPECIFIED"; - case Operator.OPERATOR_EQUAL: - return "OPERATOR_EQUAL"; - case Operator.OPERATOR_NOT_EQUAL: - return "OPERATOR_NOT_EQUAL"; - case Operator.OPERATOR_GREATER_THAN: - return "OPERATOR_GREATER_THAN"; - case Operator.OPERATOR_GREATER_THAN_OR_EQUAL: - return "OPERATOR_GREATER_THAN_OR_EQUAL"; - case Operator.OPERATOR_LESS_THAN: - return "OPERATOR_LESS_THAN"; - case Operator.OPERATOR_LESS_THAN_OR_EQUAL: - return "OPERATOR_LESS_THAN_OR_EQUAL"; - case Operator.OPERATOR_IN: - return "OPERATOR_IN"; - case Operator.OPERATOR_NOT_IN: - return "OPERATOR_NOT_IN"; - case Operator.OPERATOR_LIKE: - return "OPERATOR_LIKE"; - case Operator.OPERATOR_NOT_LIKE: - return "OPERATOR_NOT_LIKE"; - case Operator.OPERATOR_IS_NULL: - return "OPERATOR_IS_NULL"; - case Operator.OPERATOR_IS_NOT_NULL: - return "OPERATOR_IS_NOT_NULL"; - case Operator.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export enum JoinType { - JOIN_TYPE_UNSPECIFIED = 0, - JOIN_TYPE_INNER = 1, - JOIN_TYPE_LEFT = 2, - JOIN_TYPE_RIGHT = 3, - JOIN_TYPE_FULL = 4, - UNRECOGNIZED = -1, -} - -export function joinTypeFromJSON(object: any): JoinType { - switch (object) { - case 0: - case "JOIN_TYPE_UNSPECIFIED": - return JoinType.JOIN_TYPE_UNSPECIFIED; - case 1: - case "JOIN_TYPE_INNER": - return JoinType.JOIN_TYPE_INNER; - case 2: - case "JOIN_TYPE_LEFT": - return JoinType.JOIN_TYPE_LEFT; - case 3: - case "JOIN_TYPE_RIGHT": - return JoinType.JOIN_TYPE_RIGHT; - case 4: - case "JOIN_TYPE_FULL": - return JoinType.JOIN_TYPE_FULL; - case -1: - case "UNRECOGNIZED": - default: - return JoinType.UNRECOGNIZED; - } -} - -export function joinTypeToJSON(object: JoinType): string { - switch (object) { - case JoinType.JOIN_TYPE_UNSPECIFIED: - return "JOIN_TYPE_UNSPECIFIED"; - case JoinType.JOIN_TYPE_INNER: - return "JOIN_TYPE_INNER"; - case JoinType.JOIN_TYPE_LEFT: - return "JOIN_TYPE_LEFT"; - case JoinType.JOIN_TYPE_RIGHT: - return "JOIN_TYPE_RIGHT"; - case JoinType.JOIN_TYPE_FULL: - return "JOIN_TYPE_FULL"; - case JoinType.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export enum ColumnType { - COLUMN_TYPE_UNSPECIFIED = 0, - COLUMN_TYPE_STRING = 1, - COLUMN_TYPE_INT = 2, - COLUMN_TYPE_LONG = 3, - COLUMN_TYPE_FLOAT = 4, - COLUMN_TYPE_DOUBLE = 5, - COLUMN_TYPE_BOOLEAN = 6, - COLUMN_TYPE_DATE = 7, - COLUMN_TYPE_DATETIME = 8, - COLUMN_TYPE_BLOB = 9, - UNRECOGNIZED = -1, -} - -export function columnTypeFromJSON(object: any): ColumnType { - switch (object) { - case 0: - case "COLUMN_TYPE_UNSPECIFIED": - return ColumnType.COLUMN_TYPE_UNSPECIFIED; - case 1: - case "COLUMN_TYPE_STRING": - return ColumnType.COLUMN_TYPE_STRING; - case 2: - case "COLUMN_TYPE_INT": - return ColumnType.COLUMN_TYPE_INT; - case 3: - case "COLUMN_TYPE_LONG": - return ColumnType.COLUMN_TYPE_LONG; - case 4: - case "COLUMN_TYPE_FLOAT": - return ColumnType.COLUMN_TYPE_FLOAT; - case 5: - case "COLUMN_TYPE_DOUBLE": - return ColumnType.COLUMN_TYPE_DOUBLE; - case 6: - case "COLUMN_TYPE_BOOLEAN": - return ColumnType.COLUMN_TYPE_BOOLEAN; - case 7: - case "COLUMN_TYPE_DATE": - return ColumnType.COLUMN_TYPE_DATE; - case 8: - case "COLUMN_TYPE_DATETIME": - return ColumnType.COLUMN_TYPE_DATETIME; - case 9: - case "COLUMN_TYPE_BLOB": - return ColumnType.COLUMN_TYPE_BLOB; - case -1: - case "UNRECOGNIZED": - default: - return ColumnType.UNRECOGNIZED; - } -} - -export function columnTypeToJSON(object: ColumnType): string { - switch (object) { - case ColumnType.COLUMN_TYPE_UNSPECIFIED: - return "COLUMN_TYPE_UNSPECIFIED"; - case ColumnType.COLUMN_TYPE_STRING: - return "COLUMN_TYPE_STRING"; - case ColumnType.COLUMN_TYPE_INT: - return "COLUMN_TYPE_INT"; - case ColumnType.COLUMN_TYPE_LONG: - return "COLUMN_TYPE_LONG"; - case ColumnType.COLUMN_TYPE_FLOAT: - return "COLUMN_TYPE_FLOAT"; - case ColumnType.COLUMN_TYPE_DOUBLE: - return "COLUMN_TYPE_DOUBLE"; - case ColumnType.COLUMN_TYPE_BOOLEAN: - return "COLUMN_TYPE_BOOLEAN"; - case ColumnType.COLUMN_TYPE_DATE: - return "COLUMN_TYPE_DATE"; - case ColumnType.COLUMN_TYPE_DATETIME: - return "COLUMN_TYPE_DATETIME"; - case ColumnType.COLUMN_TYPE_BLOB: - return "COLUMN_TYPE_BLOB"; - case ColumnType.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export interface Value { - value?: - | { $case: "stringValue"; stringValue: string } - | { $case: "intValue"; intValue: number } - | { $case: "longValue"; longValue: number } - | { $case: "floatValue"; floatValue: number } - | { $case: "doubleValue"; doubleValue: number } - | { $case: "booleanValue"; booleanValue: boolean } - | { $case: "dateValue"; dateValue: string } - | { $case: "datetimeValue"; datetimeValue: string } - | { $case: "blobValue"; blobValue: Buffer }; -} - -export interface Column { - tableName?: string | undefined; - name: string; - type?: ColumnType | undefined; -} - -export interface WhereCriteria { - operator: Operator; - key: string; - value?: Value; -} - -export interface RawQuery { - query: string; - columns: Column[]; -} - -export interface Join { - type: JoinType; - fromTableSchema?: string | undefined; - joinTableSchema?: string | undefined; - fromTable: string; - joinTable: string; - fromColumn: string; - joinColumn: string; -} - -export interface SelectQuery { - schema?: string | undefined; - table: string; - column: Column[]; - where: WhereCriteria[]; - groupBy: string[]; - orderBy: string[]; - join: Join[]; - limit: number; - offset: number; -} - -export interface ColumnValue { - column: string; - value?: Value; -} - -export interface InsertQuery { - schema?: string | undefined; - table: string; - columnValue: ColumnValue[]; - idColumn?: string | undefined; - idSequence?: string | undefined; - idTable?: string | undefined; -} - -export interface BulkInsertQuery { - inserts: InsertQuery[]; -} - -export interface UpdateQuery { - schema?: string | undefined; - table: string; - columnValue: ColumnValue[]; - where: WhereCriteria[]; -} - -export interface DeleteQuery { - schema?: string | undefined; - table: string; - where: WhereCriteria[]; -} - -export interface Query { - query?: - | { $case: "raw"; raw: RawQuery } - | { $case: "select"; select: SelectQuery } - | { $case: "insert"; insert: InsertQuery } - | { $case: "update"; update: UpdateQuery } - | { $case: "delete"; delete: DeleteQuery }; -} - -export interface Row { - values: { [key: string]: Value }; -} - -export interface Row_ValuesEntry { - key: string; - value?: Value; -} - -export interface QueryRequest { - query?: Query; -} - -export interface SelectQueryResult { - rows: Row[]; -} - -export interface InsertQueryResult { - lastInsertId: number; -} - -export interface UpdateQueryResult { - affectedRows: number; -} - -export interface DeleteQueryResult { - affectedRows: number; -} - -export interface QueryResponse { - result?: - | { $case: "selectResult"; selectResult: SelectQueryResult } - | { $case: "insertResult"; insertResult: InsertQueryResult } - | { $case: "updateResult"; updateResult: UpdateQueryResult } - | { $case: "deleteResult"; deleteResult: DeleteQueryResult }; -} - -function createBaseValue(): Value { - return { value: undefined }; -} - -export const Value = { - encode(message: Value, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.value?.$case === "stringValue") { - writer.uint32(26).string(message.value.stringValue); - } - if (message.value?.$case === "intValue") { - writer.uint32(32).int32(message.value.intValue); - } - if (message.value?.$case === "longValue") { - writer.uint32(40).int64(message.value.longValue); - } - if (message.value?.$case === "floatValue") { - writer.uint32(53).float(message.value.floatValue); - } - if (message.value?.$case === "doubleValue") { - writer.uint32(57).double(message.value.doubleValue); - } - if (message.value?.$case === "booleanValue") { - writer.uint32(64).bool(message.value.booleanValue); - } - if (message.value?.$case === "dateValue") { - writer.uint32(74).string(message.value.dateValue); - } - if (message.value?.$case === "datetimeValue") { - writer.uint32(82).string(message.value.datetimeValue); - } - if (message.value?.$case === "blobValue") { - writer.uint32(90).bytes(message.value.blobValue); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Value { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseValue(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 3: - message.value = { $case: "stringValue", stringValue: reader.string() }; - break; - case 4: - message.value = { $case: "intValue", intValue: reader.int32() }; - break; - case 5: - message.value = { $case: "longValue", longValue: longToNumber(reader.int64() as Long) }; - break; - case 6: - message.value = { $case: "floatValue", floatValue: reader.float() }; - break; - case 7: - message.value = { $case: "doubleValue", doubleValue: reader.double() }; - break; - case 8: - message.value = { $case: "booleanValue", booleanValue: reader.bool() }; - break; - case 9: - message.value = { $case: "dateValue", dateValue: reader.string() }; - break; - case 10: - message.value = { $case: "datetimeValue", datetimeValue: reader.string() }; - break; - case 11: - message.value = { $case: "blobValue", blobValue: reader.bytes() as Buffer }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Value { - return { - value: isSet(object.stringValue) - ? { $case: "stringValue", stringValue: String(object.stringValue) } - : isSet(object.intValue) - ? { $case: "intValue", intValue: Number(object.intValue) } - : isSet(object.longValue) - ? { $case: "longValue", longValue: Number(object.longValue) } - : isSet(object.floatValue) - ? { $case: "floatValue", floatValue: Number(object.floatValue) } - : isSet(object.doubleValue) - ? { $case: "doubleValue", doubleValue: Number(object.doubleValue) } - : isSet(object.booleanValue) - ? { $case: "booleanValue", booleanValue: Boolean(object.booleanValue) } - : isSet(object.dateValue) - ? { $case: "dateValue", dateValue: String(object.dateValue) } - : isSet(object.datetimeValue) - ? { $case: "datetimeValue", datetimeValue: String(object.datetimeValue) } - : isSet(object.blobValue) - ? { $case: "blobValue", blobValue: Buffer.from(bytesFromBase64(object.blobValue)) } - : undefined, - }; - }, - - toJSON(message: Value): unknown { - const obj: any = {}; - message.value?.$case === "stringValue" && (obj.stringValue = message.value?.stringValue); - message.value?.$case === "intValue" && (obj.intValue = Math.round(message.value?.intValue)); - message.value?.$case === "longValue" && (obj.longValue = Math.round(message.value?.longValue)); - message.value?.$case === "floatValue" && (obj.floatValue = message.value?.floatValue); - message.value?.$case === "doubleValue" && (obj.doubleValue = message.value?.doubleValue); - message.value?.$case === "booleanValue" && (obj.booleanValue = message.value?.booleanValue); - message.value?.$case === "dateValue" && (obj.dateValue = message.value?.dateValue); - message.value?.$case === "datetimeValue" && (obj.datetimeValue = message.value?.datetimeValue); - message.value?.$case === "blobValue" && - (obj.blobValue = message.value?.blobValue !== undefined ? base64FromBytes(message.value?.blobValue) : undefined); - return obj; - }, - - create, I>>(base?: I): Value { - return Value.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Value { - const message = createBaseValue(); - if ( - object.value?.$case === "stringValue" && - object.value?.stringValue !== undefined && - object.value?.stringValue !== null - ) { - message.value = { $case: "stringValue", stringValue: object.value.stringValue }; - } - if (object.value?.$case === "intValue" && object.value?.intValue !== undefined && object.value?.intValue !== null) { - message.value = { $case: "intValue", intValue: object.value.intValue }; - } - if ( - object.value?.$case === "longValue" && object.value?.longValue !== undefined && object.value?.longValue !== null - ) { - message.value = { $case: "longValue", longValue: object.value.longValue }; - } - if ( - object.value?.$case === "floatValue" && - object.value?.floatValue !== undefined && - object.value?.floatValue !== null - ) { - message.value = { $case: "floatValue", floatValue: object.value.floatValue }; - } - if ( - object.value?.$case === "doubleValue" && - object.value?.doubleValue !== undefined && - object.value?.doubleValue !== null - ) { - message.value = { $case: "doubleValue", doubleValue: object.value.doubleValue }; - } - if ( - object.value?.$case === "booleanValue" && - object.value?.booleanValue !== undefined && - object.value?.booleanValue !== null - ) { - message.value = { $case: "booleanValue", booleanValue: object.value.booleanValue }; - } - if ( - object.value?.$case === "dateValue" && object.value?.dateValue !== undefined && object.value?.dateValue !== null - ) { - message.value = { $case: "dateValue", dateValue: object.value.dateValue }; - } - if ( - object.value?.$case === "datetimeValue" && - object.value?.datetimeValue !== undefined && - object.value?.datetimeValue !== null - ) { - message.value = { $case: "datetimeValue", datetimeValue: object.value.datetimeValue }; - } - if ( - object.value?.$case === "blobValue" && object.value?.blobValue !== undefined && object.value?.blobValue !== null - ) { - message.value = { $case: "blobValue", blobValue: object.value.blobValue }; - } - return message; - }, -}; - -function createBaseColumn(): Column { - return { tableName: undefined, name: "", type: undefined }; -} - -export const Column = { - encode(message: Column, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.tableName !== undefined) { - writer.uint32(10).string(message.tableName); - } - if (message.name !== "") { - writer.uint32(18).string(message.name); - } - if (message.type !== undefined) { - writer.uint32(24).int32(message.type); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Column { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseColumn(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tableName = reader.string(); - break; - case 2: - message.name = reader.string(); - break; - case 3: - message.type = reader.int32() as any; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Column { - return { - tableName: isSet(object.tableName) ? String(object.tableName) : undefined, - name: isSet(object.name) ? String(object.name) : "", - type: isSet(object.type) ? columnTypeFromJSON(object.type) : undefined, - }; - }, - - toJSON(message: Column): unknown { - const obj: any = {}; - message.tableName !== undefined && (obj.tableName = message.tableName); - message.name !== undefined && (obj.name = message.name); - message.type !== undefined && (obj.type = message.type !== undefined ? columnTypeToJSON(message.type) : undefined); - return obj; - }, - - create, I>>(base?: I): Column { - return Column.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Column { - const message = createBaseColumn(); - message.tableName = object.tableName ?? undefined; - message.name = object.name ?? ""; - message.type = object.type ?? undefined; - return message; - }, -}; - -function createBaseWhereCriteria(): WhereCriteria { - return { operator: 0, key: "", value: undefined }; -} - -export const WhereCriteria = { - encode(message: WhereCriteria, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.operator !== 0) { - writer.uint32(8).int32(message.operator); - } - if (message.key !== "") { - writer.uint32(18).string(message.key); - } - if (message.value !== undefined) { - Value.encode(message.value, writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): WhereCriteria { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseWhereCriteria(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.operator = reader.int32() as any; - break; - case 2: - message.key = reader.string(); - break; - case 3: - message.value = Value.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): WhereCriteria { - return { - operator: isSet(object.operator) ? operatorFromJSON(object.operator) : 0, - key: isSet(object.key) ? String(object.key) : "", - value: isSet(object.value) ? Value.fromJSON(object.value) : undefined, - }; - }, - - toJSON(message: WhereCriteria): unknown { - const obj: any = {}; - message.operator !== undefined && (obj.operator = operatorToJSON(message.operator)); - message.key !== undefined && (obj.key = message.key); - message.value !== undefined && (obj.value = message.value ? Value.toJSON(message.value) : undefined); - return obj; - }, - - create, I>>(base?: I): WhereCriteria { - return WhereCriteria.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): WhereCriteria { - const message = createBaseWhereCriteria(); - message.operator = object.operator ?? 0; - message.key = object.key ?? ""; - message.value = (object.value !== undefined && object.value !== null) ? Value.fromPartial(object.value) : undefined; - return message; - }, -}; - -function createBaseRawQuery(): RawQuery { - return { query: "", columns: [] }; -} - -export const RawQuery = { - encode(message: RawQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.query !== "") { - writer.uint32(10).string(message.query); - } - for (const v of message.columns) { - Column.encode(v!, writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): RawQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseRawQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.query = reader.string(); - break; - case 2: - message.columns.push(Column.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): RawQuery { - return { - query: isSet(object.query) ? String(object.query) : "", - columns: Array.isArray(object?.columns) ? object.columns.map((e: any) => Column.fromJSON(e)) : [], - }; - }, - - toJSON(message: RawQuery): unknown { - const obj: any = {}; - message.query !== undefined && (obj.query = message.query); - if (message.columns) { - obj.columns = message.columns.map((e) => e ? Column.toJSON(e) : undefined); - } else { - obj.columns = []; - } - return obj; - }, - - create, I>>(base?: I): RawQuery { - return RawQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): RawQuery { - const message = createBaseRawQuery(); - message.query = object.query ?? ""; - message.columns = object.columns?.map((e) => Column.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseJoin(): Join { - return { - type: 0, - fromTableSchema: undefined, - joinTableSchema: undefined, - fromTable: "", - joinTable: "", - fromColumn: "", - joinColumn: "", - }; -} - -export const Join = { - encode(message: Join, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.type !== 0) { - writer.uint32(8).int32(message.type); - } - if (message.fromTableSchema !== undefined) { - writer.uint32(18).string(message.fromTableSchema); - } - if (message.joinTableSchema !== undefined) { - writer.uint32(26).string(message.joinTableSchema); - } - if (message.fromTable !== "") { - writer.uint32(34).string(message.fromTable); - } - if (message.joinTable !== "") { - writer.uint32(42).string(message.joinTable); - } - if (message.fromColumn !== "") { - writer.uint32(50).string(message.fromColumn); - } - if (message.joinColumn !== "") { - writer.uint32(58).string(message.joinColumn); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Join { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseJoin(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32() as any; - break; - case 2: - message.fromTableSchema = reader.string(); - break; - case 3: - message.joinTableSchema = reader.string(); - break; - case 4: - message.fromTable = reader.string(); - break; - case 5: - message.joinTable = reader.string(); - break; - case 6: - message.fromColumn = reader.string(); - break; - case 7: - message.joinColumn = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Join { - return { - type: isSet(object.type) ? joinTypeFromJSON(object.type) : 0, - fromTableSchema: isSet(object.fromTableSchema) ? String(object.fromTableSchema) : undefined, - joinTableSchema: isSet(object.joinTableSchema) ? String(object.joinTableSchema) : undefined, - fromTable: isSet(object.fromTable) ? String(object.fromTable) : "", - joinTable: isSet(object.joinTable) ? String(object.joinTable) : "", - fromColumn: isSet(object.fromColumn) ? String(object.fromColumn) : "", - joinColumn: isSet(object.joinColumn) ? String(object.joinColumn) : "", - }; - }, - - toJSON(message: Join): unknown { - const obj: any = {}; - message.type !== undefined && (obj.type = joinTypeToJSON(message.type)); - message.fromTableSchema !== undefined && (obj.fromTableSchema = message.fromTableSchema); - message.joinTableSchema !== undefined && (obj.joinTableSchema = message.joinTableSchema); - message.fromTable !== undefined && (obj.fromTable = message.fromTable); - message.joinTable !== undefined && (obj.joinTable = message.joinTable); - message.fromColumn !== undefined && (obj.fromColumn = message.fromColumn); - message.joinColumn !== undefined && (obj.joinColumn = message.joinColumn); - return obj; - }, - - create, I>>(base?: I): Join { - return Join.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Join { - const message = createBaseJoin(); - message.type = object.type ?? 0; - message.fromTableSchema = object.fromTableSchema ?? undefined; - message.joinTableSchema = object.joinTableSchema ?? undefined; - message.fromTable = object.fromTable ?? ""; - message.joinTable = object.joinTable ?? ""; - message.fromColumn = object.fromColumn ?? ""; - message.joinColumn = object.joinColumn ?? ""; - return message; - }, -}; - -function createBaseSelectQuery(): SelectQuery { - return { - schema: undefined, - table: "", - column: [], - where: [], - groupBy: [], - orderBy: [], - join: [], - limit: 0, - offset: 0, - }; -} - -export const SelectQuery = { - encode(message: SelectQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.schema !== undefined) { - writer.uint32(10).string(message.schema); - } - if (message.table !== "") { - writer.uint32(18).string(message.table); - } - for (const v of message.column) { - Column.encode(v!, writer.uint32(26).fork()).ldelim(); - } - for (const v of message.where) { - WhereCriteria.encode(v!, writer.uint32(34).fork()).ldelim(); - } - for (const v of message.groupBy) { - writer.uint32(42).string(v!); - } - for (const v of message.orderBy) { - writer.uint32(50).string(v!); - } - for (const v of message.join) { - Join.encode(v!, writer.uint32(58).fork()).ldelim(); - } - if (message.limit !== 0) { - writer.uint32(64).uint32(message.limit); - } - if (message.offset !== 0) { - writer.uint32(72).uint32(message.offset); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): SelectQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseSelectQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.schema = reader.string(); - break; - case 2: - message.table = reader.string(); - break; - case 3: - message.column.push(Column.decode(reader, reader.uint32())); - break; - case 4: - message.where.push(WhereCriteria.decode(reader, reader.uint32())); - break; - case 5: - message.groupBy.push(reader.string()); - break; - case 6: - message.orderBy.push(reader.string()); - break; - case 7: - message.join.push(Join.decode(reader, reader.uint32())); - break; - case 8: - message.limit = reader.uint32(); - break; - case 9: - message.offset = reader.uint32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): SelectQuery { - return { - schema: isSet(object.schema) ? String(object.schema) : undefined, - table: isSet(object.table) ? String(object.table) : "", - column: Array.isArray(object?.column) ? object.column.map((e: any) => Column.fromJSON(e)) : [], - where: Array.isArray(object?.where) ? object.where.map((e: any) => WhereCriteria.fromJSON(e)) : [], - groupBy: Array.isArray(object?.groupBy) ? object.groupBy.map((e: any) => String(e)) : [], - orderBy: Array.isArray(object?.orderBy) ? object.orderBy.map((e: any) => String(e)) : [], - join: Array.isArray(object?.join) ? object.join.map((e: any) => Join.fromJSON(e)) : [], - limit: isSet(object.limit) ? Number(object.limit) : 0, - offset: isSet(object.offset) ? Number(object.offset) : 0, - }; - }, - - toJSON(message: SelectQuery): unknown { - const obj: any = {}; - message.schema !== undefined && (obj.schema = message.schema); - message.table !== undefined && (obj.table = message.table); - if (message.column) { - obj.column = message.column.map((e) => e ? Column.toJSON(e) : undefined); - } else { - obj.column = []; - } - if (message.where) { - obj.where = message.where.map((e) => e ? WhereCriteria.toJSON(e) : undefined); - } else { - obj.where = []; - } - if (message.groupBy) { - obj.groupBy = message.groupBy.map((e) => e); - } else { - obj.groupBy = []; - } - if (message.orderBy) { - obj.orderBy = message.orderBy.map((e) => e); - } else { - obj.orderBy = []; - } - if (message.join) { - obj.join = message.join.map((e) => e ? Join.toJSON(e) : undefined); - } else { - obj.join = []; - } - message.limit !== undefined && (obj.limit = Math.round(message.limit)); - message.offset !== undefined && (obj.offset = Math.round(message.offset)); - return obj; - }, - - create, I>>(base?: I): SelectQuery { - return SelectQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): SelectQuery { - const message = createBaseSelectQuery(); - message.schema = object.schema ?? undefined; - message.table = object.table ?? ""; - message.column = object.column?.map((e) => Column.fromPartial(e)) || []; - message.where = object.where?.map((e) => WhereCriteria.fromPartial(e)) || []; - message.groupBy = object.groupBy?.map((e) => e) || []; - message.orderBy = object.orderBy?.map((e) => e) || []; - message.join = object.join?.map((e) => Join.fromPartial(e)) || []; - message.limit = object.limit ?? 0; - message.offset = object.offset ?? 0; - return message; - }, -}; - -function createBaseColumnValue(): ColumnValue { - return { column: "", value: undefined }; -} - -export const ColumnValue = { - encode(message: ColumnValue, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.column !== "") { - writer.uint32(10).string(message.column); - } - if (message.value !== undefined) { - Value.encode(message.value, writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ColumnValue { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseColumnValue(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.column = reader.string(); - break; - case 2: - message.value = Value.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ColumnValue { - return { - column: isSet(object.column) ? String(object.column) : "", - value: isSet(object.value) ? Value.fromJSON(object.value) : undefined, - }; - }, - - toJSON(message: ColumnValue): unknown { - const obj: any = {}; - message.column !== undefined && (obj.column = message.column); - message.value !== undefined && (obj.value = message.value ? Value.toJSON(message.value) : undefined); - return obj; - }, - - create, I>>(base?: I): ColumnValue { - return ColumnValue.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ColumnValue { - const message = createBaseColumnValue(); - message.column = object.column ?? ""; - message.value = (object.value !== undefined && object.value !== null) ? Value.fromPartial(object.value) : undefined; - return message; - }, -}; - -function createBaseInsertQuery(): InsertQuery { - return { - schema: undefined, - table: "", - columnValue: [], - idColumn: undefined, - idSequence: undefined, - idTable: undefined, - }; -} - -export const InsertQuery = { - encode(message: InsertQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.schema !== undefined) { - writer.uint32(10).string(message.schema); - } - if (message.table !== "") { - writer.uint32(18).string(message.table); - } - for (const v of message.columnValue) { - ColumnValue.encode(v!, writer.uint32(26).fork()).ldelim(); - } - if (message.idColumn !== undefined) { - writer.uint32(34).string(message.idColumn); - } - if (message.idSequence !== undefined) { - writer.uint32(42).string(message.idSequence); - } - if (message.idTable !== undefined) { - writer.uint32(50).string(message.idTable); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): InsertQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseInsertQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.schema = reader.string(); - break; - case 2: - message.table = reader.string(); - break; - case 3: - message.columnValue.push(ColumnValue.decode(reader, reader.uint32())); - break; - case 4: - message.idColumn = reader.string(); - break; - case 5: - message.idSequence = reader.string(); - break; - case 6: - message.idTable = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): InsertQuery { - return { - schema: isSet(object.schema) ? String(object.schema) : undefined, - table: isSet(object.table) ? String(object.table) : "", - columnValue: Array.isArray(object?.columnValue) - ? object.columnValue.map((e: any) => ColumnValue.fromJSON(e)) - : [], - idColumn: isSet(object.idColumn) ? String(object.idColumn) : undefined, - idSequence: isSet(object.idSequence) ? String(object.idSequence) : undefined, - idTable: isSet(object.idTable) ? String(object.idTable) : undefined, - }; - }, - - toJSON(message: InsertQuery): unknown { - const obj: any = {}; - message.schema !== undefined && (obj.schema = message.schema); - message.table !== undefined && (obj.table = message.table); - if (message.columnValue) { - obj.columnValue = message.columnValue.map((e) => e ? ColumnValue.toJSON(e) : undefined); - } else { - obj.columnValue = []; - } - message.idColumn !== undefined && (obj.idColumn = message.idColumn); - message.idSequence !== undefined && (obj.idSequence = message.idSequence); - message.idTable !== undefined && (obj.idTable = message.idTable); - return obj; - }, - - create, I>>(base?: I): InsertQuery { - return InsertQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): InsertQuery { - const message = createBaseInsertQuery(); - message.schema = object.schema ?? undefined; - message.table = object.table ?? ""; - message.columnValue = object.columnValue?.map((e) => ColumnValue.fromPartial(e)) || []; - message.idColumn = object.idColumn ?? undefined; - message.idSequence = object.idSequence ?? undefined; - message.idTable = object.idTable ?? undefined; - return message; - }, -}; - -function createBaseBulkInsertQuery(): BulkInsertQuery { - return { inserts: [] }; -} - -export const BulkInsertQuery = { - encode(message: BulkInsertQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.inserts) { - InsertQuery.encode(v!, writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): BulkInsertQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseBulkInsertQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.inserts.push(InsertQuery.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): BulkInsertQuery { - return { inserts: Array.isArray(object?.inserts) ? object.inserts.map((e: any) => InsertQuery.fromJSON(e)) : [] }; - }, - - toJSON(message: BulkInsertQuery): unknown { - const obj: any = {}; - if (message.inserts) { - obj.inserts = message.inserts.map((e) => e ? InsertQuery.toJSON(e) : undefined); - } else { - obj.inserts = []; - } - return obj; - }, - - create, I>>(base?: I): BulkInsertQuery { - return BulkInsertQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): BulkInsertQuery { - const message = createBaseBulkInsertQuery(); - message.inserts = object.inserts?.map((e) => InsertQuery.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseUpdateQuery(): UpdateQuery { - return { schema: undefined, table: "", columnValue: [], where: [] }; -} - -export const UpdateQuery = { - encode(message: UpdateQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.schema !== undefined) { - writer.uint32(10).string(message.schema); - } - if (message.table !== "") { - writer.uint32(18).string(message.table); - } - for (const v of message.columnValue) { - ColumnValue.encode(v!, writer.uint32(26).fork()).ldelim(); - } - for (const v of message.where) { - WhereCriteria.encode(v!, writer.uint32(34).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): UpdateQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseUpdateQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.schema = reader.string(); - break; - case 2: - message.table = reader.string(); - break; - case 3: - message.columnValue.push(ColumnValue.decode(reader, reader.uint32())); - break; - case 4: - message.where.push(WhereCriteria.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): UpdateQuery { - return { - schema: isSet(object.schema) ? String(object.schema) : undefined, - table: isSet(object.table) ? String(object.table) : "", - columnValue: Array.isArray(object?.columnValue) - ? object.columnValue.map((e: any) => ColumnValue.fromJSON(e)) - : [], - where: Array.isArray(object?.where) ? object.where.map((e: any) => WhereCriteria.fromJSON(e)) : [], - }; - }, - - toJSON(message: UpdateQuery): unknown { - const obj: any = {}; - message.schema !== undefined && (obj.schema = message.schema); - message.table !== undefined && (obj.table = message.table); - if (message.columnValue) { - obj.columnValue = message.columnValue.map((e) => e ? ColumnValue.toJSON(e) : undefined); - } else { - obj.columnValue = []; - } - if (message.where) { - obj.where = message.where.map((e) => e ? WhereCriteria.toJSON(e) : undefined); - } else { - obj.where = []; - } - return obj; - }, - - create, I>>(base?: I): UpdateQuery { - return UpdateQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): UpdateQuery { - const message = createBaseUpdateQuery(); - message.schema = object.schema ?? undefined; - message.table = object.table ?? ""; - message.columnValue = object.columnValue?.map((e) => ColumnValue.fromPartial(e)) || []; - message.where = object.where?.map((e) => WhereCriteria.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseDeleteQuery(): DeleteQuery { - return { schema: undefined, table: "", where: [] }; -} - -export const DeleteQuery = { - encode(message: DeleteQuery, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.schema !== undefined) { - writer.uint32(10).string(message.schema); - } - if (message.table !== "") { - writer.uint32(18).string(message.table); - } - for (const v of message.where) { - WhereCriteria.encode(v!, writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): DeleteQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseDeleteQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.schema = reader.string(); - break; - case 2: - message.table = reader.string(); - break; - case 3: - message.where.push(WhereCriteria.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): DeleteQuery { - return { - schema: isSet(object.schema) ? String(object.schema) : undefined, - table: isSet(object.table) ? String(object.table) : "", - where: Array.isArray(object?.where) ? object.where.map((e: any) => WhereCriteria.fromJSON(e)) : [], - }; - }, - - toJSON(message: DeleteQuery): unknown { - const obj: any = {}; - message.schema !== undefined && (obj.schema = message.schema); - message.table !== undefined && (obj.table = message.table); - if (message.where) { - obj.where = message.where.map((e) => e ? WhereCriteria.toJSON(e) : undefined); - } else { - obj.where = []; - } - return obj; - }, - - create, I>>(base?: I): DeleteQuery { - return DeleteQuery.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): DeleteQuery { - const message = createBaseDeleteQuery(); - message.schema = object.schema ?? undefined; - message.table = object.table ?? ""; - message.where = object.where?.map((e) => WhereCriteria.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseQuery(): Query { - return { query: undefined }; -} - -export const Query = { - encode(message: Query, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.query?.$case === "raw") { - RawQuery.encode(message.query.raw, writer.uint32(10).fork()).ldelim(); - } - if (message.query?.$case === "select") { - SelectQuery.encode(message.query.select, writer.uint32(18).fork()).ldelim(); - } - if (message.query?.$case === "insert") { - InsertQuery.encode(message.query.insert, writer.uint32(26).fork()).ldelim(); - } - if (message.query?.$case === "update") { - UpdateQuery.encode(message.query.update, writer.uint32(34).fork()).ldelim(); - } - if (message.query?.$case === "delete") { - DeleteQuery.encode(message.query.delete, writer.uint32(42).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Query { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.query = { $case: "raw", raw: RawQuery.decode(reader, reader.uint32()) }; - break; - case 2: - message.query = { $case: "select", select: SelectQuery.decode(reader, reader.uint32()) }; - break; - case 3: - message.query = { $case: "insert", insert: InsertQuery.decode(reader, reader.uint32()) }; - break; - case 4: - message.query = { $case: "update", update: UpdateQuery.decode(reader, reader.uint32()) }; - break; - case 5: - message.query = { $case: "delete", delete: DeleteQuery.decode(reader, reader.uint32()) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Query { - return { - query: isSet(object.raw) - ? { $case: "raw", raw: RawQuery.fromJSON(object.raw) } - : isSet(object.select) - ? { $case: "select", select: SelectQuery.fromJSON(object.select) } - : isSet(object.insert) - ? { $case: "insert", insert: InsertQuery.fromJSON(object.insert) } - : isSet(object.update) - ? { $case: "update", update: UpdateQuery.fromJSON(object.update) } - : isSet(object.delete) - ? { $case: "delete", delete: DeleteQuery.fromJSON(object.delete) } - : undefined, - }; - }, - - toJSON(message: Query): unknown { - const obj: any = {}; - message.query?.$case === "raw" && (obj.raw = message.query?.raw ? RawQuery.toJSON(message.query?.raw) : undefined); - message.query?.$case === "select" && - (obj.select = message.query?.select ? SelectQuery.toJSON(message.query?.select) : undefined); - message.query?.$case === "insert" && - (obj.insert = message.query?.insert ? InsertQuery.toJSON(message.query?.insert) : undefined); - message.query?.$case === "update" && - (obj.update = message.query?.update ? UpdateQuery.toJSON(message.query?.update) : undefined); - message.query?.$case === "delete" && - (obj.delete = message.query?.delete ? DeleteQuery.toJSON(message.query?.delete) : undefined); - return obj; - }, - - create, I>>(base?: I): Query { - return Query.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Query { - const message = createBaseQuery(); - if (object.query?.$case === "raw" && object.query?.raw !== undefined && object.query?.raw !== null) { - message.query = { $case: "raw", raw: RawQuery.fromPartial(object.query.raw) }; - } - if (object.query?.$case === "select" && object.query?.select !== undefined && object.query?.select !== null) { - message.query = { $case: "select", select: SelectQuery.fromPartial(object.query.select) }; - } - if (object.query?.$case === "insert" && object.query?.insert !== undefined && object.query?.insert !== null) { - message.query = { $case: "insert", insert: InsertQuery.fromPartial(object.query.insert) }; - } - if (object.query?.$case === "update" && object.query?.update !== undefined && object.query?.update !== null) { - message.query = { $case: "update", update: UpdateQuery.fromPartial(object.query.update) }; - } - if (object.query?.$case === "delete" && object.query?.delete !== undefined && object.query?.delete !== null) { - message.query = { $case: "delete", delete: DeleteQuery.fromPartial(object.query.delete) }; - } - return message; - }, -}; - -function createBaseRow(): Row { - return { values: {} }; -} - -export const Row = { - encode(message: Row, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - Object.entries(message.values).forEach(([key, value]) => { - Row_ValuesEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).ldelim(); - }); - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Row { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseRow(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - const entry1 = Row_ValuesEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.values[entry1.key] = entry1.value; - } - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Row { - return { - values: isObject(object.values) - ? Object.entries(object.values).reduce<{ [key: string]: Value }>((acc, [key, value]) => { - acc[key] = Value.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: Row): unknown { - const obj: any = {}; - obj.values = {}; - if (message.values) { - Object.entries(message.values).forEach(([k, v]) => { - obj.values[k] = Value.toJSON(v); - }); - } - return obj; - }, - - create, I>>(base?: I): Row { - return Row.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Row { - const message = createBaseRow(); - message.values = Object.entries(object.values ?? {}).reduce<{ [key: string]: Value }>((acc, [key, value]) => { - if (value !== undefined) { - acc[key] = Value.fromPartial(value); - } - return acc; - }, {}); - return message; - }, -}; - -function createBaseRow_ValuesEntry(): Row_ValuesEntry { - return { key: "", value: undefined }; -} - -export const Row_ValuesEntry = { - encode(message: Row_ValuesEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.key !== "") { - writer.uint32(10).string(message.key); - } - if (message.value !== undefined) { - Value.encode(message.value, writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Row_ValuesEntry { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseRow_ValuesEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = Value.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Row_ValuesEntry { - return { - key: isSet(object.key) ? String(object.key) : "", - value: isSet(object.value) ? Value.fromJSON(object.value) : undefined, - }; - }, - - toJSON(message: Row_ValuesEntry): unknown { - const obj: any = {}; - message.key !== undefined && (obj.key = message.key); - message.value !== undefined && (obj.value = message.value ? Value.toJSON(message.value) : undefined); - return obj; - }, - - create, I>>(base?: I): Row_ValuesEntry { - return Row_ValuesEntry.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Row_ValuesEntry { - const message = createBaseRow_ValuesEntry(); - message.key = object.key ?? ""; - message.value = (object.value !== undefined && object.value !== null) ? Value.fromPartial(object.value) : undefined; - return message; - }, -}; - -function createBaseQueryRequest(): QueryRequest { - return { query: undefined }; -} - -export const QueryRequest = { - encode(message: QueryRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.query !== undefined) { - Query.encode(message.query, writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): QueryRequest { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseQueryRequest(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.query = Query.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): QueryRequest { - return { query: isSet(object.query) ? Query.fromJSON(object.query) : undefined }; - }, - - toJSON(message: QueryRequest): unknown { - const obj: any = {}; - message.query !== undefined && (obj.query = message.query ? Query.toJSON(message.query) : undefined); - return obj; - }, - - create, I>>(base?: I): QueryRequest { - return QueryRequest.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): QueryRequest { - const message = createBaseQueryRequest(); - message.query = (object.query !== undefined && object.query !== null) ? Query.fromPartial(object.query) : undefined; - return message; - }, -}; - -function createBaseSelectQueryResult(): SelectQueryResult { - return { rows: [] }; -} - -export const SelectQueryResult = { - encode(message: SelectQueryResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.rows) { - Row.encode(v!, writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): SelectQueryResult { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseSelectQueryResult(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.rows.push(Row.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): SelectQueryResult { - return { rows: Array.isArray(object?.rows) ? object.rows.map((e: any) => Row.fromJSON(e)) : [] }; - }, - - toJSON(message: SelectQueryResult): unknown { - const obj: any = {}; - if (message.rows) { - obj.rows = message.rows.map((e) => e ? Row.toJSON(e) : undefined); - } else { - obj.rows = []; - } - return obj; - }, - - create, I>>(base?: I): SelectQueryResult { - return SelectQueryResult.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): SelectQueryResult { - const message = createBaseSelectQueryResult(); - message.rows = object.rows?.map((e) => Row.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseInsertQueryResult(): InsertQueryResult { - return { lastInsertId: 0 }; -} - -export const InsertQueryResult = { - encode(message: InsertQueryResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.lastInsertId !== 0) { - writer.uint32(8).uint64(message.lastInsertId); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): InsertQueryResult { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseInsertQueryResult(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.lastInsertId = longToNumber(reader.uint64() as Long); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): InsertQueryResult { - return { lastInsertId: isSet(object.lastInsertId) ? Number(object.lastInsertId) : 0 }; - }, - - toJSON(message: InsertQueryResult): unknown { - const obj: any = {}; - message.lastInsertId !== undefined && (obj.lastInsertId = Math.round(message.lastInsertId)); - return obj; - }, - - create, I>>(base?: I): InsertQueryResult { - return InsertQueryResult.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): InsertQueryResult { - const message = createBaseInsertQueryResult(); - message.lastInsertId = object.lastInsertId ?? 0; - return message; - }, -}; - -function createBaseUpdateQueryResult(): UpdateQueryResult { - return { affectedRows: 0 }; -} - -export const UpdateQueryResult = { - encode(message: UpdateQueryResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.affectedRows !== 0) { - writer.uint32(8).uint64(message.affectedRows); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): UpdateQueryResult { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseUpdateQueryResult(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.affectedRows = longToNumber(reader.uint64() as Long); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): UpdateQueryResult { - return { affectedRows: isSet(object.affectedRows) ? Number(object.affectedRows) : 0 }; - }, - - toJSON(message: UpdateQueryResult): unknown { - const obj: any = {}; - message.affectedRows !== undefined && (obj.affectedRows = Math.round(message.affectedRows)); - return obj; - }, - - create, I>>(base?: I): UpdateQueryResult { - return UpdateQueryResult.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): UpdateQueryResult { - const message = createBaseUpdateQueryResult(); - message.affectedRows = object.affectedRows ?? 0; - return message; - }, -}; - -function createBaseDeleteQueryResult(): DeleteQueryResult { - return { affectedRows: 0 }; -} - -export const DeleteQueryResult = { - encode(message: DeleteQueryResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.affectedRows !== 0) { - writer.uint32(8).uint64(message.affectedRows); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): DeleteQueryResult { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseDeleteQueryResult(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.affectedRows = longToNumber(reader.uint64() as Long); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): DeleteQueryResult { - return { affectedRows: isSet(object.affectedRows) ? Number(object.affectedRows) : 0 }; - }, - - toJSON(message: DeleteQueryResult): unknown { - const obj: any = {}; - message.affectedRows !== undefined && (obj.affectedRows = Math.round(message.affectedRows)); - return obj; - }, - - create, I>>(base?: I): DeleteQueryResult { - return DeleteQueryResult.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): DeleteQueryResult { - const message = createBaseDeleteQueryResult(); - message.affectedRows = object.affectedRows ?? 0; - return message; - }, -}; - -function createBaseQueryResponse(): QueryResponse { - return { result: undefined }; -} - -export const QueryResponse = { - encode(message: QueryResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.result?.$case === "selectResult") { - SelectQueryResult.encode(message.result.selectResult, writer.uint32(10).fork()).ldelim(); - } - if (message.result?.$case === "insertResult") { - InsertQueryResult.encode(message.result.insertResult, writer.uint32(18).fork()).ldelim(); - } - if (message.result?.$case === "updateResult") { - UpdateQueryResult.encode(message.result.updateResult, writer.uint32(26).fork()).ldelim(); - } - if (message.result?.$case === "deleteResult") { - DeleteQueryResult.encode(message.result.deleteResult, writer.uint32(34).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): QueryResponse { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseQueryResponse(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.result = { $case: "selectResult", selectResult: SelectQueryResult.decode(reader, reader.uint32()) }; - break; - case 2: - message.result = { $case: "insertResult", insertResult: InsertQueryResult.decode(reader, reader.uint32()) }; - break; - case 3: - message.result = { $case: "updateResult", updateResult: UpdateQueryResult.decode(reader, reader.uint32()) }; - break; - case 4: - message.result = { $case: "deleteResult", deleteResult: DeleteQueryResult.decode(reader, reader.uint32()) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): QueryResponse { - return { - result: isSet(object.selectResult) - ? { $case: "selectResult", selectResult: SelectQueryResult.fromJSON(object.selectResult) } - : isSet(object.insertResult) - ? { $case: "insertResult", insertResult: InsertQueryResult.fromJSON(object.insertResult) } - : isSet(object.updateResult) - ? { $case: "updateResult", updateResult: UpdateQueryResult.fromJSON(object.updateResult) } - : isSet(object.deleteResult) - ? { $case: "deleteResult", deleteResult: DeleteQueryResult.fromJSON(object.deleteResult) } - : undefined, - }; - }, - - toJSON(message: QueryResponse): unknown { - const obj: any = {}; - message.result?.$case === "selectResult" && (obj.selectResult = message.result?.selectResult - ? SelectQueryResult.toJSON(message.result?.selectResult) - : undefined); - message.result?.$case === "insertResult" && (obj.insertResult = message.result?.insertResult - ? InsertQueryResult.toJSON(message.result?.insertResult) - : undefined); - message.result?.$case === "updateResult" && (obj.updateResult = message.result?.updateResult - ? UpdateQueryResult.toJSON(message.result?.updateResult) - : undefined); - message.result?.$case === "deleteResult" && (obj.deleteResult = message.result?.deleteResult - ? DeleteQueryResult.toJSON(message.result?.deleteResult) - : undefined); - return obj; - }, - - create, I>>(base?: I): QueryResponse { - return QueryResponse.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): QueryResponse { - const message = createBaseQueryResponse(); - if ( - object.result?.$case === "selectResult" && - object.result?.selectResult !== undefined && - object.result?.selectResult !== null - ) { - message.result = { - $case: "selectResult", - selectResult: SelectQueryResult.fromPartial(object.result.selectResult), - }; - } - if ( - object.result?.$case === "insertResult" && - object.result?.insertResult !== undefined && - object.result?.insertResult !== null - ) { - message.result = { - $case: "insertResult", - insertResult: InsertQueryResult.fromPartial(object.result.insertResult), - }; - } - if ( - object.result?.$case === "updateResult" && - object.result?.updateResult !== undefined && - object.result?.updateResult !== null - ) { - message.result = { - $case: "updateResult", - updateResult: UpdateQueryResult.fromPartial(object.result.updateResult), - }; - } - if ( - object.result?.$case === "deleteResult" && - object.result?.deleteResult !== undefined && - object.result?.deleteResult !== null - ) { - message.result = { - $case: "deleteResult", - deleteResult: DeleteQueryResult.fromPartial(object.result.deleteResult), - }; - } - return message; - }, -}; - -export type QueryServiceService = typeof QueryServiceService; -export const QueryServiceService = { - query: { - path: "/topcoder.dal.rdb.QueryService/Query", - requestStream: false, - responseStream: false, - requestSerialize: (value: QueryRequest) => Buffer.from(QueryRequest.encode(value).finish()), - requestDeserialize: (value: Buffer) => QueryRequest.decode(value), - responseSerialize: (value: QueryResponse) => Buffer.from(QueryResponse.encode(value).finish()), - responseDeserialize: (value: Buffer) => QueryResponse.decode(value), - }, -} as const; - -export interface QueryServiceServer extends UntypedServiceImplementation { - query: handleUnaryCall; -} - -export interface QueryServiceClient extends Client { - query( - request: QueryRequest, - callback: (error: ServiceError | null, response: QueryResponse) => void, - ): ClientUnaryCall; - query( - request: QueryRequest, - metadata: Metadata, - callback: (error: ServiceError | null, response: QueryResponse) => void, - ): ClientUnaryCall; - query( - request: QueryRequest, - metadata: Metadata, - options: Partial, - callback: (error: ServiceError | null, response: QueryResponse) => void, - ): ClientUnaryCall; -} - -export const QueryServiceClient = makeGenericClientConstructor( - QueryServiceService, - "topcoder.dal.rdb.QueryService", -) as unknown as { - new (address: string, credentials: ChannelCredentials, options?: Partial): QueryServiceClient; - service: typeof QueryServiceService; -}; - -declare var self: any | undefined; -declare var window: any | undefined; -declare var global: any | undefined; -var tsProtoGlobalThis: any = (() => { - if (typeof globalThis !== "undefined") { - return globalThis; - } - if (typeof self !== "undefined") { - return self; - } - if (typeof window !== "undefined") { - return window; - } - if (typeof global !== "undefined") { - return global; - } - throw "Unable to locate global object"; -})(); - -function bytesFromBase64(b64: string): Uint8Array { - if (tsProtoGlobalThis.Buffer) { - return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64")); - } else { - const bin = tsProtoGlobalThis.atob(b64); - const arr = new Uint8Array(bin.length); - for (let i = 0; i < bin.length; ++i) { - arr[i] = bin.charCodeAt(i); - } - return arr; - } -} - -function base64FromBytes(arr: Uint8Array): string { - if (tsProtoGlobalThis.Buffer) { - return tsProtoGlobalThis.Buffer.from(arr).toString("base64"); - } else { - const bin: string[] = []; - arr.forEach((byte) => { - bin.push(String.fromCharCode(byte)); - }); - return tsProtoGlobalThis.btoa(bin.join("")); - } -} - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function longToNumber(long: Long): number { - if (long.gt(Number.MAX_SAFE_INTEGER)) { - throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); - } - return long.toNumber(); -} - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/grpc/models/rdb/tsconfig.json b/src/grpc/models/rdb/tsconfig.json deleted file mode 100644 index 730b68d..0000000 --- a/src/grpc/models/rdb/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../../../tsconfig.json", - "compilerOptions": { - "composite": true, - "outDir": "../../../../dist/grpc/models/rdb", - "noImplicitReturns": false - }, - "include": ["**/*"], - "exclude": ["node_modules"] -} diff --git a/src/helper/util.ts b/src/helper/util.ts index fca7f9e..6c16e29 100644 --- a/src/helper/util.ts +++ b/src/helper/util.ts @@ -1,4 +1,4 @@ -import { Value } from "../grpc/models/rdb/relational"; +import { Value } from "@topcoder-framework/client-relational"; class Util { public toIntValue(val: number): Value { diff --git a/src/models/common/common.ts b/src/models/common/common.ts deleted file mode 100644 index 22b1e05..0000000 --- a/src/models/common/common.ts +++ /dev/null @@ -1,667 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; -import { Struct, Value } from "../google/protobuf/struct"; -import { Timestamp } from "../google/protobuf/timestamp"; - -export enum Operator { - OPERATOR_UNSPECIFIED = 0, - OPERATOR_EQUAL = 1, - OPERATOR_NOT_EQUAL = 2, - OPERATOR_GREATER_THAN = 3, - OPERATOR_GREATER_THAN_OR_EQUAL = 4, - OPERATOR_LESS_THAN = 5, - OPERATOR_LESS_THAN_OR_EQUAL = 6, - OPERATOR_AND = 7, - OPERATOR_BETWEEN = 8, - OPERATOR_IN = 9, - OPERATOR_IS = 10, - OPERATOR_NOT = 11, - OPERATOR_OR = 12, - UNRECOGNIZED = -1, -} - -export function operatorFromJSON(object: any): Operator { - switch (object) { - case 0: - case "OPERATOR_UNSPECIFIED": - return Operator.OPERATOR_UNSPECIFIED; - case 1: - case "OPERATOR_EQUAL": - return Operator.OPERATOR_EQUAL; - case 2: - case "OPERATOR_NOT_EQUAL": - return Operator.OPERATOR_NOT_EQUAL; - case 3: - case "OPERATOR_GREATER_THAN": - return Operator.OPERATOR_GREATER_THAN; - case 4: - case "OPERATOR_GREATER_THAN_OR_EQUAL": - return Operator.OPERATOR_GREATER_THAN_OR_EQUAL; - case 5: - case "OPERATOR_LESS_THAN": - return Operator.OPERATOR_LESS_THAN; - case 6: - case "OPERATOR_LESS_THAN_OR_EQUAL": - return Operator.OPERATOR_LESS_THAN_OR_EQUAL; - case 7: - case "OPERATOR_AND": - return Operator.OPERATOR_AND; - case 8: - case "OPERATOR_BETWEEN": - return Operator.OPERATOR_BETWEEN; - case 9: - case "OPERATOR_IN": - return Operator.OPERATOR_IN; - case 10: - case "OPERATOR_IS": - return Operator.OPERATOR_IS; - case 11: - case "OPERATOR_NOT": - return Operator.OPERATOR_NOT; - case 12: - case "OPERATOR_OR": - return Operator.OPERATOR_OR; - case -1: - case "UNRECOGNIZED": - default: - return Operator.UNRECOGNIZED; - } -} - -export function operatorToJSON(object: Operator): string { - switch (object) { - case Operator.OPERATOR_UNSPECIFIED: - return "OPERATOR_UNSPECIFIED"; - case Operator.OPERATOR_EQUAL: - return "OPERATOR_EQUAL"; - case Operator.OPERATOR_NOT_EQUAL: - return "OPERATOR_NOT_EQUAL"; - case Operator.OPERATOR_GREATER_THAN: - return "OPERATOR_GREATER_THAN"; - case Operator.OPERATOR_GREATER_THAN_OR_EQUAL: - return "OPERATOR_GREATER_THAN_OR_EQUAL"; - case Operator.OPERATOR_LESS_THAN: - return "OPERATOR_LESS_THAN"; - case Operator.OPERATOR_LESS_THAN_OR_EQUAL: - return "OPERATOR_LESS_THAN_OR_EQUAL"; - case Operator.OPERATOR_AND: - return "OPERATOR_AND"; - case Operator.OPERATOR_BETWEEN: - return "OPERATOR_BETWEEN"; - case Operator.OPERATOR_IN: - return "OPERATOR_IN"; - case Operator.OPERATOR_IS: - return "OPERATOR_IS"; - case Operator.OPERATOR_NOT: - return "OPERATOR_NOT"; - case Operator.OPERATOR_OR: - return "OPERATOR_OR"; - case Operator.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export enum Domain { - DOMAIN_UNSPECIFIED = 0, - DOMAIN_RESOURCE = 1, - DOMAIN_RESOURCE_ROLE = 2, - DOMAIN_RESOURCE_ROLE_PHASE_DEPENDENCY = 3, - DOMAIN_CHALLENGE = 4, - DOMAIN_CHALLENGE_TYPE = 5, - DOMAIN_CHALLENG_TIMELINE_TEMPLATE = 6, - DOMAIN_CHALLENGE_TRACK = 7, - DOMAIN_CHALLENGE_PHASE = 8, - DOMAIN_CHALLENGE_TIMELINE_TEMPLATE = 9, - DOMAIN_SUBMISSION = 10, - UNRECOGNIZED = -1, -} - -export function domainFromJSON(object: any): Domain { - switch (object) { - case 0: - case "DOMAIN_UNSPECIFIED": - return Domain.DOMAIN_UNSPECIFIED; - case 1: - case "DOMAIN_RESOURCE": - return Domain.DOMAIN_RESOURCE; - case 2: - case "DOMAIN_RESOURCE_ROLE": - return Domain.DOMAIN_RESOURCE_ROLE; - case 3: - case "DOMAIN_RESOURCE_ROLE_PHASE_DEPENDENCY": - return Domain.DOMAIN_RESOURCE_ROLE_PHASE_DEPENDENCY; - case 4: - case "DOMAIN_CHALLENGE": - return Domain.DOMAIN_CHALLENGE; - case 5: - case "DOMAIN_CHALLENGE_TYPE": - return Domain.DOMAIN_CHALLENGE_TYPE; - case 6: - case "DOMAIN_CHALLENG_TIMELINE_TEMPLATE": - return Domain.DOMAIN_CHALLENG_TIMELINE_TEMPLATE; - case 7: - case "DOMAIN_CHALLENGE_TRACK": - return Domain.DOMAIN_CHALLENGE_TRACK; - case 8: - case "DOMAIN_CHALLENGE_PHASE": - return Domain.DOMAIN_CHALLENGE_PHASE; - case 9: - case "DOMAIN_CHALLENGE_TIMELINE_TEMPLATE": - return Domain.DOMAIN_CHALLENGE_TIMELINE_TEMPLATE; - case 10: - case "DOMAIN_SUBMISSION": - return Domain.DOMAIN_SUBMISSION; - case -1: - case "UNRECOGNIZED": - default: - return Domain.UNRECOGNIZED; - } -} - -export function domainToJSON(object: Domain): string { - switch (object) { - case Domain.DOMAIN_UNSPECIFIED: - return "DOMAIN_UNSPECIFIED"; - case Domain.DOMAIN_RESOURCE: - return "DOMAIN_RESOURCE"; - case Domain.DOMAIN_RESOURCE_ROLE: - return "DOMAIN_RESOURCE_ROLE"; - case Domain.DOMAIN_RESOURCE_ROLE_PHASE_DEPENDENCY: - return "DOMAIN_RESOURCE_ROLE_PHASE_DEPENDENCY"; - case Domain.DOMAIN_CHALLENGE: - return "DOMAIN_CHALLENGE"; - case Domain.DOMAIN_CHALLENGE_TYPE: - return "DOMAIN_CHALLENGE_TYPE"; - case Domain.DOMAIN_CHALLENG_TIMELINE_TEMPLATE: - return "DOMAIN_CHALLENG_TIMELINE_TEMPLATE"; - case Domain.DOMAIN_CHALLENGE_TRACK: - return "DOMAIN_CHALLENGE_TRACK"; - case Domain.DOMAIN_CHALLENGE_PHASE: - return "DOMAIN_CHALLENGE_PHASE"; - case Domain.DOMAIN_CHALLENGE_TIMELINE_TEMPLATE: - return "DOMAIN_CHALLENGE_TIMELINE_TEMPLATE"; - case Domain.DOMAIN_SUBMISSION: - return "DOMAIN_SUBMISSION"; - case Domain.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -export interface ScanCriteria { - key: string; - operator?: Operator | undefined; - value?: any; -} - -export interface ScanRequest { - nextToken?: string | undefined; - scanCriteria: ScanCriteria[]; -} - -export interface ScanResult { - nextToken?: string | undefined; - items: { [key: string]: any }[]; -} - -export interface CreateResult { - kind?: { $case: "integerId"; integerId: number } | { $case: "stringId"; stringId: string }; -} - -export interface LookupCriteria { - key: string; - value?: any; -} - -export interface GoogleProtobufTypesPlaceholder { - timestamp?: string; -} - -function createBaseScanCriteria(): ScanCriteria { - return { key: "", operator: undefined, value: undefined }; -} - -export const ScanCriteria = { - encode(message: ScanCriteria, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.key !== "") { - writer.uint32(10).string(message.key); - } - if (message.operator !== undefined) { - writer.uint32(16).int32(message.operator); - } - if (message.value !== undefined) { - Value.encode(Value.wrap(message.value), writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ScanCriteria { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseScanCriteria(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.operator = reader.int32() as any; - break; - case 3: - message.value = Value.unwrap(Value.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ScanCriteria { - return { - key: isSet(object.key) ? String(object.key) : "", - operator: isSet(object.operator) ? operatorFromJSON(object.operator) : undefined, - value: isSet(object?.value) ? object.value : undefined, - }; - }, - - toJSON(message: ScanCriteria): unknown { - const obj: any = {}; - message.key !== undefined && (obj.key = message.key); - message.operator !== undefined && - (obj.operator = message.operator !== undefined ? operatorToJSON(message.operator) : undefined); - message.value !== undefined && (obj.value = message.value); - return obj; - }, - - create, I>>(base?: I): ScanCriteria { - return ScanCriteria.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ScanCriteria { - const message = createBaseScanCriteria(); - message.key = object.key ?? ""; - message.operator = object.operator ?? undefined; - message.value = object.value ?? undefined; - return message; - }, -}; - -function createBaseScanRequest(): ScanRequest { - return { nextToken: undefined, scanCriteria: [] }; -} - -export const ScanRequest = { - encode(message: ScanRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.nextToken !== undefined) { - writer.uint32(10).string(message.nextToken); - } - for (const v of message.scanCriteria) { - ScanCriteria.encode(v!, writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ScanRequest { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseScanRequest(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.nextToken = reader.string(); - break; - case 2: - message.scanCriteria.push(ScanCriteria.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ScanRequest { - return { - nextToken: isSet(object.nextToken) ? String(object.nextToken) : undefined, - scanCriteria: Array.isArray(object?.scanCriteria) - ? object.scanCriteria.map((e: any) => ScanCriteria.fromJSON(e)) - : [], - }; - }, - - toJSON(message: ScanRequest): unknown { - const obj: any = {}; - message.nextToken !== undefined && (obj.nextToken = message.nextToken); - if (message.scanCriteria) { - obj.scanCriteria = message.scanCriteria.map((e) => e ? ScanCriteria.toJSON(e) : undefined); - } else { - obj.scanCriteria = []; - } - return obj; - }, - - create, I>>(base?: I): ScanRequest { - return ScanRequest.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ScanRequest { - const message = createBaseScanRequest(); - message.nextToken = object.nextToken ?? undefined; - message.scanCriteria = object.scanCriteria?.map((e) => ScanCriteria.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseScanResult(): ScanResult { - return { nextToken: undefined, items: [] }; -} - -export const ScanResult = { - encode(message: ScanResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.nextToken !== undefined) { - writer.uint32(10).string(message.nextToken); - } - for (const v of message.items) { - Struct.encode(Struct.wrap(v!), writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ScanResult { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseScanResult(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.nextToken = reader.string(); - break; - case 2: - message.items.push(Struct.unwrap(Struct.decode(reader, reader.uint32()))); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ScanResult { - return { - nextToken: isSet(object.nextToken) ? String(object.nextToken) : undefined, - items: Array.isArray(object?.items) ? [...object.items] : [], - }; - }, - - toJSON(message: ScanResult): unknown { - const obj: any = {}; - message.nextToken !== undefined && (obj.nextToken = message.nextToken); - if (message.items) { - obj.items = message.items.map((e) => e); - } else { - obj.items = []; - } - return obj; - }, - - create, I>>(base?: I): ScanResult { - return ScanResult.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ScanResult { - const message = createBaseScanResult(); - message.nextToken = object.nextToken ?? undefined; - message.items = object.items?.map((e) => e) || []; - return message; - }, -}; - -function createBaseCreateResult(): CreateResult { - return { kind: undefined }; -} - -export const CreateResult = { - encode(message: CreateResult, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "integerId") { - writer.uint32(8).int64(message.kind.integerId); - } - if (message.kind?.$case === "stringId") { - writer.uint32(18).string(message.kind.stringId); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): CreateResult { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCreateResult(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "integerId", integerId: longToNumber(reader.int64() as Long) }; - break; - case 2: - message.kind = { $case: "stringId", stringId: reader.string() }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): CreateResult { - return { - kind: isSet(object.integerId) - ? { $case: "integerId", integerId: Number(object.integerId) } - : isSet(object.stringId) - ? { $case: "stringId", stringId: String(object.stringId) } - : undefined, - }; - }, - - toJSON(message: CreateResult): unknown { - const obj: any = {}; - message.kind?.$case === "integerId" && (obj.integerId = Math.round(message.kind?.integerId)); - message.kind?.$case === "stringId" && (obj.stringId = message.kind?.stringId); - return obj; - }, - - create, I>>(base?: I): CreateResult { - return CreateResult.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): CreateResult { - const message = createBaseCreateResult(); - if (object.kind?.$case === "integerId" && object.kind?.integerId !== undefined && object.kind?.integerId !== null) { - message.kind = { $case: "integerId", integerId: object.kind.integerId }; - } - if (object.kind?.$case === "stringId" && object.kind?.stringId !== undefined && object.kind?.stringId !== null) { - message.kind = { $case: "stringId", stringId: object.kind.stringId }; - } - return message; - }, -}; - -function createBaseLookupCriteria(): LookupCriteria { - return { key: "", value: undefined }; -} - -export const LookupCriteria = { - encode(message: LookupCriteria, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.key !== "") { - writer.uint32(10).string(message.key); - } - if (message.value !== undefined) { - Value.encode(Value.wrap(message.value), writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): LookupCriteria { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseLookupCriteria(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 3: - message.value = Value.unwrap(Value.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): LookupCriteria { - return { key: isSet(object.key) ? String(object.key) : "", value: isSet(object?.value) ? object.value : undefined }; - }, - - toJSON(message: LookupCriteria): unknown { - const obj: any = {}; - message.key !== undefined && (obj.key = message.key); - message.value !== undefined && (obj.value = message.value); - return obj; - }, - - create, I>>(base?: I): LookupCriteria { - return LookupCriteria.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): LookupCriteria { - const message = createBaseLookupCriteria(); - message.key = object.key ?? ""; - message.value = object.value ?? undefined; - return message; - }, -}; - -function createBaseGoogleProtobufTypesPlaceholder(): GoogleProtobufTypesPlaceholder { - return { timestamp: undefined }; -} - -export const GoogleProtobufTypesPlaceholder = { - encode(message: GoogleProtobufTypesPlaceholder, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.timestamp !== undefined) { - Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): GoogleProtobufTypesPlaceholder { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGoogleProtobufTypesPlaceholder(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): GoogleProtobufTypesPlaceholder { - return { timestamp: isSet(object.timestamp) ? String(object.timestamp) : undefined }; - }, - - toJSON(message: GoogleProtobufTypesPlaceholder): unknown { - const obj: any = {}; - message.timestamp !== undefined && (obj.timestamp = message.timestamp); - return obj; - }, - - create, I>>(base?: I): GoogleProtobufTypesPlaceholder { - return GoogleProtobufTypesPlaceholder.fromPartial(base ?? {}); - }, - - fromPartial, I>>( - object: I, - ): GoogleProtobufTypesPlaceholder { - const message = createBaseGoogleProtobufTypesPlaceholder(); - message.timestamp = object.timestamp ?? undefined; - return message; - }, -}; - -declare var self: any | undefined; -declare var window: any | undefined; -declare var global: any | undefined; -var tsProtoGlobalThis: any = (() => { - if (typeof globalThis !== "undefined") { - return globalThis; - } - if (typeof self !== "undefined") { - return self; - } - if (typeof window !== "undefined") { - return window; - } - if (typeof global !== "undefined") { - return global; - } - throw "Unable to locate global object"; -})(); - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function toTimestamp(dateStr: string): Timestamp { - const date = new Date(dateStr); - const seconds = date.getTime() / 1_000; - const nanos = (date.getTime() % 1_000) * 1_000_000; - return { seconds, nanos }; -} - -function fromTimestamp(t: Timestamp): string { - let millis = t.seconds * 1_000; - millis += t.nanos / 1_000_000; - return new Date(millis).toISOString(); -} - -function longToNumber(long: Long): number { - if (long.gt(Number.MAX_SAFE_INTEGER)) { - throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); - } - return long.toNumber(); -} - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/models/domain-layer/legacy/legacy_challenge.ts b/src/models/domain-layer/legacy/challenge.ts similarity index 100% rename from src/models/domain-layer/legacy/legacy_challenge.ts rename to src/models/domain-layer/legacy/challenge.ts diff --git a/src/models/domain-layer/legacy/legacy_challenge_phase.ts b/src/models/domain-layer/legacy/challenge_phase.ts similarity index 96% rename from src/models/domain-layer/legacy/legacy_challenge_phase.ts rename to src/models/domain-layer/legacy/challenge_phase.ts index 1772027..85dccc5 100644 --- a/src/models/domain-layer/legacy/legacy_challenge_phase.ts +++ b/src/models/domain-layer/legacy/challenge_phase.ts @@ -37,7 +37,7 @@ export interface PhaseTypeList { items: PhaseType[]; } -export interface CreateLegacyChallengePhaseInput { +export interface CreatePhaseInput { projectId: number; phaseTypeId: number; phaseStatusId: number; @@ -463,7 +463,7 @@ export const PhaseTypeList = { }, }; -function createBaseCreateLegacyChallengePhaseInput(): CreateLegacyChallengePhaseInput { +function createBaseCreatePhaseInput(): CreatePhaseInput { return { projectId: 0, phaseTypeId: 0, @@ -479,8 +479,8 @@ function createBaseCreateLegacyChallengePhaseInput(): CreateLegacyChallengePhase }; } -export const CreateLegacyChallengePhaseInput = { - encode(message: CreateLegacyChallengePhaseInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { +export const CreatePhaseInput = { + encode(message: CreatePhaseInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.projectId !== 0) { writer.uint32(8).int64(message.projectId); } @@ -517,10 +517,10 @@ export const CreateLegacyChallengePhaseInput = { return writer; }, - decode(input: _m0.Reader | Uint8Array, length?: number): CreateLegacyChallengePhaseInput { + decode(input: _m0.Reader | Uint8Array, length?: number): CreatePhaseInput { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCreateLegacyChallengePhaseInput(); + const message = createBaseCreatePhaseInput(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { @@ -565,7 +565,7 @@ export const CreateLegacyChallengePhaseInput = { return message; }, - fromJSON(object: any): CreateLegacyChallengePhaseInput { + fromJSON(object: any): CreatePhaseInput { return { projectId: isSet(object.projectId) ? Number(object.projectId) : 0, phaseTypeId: isSet(object.phaseTypeId) ? Number(object.phaseTypeId) : 0, @@ -581,7 +581,7 @@ export const CreateLegacyChallengePhaseInput = { }; }, - toJSON(message: CreateLegacyChallengePhaseInput): unknown { + toJSON(message: CreatePhaseInput): unknown { const obj: any = {}; message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); message.phaseTypeId !== undefined && (obj.phaseTypeId = Math.round(message.phaseTypeId)); @@ -597,14 +597,12 @@ export const CreateLegacyChallengePhaseInput = { return obj; }, - create, I>>(base?: I): CreateLegacyChallengePhaseInput { - return CreateLegacyChallengePhaseInput.fromPartial(base ?? {}); + create, I>>(base?: I): CreatePhaseInput { + return CreatePhaseInput.fromPartial(base ?? {}); }, - fromPartial, I>>( - object: I, - ): CreateLegacyChallengePhaseInput { - const message = createBaseCreateLegacyChallengePhaseInput(); + fromPartial, I>>(object: I): CreatePhaseInput { + const message = createBaseCreatePhaseInput(); message.projectId = object.projectId ?? 0; message.phaseTypeId = object.phaseTypeId ?? 0; message.phaseStatusId = object.phaseStatusId ?? 0; diff --git a/src/models/domain-layer/legacy/services/legacy_challenge.ts b/src/models/domain-layer/legacy/services/challenge.ts similarity index 84% rename from src/models/domain-layer/legacy/services/legacy_challenge.ts rename to src/models/domain-layer/legacy/services/challenge.ts index 55c0642..ac3a79c 100644 --- a/src/models/domain-layer/legacy/services/legacy_challenge.ts +++ b/src/models/domain-layer/legacy/services/challenge.ts @@ -1,12 +1,12 @@ /* eslint-disable */ import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; -import { LookupCriteria } from "../../../common/common"; -import { CheckChallengeExistsResponse, LegacyChallengeId, LegacyChallengeList } from "../legacy_challenge"; +import { LookupCriteria } from "@topcoder-framework/lib-common"; +import { CheckChallengeExistsResponse, LegacyChallengeId, LegacyChallengeList } from "../challenge"; export type LegacyChallengeService = typeof LegacyChallengeService; export const LegacyChallengeService = { checkChallengeExists: { - path: "/topcoder.domain.legacy_challenge_service.LegacyChallenge/CheckChallengeExists", + path: "/topcoder.domain.challenge_service.LegacyChallenge/CheckChallengeExists", requestStream: false, responseStream: false, requestSerialize: (value: LegacyChallengeId) => Buffer.from(LegacyChallengeId.encode(value).finish()), @@ -16,7 +16,7 @@ export const LegacyChallengeService = { responseDeserialize: (value: Buffer) => CheckChallengeExistsResponse.decode(value), }, lookup: { - path: "/topcoder.domain.legacy_challenge_service.LegacyChallenge/Lookup", + path: "/topcoder.domain.challenge_service.LegacyChallenge/Lookup", requestStream: false, responseStream: false, requestSerialize: (value: LookupCriteria) => Buffer.from(LookupCriteria.encode(value).finish()), diff --git a/src/models/domain-layer/legacy/services/legacy_challenge_phase.ts b/src/models/domain-layer/legacy/services/challenge_phase.ts similarity index 59% rename from src/models/domain-layer/legacy/services/legacy_challenge_phase.ts rename to src/models/domain-layer/legacy/services/challenge_phase.ts index 0bc01e1..d75c8b1 100644 --- a/src/models/domain-layer/legacy/services/legacy_challenge_phase.ts +++ b/src/models/domain-layer/legacy/services/challenge_phase.ts @@ -1,23 +1,21 @@ /* eslint-disable */ import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; -import { CreateResult } from "../../../common/common"; -import { Empty } from "../../../google/protobuf/empty"; -import { CreateLegacyChallengePhaseInput, PhaseTypeList } from "../legacy_challenge_phase"; +import { CreateResult, Empty } from "@topcoder-framework/lib-common"; +import { CreatePhaseInput, PhaseTypeList } from "../challenge_phase"; export type LegacyChallengePhaseService = typeof LegacyChallengePhaseService; export const LegacyChallengePhaseService = { create: { - path: "/topcoder.domain.legacy_challenge_phase_service.LegacyChallengePhase/Create", + path: "/topcoder.domain.challenge_phase_service.LegacyChallengePhase/Create", requestStream: false, responseStream: false, - requestSerialize: (value: CreateLegacyChallengePhaseInput) => - Buffer.from(CreateLegacyChallengePhaseInput.encode(value).finish()), - requestDeserialize: (value: Buffer) => CreateLegacyChallengePhaseInput.decode(value), + requestSerialize: (value: CreatePhaseInput) => Buffer.from(CreatePhaseInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => CreatePhaseInput.decode(value), responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), responseDeserialize: (value: Buffer) => CreateResult.decode(value), }, getPhaseTypes: { - path: "/topcoder.domain.legacy_challenge_phase_service.LegacyChallengePhase/GetPhaseTypes", + path: "/topcoder.domain.challenge_phase_service.LegacyChallengePhase/GetPhaseTypes", requestStream: false, responseStream: false, requestSerialize: (value: Empty) => Buffer.from(Empty.encode(value).finish()), @@ -28,6 +26,6 @@ export const LegacyChallengePhaseService = { } as const; export interface LegacyChallengePhaseServer extends UntypedServiceImplementation { - create: handleUnaryCall; + create: handleUnaryCall; getPhaseTypes: handleUnaryCall; } diff --git a/src/models/google/protobuf/empty.ts b/src/models/google/protobuf/empty.ts deleted file mode 100644 index f9606d3..0000000 --- a/src/models/google/protobuf/empty.ts +++ /dev/null @@ -1,69 +0,0 @@ -/* eslint-disable */ -import _m0 from "protobufjs/minimal"; - -/** - * A generic empty message that you can re-use to avoid defining duplicated - * empty messages in your APIs. A typical example is to use it as the request - * or the response type of an API method. For instance: - * - * service Foo { - * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); - * } - */ -export interface Empty { -} - -function createBaseEmpty(): Empty { - return {}; -} - -export const Empty = { - encode(_: Empty, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Empty { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEmpty(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(_: any): Empty { - return {}; - }, - - toJSON(_: Empty): unknown { - const obj: any = {}; - return obj; - }, - - create, I>>(base?: I): Empty { - return Empty.fromPartial(base ?? {}); - }, - - fromPartial, I>>(_: I): Empty { - const message = createBaseEmpty(); - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; diff --git a/src/models/google/protobuf/struct.ts b/src/models/google/protobuf/struct.ts deleted file mode 100644 index f456694..0000000 --- a/src/models/google/protobuf/struct.ts +++ /dev/null @@ -1,491 +0,0 @@ -/* eslint-disable */ -import _m0 from "protobufjs/minimal"; - -/** - * `NullValue` is a singleton enumeration to represent the null value for the - * `Value` type union. - * - * The JSON representation for `NullValue` is JSON `null`. - */ -export enum NullValue { - /** NULL_VALUE - Null value. */ - NULL_VALUE = 0, - UNRECOGNIZED = -1, -} - -export function nullValueFromJSON(object: any): NullValue { - switch (object) { - case 0: - case "NULL_VALUE": - return NullValue.NULL_VALUE; - case -1: - case "UNRECOGNIZED": - default: - return NullValue.UNRECOGNIZED; - } -} - -export function nullValueToJSON(object: NullValue): string { - switch (object) { - case NullValue.NULL_VALUE: - return "NULL_VALUE"; - case NullValue.UNRECOGNIZED: - default: - return "UNRECOGNIZED"; - } -} - -/** - * `Struct` represents a structured data value, consisting of fields - * which map to dynamically typed values. In some languages, `Struct` - * might be supported by a native representation. For example, in - * scripting languages like JS a struct is represented as an - * object. The details of that representation are described together - * with the proto support for the language. - * - * The JSON representation for `Struct` is JSON object. - */ -export interface Struct { - /** Unordered map of dynamically typed values. */ - fields: { [key: string]: any }; -} - -export interface Struct_FieldsEntry { - key: string; - value?: any; -} - -/** - * `Value` represents a dynamically typed value which can be either - * null, a number, a string, a boolean, a recursive struct value, or a - * list of values. A producer of value is expected to set one of these - * variants. Absence of any variant indicates an error. - * - * The JSON representation for `Value` is JSON value. - */ -export interface Value { - kind?: - | { $case: "nullValue"; nullValue: NullValue } - | { $case: "numberValue"; numberValue: number } - | { $case: "stringValue"; stringValue: string } - | { $case: "boolValue"; boolValue: boolean } - | { $case: "structValue"; structValue: { [key: string]: any } } - | { $case: "listValue"; listValue: Array }; -} - -/** - * `ListValue` is a wrapper around a repeated field of values. - * - * The JSON representation for `ListValue` is JSON array. - */ -export interface ListValue { - /** Repeated field of dynamically typed values. */ - values: any[]; -} - -function createBaseStruct(): Struct { - return { fields: {} }; -} - -export const Struct = { - encode(message: Struct, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - Object.entries(message.fields).forEach(([key, value]) => { - if (value !== undefined) { - Struct_FieldsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).ldelim(); - } - }); - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Struct { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseStruct(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - const entry1 = Struct_FieldsEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.fields[entry1.key] = entry1.value; - } - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Struct { - return { - fields: isObject(object.fields) - ? Object.entries(object.fields).reduce<{ [key: string]: any }>((acc, [key, value]) => { - acc[key] = value as any; - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: Struct): unknown { - const obj: any = {}; - obj.fields = {}; - if (message.fields) { - Object.entries(message.fields).forEach(([k, v]) => { - obj.fields[k] = v; - }); - } - return obj; - }, - - create, I>>(base?: I): Struct { - return Struct.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Struct { - const message = createBaseStruct(); - message.fields = Object.entries(object.fields ?? {}).reduce<{ [key: string]: any }>((acc, [key, value]) => { - if (value !== undefined) { - acc[key] = value; - } - return acc; - }, {}); - return message; - }, - - wrap(object: { [key: string]: any } | undefined): Struct { - const struct = createBaseStruct(); - if (object !== undefined) { - Object.keys(object).forEach((key) => { - struct.fields[key] = object[key]; - }); - } - return struct; - }, - - unwrap(message: Struct): { [key: string]: any } { - const object: { [key: string]: any } = {}; - Object.keys(message.fields).forEach((key) => { - object[key] = message.fields[key]; - }); - return object; - }, -}; - -function createBaseStruct_FieldsEntry(): Struct_FieldsEntry { - return { key: "", value: undefined }; -} - -export const Struct_FieldsEntry = { - encode(message: Struct_FieldsEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.key !== "") { - writer.uint32(10).string(message.key); - } - if (message.value !== undefined) { - Value.encode(Value.wrap(message.value), writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Struct_FieldsEntry { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseStruct_FieldsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = Value.unwrap(Value.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Struct_FieldsEntry { - return { key: isSet(object.key) ? String(object.key) : "", value: isSet(object?.value) ? object.value : undefined }; - }, - - toJSON(message: Struct_FieldsEntry): unknown { - const obj: any = {}; - message.key !== undefined && (obj.key = message.key); - message.value !== undefined && (obj.value = message.value); - return obj; - }, - - create, I>>(base?: I): Struct_FieldsEntry { - return Struct_FieldsEntry.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Struct_FieldsEntry { - const message = createBaseStruct_FieldsEntry(); - message.key = object.key ?? ""; - message.value = object.value ?? undefined; - return message; - }, -}; - -function createBaseValue(): Value { - return { kind: undefined }; -} - -export const Value = { - encode(message: Value, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.kind?.$case === "nullValue") { - writer.uint32(8).int32(message.kind.nullValue); - } - if (message.kind?.$case === "numberValue") { - writer.uint32(17).double(message.kind.numberValue); - } - if (message.kind?.$case === "stringValue") { - writer.uint32(26).string(message.kind.stringValue); - } - if (message.kind?.$case === "boolValue") { - writer.uint32(32).bool(message.kind.boolValue); - } - if (message.kind?.$case === "structValue") { - Struct.encode(Struct.wrap(message.kind.structValue), writer.uint32(42).fork()).ldelim(); - } - if (message.kind?.$case === "listValue") { - ListValue.encode(ListValue.wrap(message.kind.listValue), writer.uint32(50).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Value { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseValue(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.kind = { $case: "nullValue", nullValue: reader.int32() as any }; - break; - case 2: - message.kind = { $case: "numberValue", numberValue: reader.double() }; - break; - case 3: - message.kind = { $case: "stringValue", stringValue: reader.string() }; - break; - case 4: - message.kind = { $case: "boolValue", boolValue: reader.bool() }; - break; - case 5: - message.kind = { $case: "structValue", structValue: Struct.unwrap(Struct.decode(reader, reader.uint32())) }; - break; - case 6: - message.kind = { $case: "listValue", listValue: ListValue.unwrap(ListValue.decode(reader, reader.uint32())) }; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Value { - return { - kind: isSet(object.nullValue) - ? { $case: "nullValue", nullValue: nullValueFromJSON(object.nullValue) } - : isSet(object.numberValue) - ? { $case: "numberValue", numberValue: Number(object.numberValue) } - : isSet(object.stringValue) - ? { $case: "stringValue", stringValue: String(object.stringValue) } - : isSet(object.boolValue) - ? { $case: "boolValue", boolValue: Boolean(object.boolValue) } - : isSet(object.structValue) - ? { $case: "structValue", structValue: object.structValue } - : isSet(object.listValue) - ? { $case: "listValue", listValue: [...object.listValue] } - : undefined, - }; - }, - - toJSON(message: Value): unknown { - const obj: any = {}; - message.kind?.$case === "nullValue" && - (obj.nullValue = message.kind?.nullValue !== undefined ? nullValueToJSON(message.kind?.nullValue) : undefined); - message.kind?.$case === "numberValue" && (obj.numberValue = message.kind?.numberValue); - message.kind?.$case === "stringValue" && (obj.stringValue = message.kind?.stringValue); - message.kind?.$case === "boolValue" && (obj.boolValue = message.kind?.boolValue); - message.kind?.$case === "structValue" && (obj.structValue = message.kind?.structValue); - message.kind?.$case === "listValue" && (obj.listValue = message.kind?.listValue); - return obj; - }, - - create, I>>(base?: I): Value { - return Value.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Value { - const message = createBaseValue(); - if (object.kind?.$case === "nullValue" && object.kind?.nullValue !== undefined && object.kind?.nullValue !== null) { - message.kind = { $case: "nullValue", nullValue: object.kind.nullValue }; - } - if ( - object.kind?.$case === "numberValue" && - object.kind?.numberValue !== undefined && - object.kind?.numberValue !== null - ) { - message.kind = { $case: "numberValue", numberValue: object.kind.numberValue }; - } - if ( - object.kind?.$case === "stringValue" && - object.kind?.stringValue !== undefined && - object.kind?.stringValue !== null - ) { - message.kind = { $case: "stringValue", stringValue: object.kind.stringValue }; - } - if (object.kind?.$case === "boolValue" && object.kind?.boolValue !== undefined && object.kind?.boolValue !== null) { - message.kind = { $case: "boolValue", boolValue: object.kind.boolValue }; - } - if ( - object.kind?.$case === "structValue" && - object.kind?.structValue !== undefined && - object.kind?.structValue !== null - ) { - message.kind = { $case: "structValue", structValue: object.kind.structValue }; - } - if (object.kind?.$case === "listValue" && object.kind?.listValue !== undefined && object.kind?.listValue !== null) { - message.kind = { $case: "listValue", listValue: object.kind.listValue }; - } - return message; - }, - - wrap(value: any): Value { - const result = createBaseValue(); - - if (value === null) { - result.kind = { $case: "nullValue", nullValue: NullValue.NULL_VALUE }; - } else if (typeof value === "boolean") { - result.kind = { $case: "boolValue", boolValue: value }; - } else if (typeof value === "number") { - result.kind = { $case: "numberValue", numberValue: value }; - } else if (typeof value === "string") { - result.kind = { $case: "stringValue", stringValue: value }; - } else if (Array.isArray(value)) { - result.kind = { $case: "listValue", listValue: value }; - } else if (typeof value === "object") { - result.kind = { $case: "structValue", structValue: value }; - } else if (typeof value !== "undefined") { - throw new Error("Unsupported any value type: " + typeof value); - } - - return result; - }, - - unwrap(message: Value): string | number | boolean | Object | null | Array | undefined { - if (message.kind?.$case === "nullValue") { - return null; - } else if (message.kind?.$case === "numberValue") { - return message.kind?.numberValue; - } else if (message.kind?.$case === "stringValue") { - return message.kind?.stringValue; - } else if (message.kind?.$case === "boolValue") { - return message.kind?.boolValue; - } else if (message.kind?.$case === "structValue") { - return message.kind?.structValue; - } else if (message.kind?.$case === "listValue") { - return message.kind?.listValue; - } else { - return undefined; - } - }, -}; - -function createBaseListValue(): ListValue { - return { values: [] }; -} - -export const ListValue = { - encode(message: ListValue, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.values) { - Value.encode(Value.wrap(v!), writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ListValue { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseListValue(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.values.push(Value.unwrap(Value.decode(reader, reader.uint32()))); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ListValue { - return { values: Array.isArray(object?.values) ? [...object.values] : [] }; - }, - - toJSON(message: ListValue): unknown { - const obj: any = {}; - if (message.values) { - obj.values = message.values.map((e) => e); - } else { - obj.values = []; - } - return obj; - }, - - create, I>>(base?: I): ListValue { - return ListValue.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ListValue { - const message = createBaseListValue(); - message.values = object.values?.map((e) => e) || []; - return message; - }, - - wrap(value: Array | undefined): ListValue { - const result = createBaseListValue(); - - result.values = value ?? []; - - return result; - }, - - unwrap(message: ListValue): Array { - return message.values; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/models/google/protobuf/timestamp.ts b/src/models/google/protobuf/timestamp.ts deleted file mode 100644 index bffe482..0000000 --- a/src/models/google/protobuf/timestamp.ts +++ /dev/null @@ -1,219 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -/** - * A Timestamp represents a point in time independent of any time zone or local - * calendar, encoded as a count of seconds and fractions of seconds at - * nanosecond resolution. The count is relative to an epoch at UTC midnight on - * January 1, 1970, in the proleptic Gregorian calendar which extends the - * Gregorian calendar backwards to year one. - * - * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - * second table is needed for interpretation, using a [24-hour linear - * smear](https://developers.google.com/time/smear). - * - * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By - * restricting to that range, we ensure that we can convert to and from [RFC - * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. - * - * # Examples - * - * Example 1: Compute Timestamp from POSIX `time()`. - * - * Timestamp timestamp; - * timestamp.set_seconds(time(NULL)); - * timestamp.set_nanos(0); - * - * Example 2: Compute Timestamp from POSIX `gettimeofday()`. - * - * struct timeval tv; - * gettimeofday(&tv, NULL); - * - * Timestamp timestamp; - * timestamp.set_seconds(tv.tv_sec); - * timestamp.set_nanos(tv.tv_usec * 1000); - * - * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - * - * FILETIME ft; - * GetSystemTimeAsFileTime(&ft); - * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - * - * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z - * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. - * Timestamp timestamp; - * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); - * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); - * - * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - * - * long millis = System.currentTimeMillis(); - * - * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - * .setNanos((int) ((millis % 1000) * 1000000)).build(); - * - * Example 5: Compute Timestamp from Java `Instant.now()`. - * - * Instant now = Instant.now(); - * - * Timestamp timestamp = - * Timestamp.newBuilder().setSeconds(now.getEpochSecond()) - * .setNanos(now.getNano()).build(); - * - * Example 6: Compute Timestamp from current time in Python. - * - * timestamp = Timestamp() - * timestamp.GetCurrentTime() - * - * # JSON Mapping - * - * In JSON format, the Timestamp type is encoded as a string in the - * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the - * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" - * where {year} is always expressed using four digits while {month}, {day}, - * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional - * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), - * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - * is required. A proto3 JSON serializer should always use UTC (as indicated by - * "Z") when printing the Timestamp type and a proto3 JSON parser should be - * able to accept both UTC and other timezones (as indicated by an offset). - * - * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past - * 01:30 UTC on January 15, 2017. - * - * In JavaScript, one can convert a Date object to this format using the - * standard - * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) - * method. In Python, a standard `datetime.datetime` object can be converted - * to this format using - * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with - * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use - * the Joda Time's [`ISODateTimeFormat.dateTime()`]( - * http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D - * ) to obtain a formatter capable of generating timestamps in this format. - */ -export interface Timestamp { - /** - * Represents seconds of UTC time since Unix epoch - * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - * 9999-12-31T23:59:59Z inclusive. - */ - seconds: number; - /** - * Non-negative fractions of a second at nanosecond resolution. Negative - * second values with fractions must still have non-negative nanos values - * that count forward in time. Must be from 0 to 999,999,999 - * inclusive. - */ - nanos: number; -} - -function createBaseTimestamp(): Timestamp { - return { seconds: 0, nanos: 0 }; -} - -export const Timestamp = { - encode(message: Timestamp, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.seconds !== 0) { - writer.uint32(8).int64(message.seconds); - } - if (message.nanos !== 0) { - writer.uint32(16).int32(message.nanos); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Timestamp { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTimestamp(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.seconds = longToNumber(reader.int64() as Long); - break; - case 2: - message.nanos = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Timestamp { - return { - seconds: isSet(object.seconds) ? Number(object.seconds) : 0, - nanos: isSet(object.nanos) ? Number(object.nanos) : 0, - }; - }, - - toJSON(message: Timestamp): unknown { - const obj: any = {}; - message.seconds !== undefined && (obj.seconds = Math.round(message.seconds)); - message.nanos !== undefined && (obj.nanos = Math.round(message.nanos)); - return obj; - }, - - create, I>>(base?: I): Timestamp { - return Timestamp.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Timestamp { - const message = createBaseTimestamp(); - message.seconds = object.seconds ?? 0; - message.nanos = object.nanos ?? 0; - return message; - }, -}; - -declare var self: any | undefined; -declare var window: any | undefined; -declare var global: any | undefined; -var tsProtoGlobalThis: any = (() => { - if (typeof globalThis !== "undefined") { - return globalThis; - } - if (typeof self !== "undefined") { - return self; - } - if (typeof window !== "undefined") { - return window; - } - if (typeof global !== "undefined") { - return global; - } - throw "Unable to locate global object"; -})(); - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function longToNumber(long: Long): number { - if (long.gt(Number.MAX_SAFE_INTEGER)) { - throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); - } - return long.toNumber(); -} - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/schema/common/AuditColumns.ts b/src/schema/common/AuditColumns.ts index 8542c7c..c115b40 100644 --- a/src/schema/common/AuditColumns.ts +++ b/src/schema/common/AuditColumns.ts @@ -1,5 +1,5 @@ +import { ColumnType } from "@topcoder-framework/client-relational"; import { TableColumns } from "../../common/TableColumn"; -import { ColumnType } from "../../grpc/models/rdb/relational"; export const AuditColumns: TableColumns = { createUser: { name: "create_user", type: ColumnType.COLUMN_TYPE_INT }, diff --git a/src/service/LegacyChallenge.ts b/src/service/LegacyChallenge.ts index 18e13e9..f7a3106 100644 --- a/src/service/LegacyChallenge.ts +++ b/src/service/LegacyChallenge.ts @@ -1,18 +1,18 @@ import { handleUnaryCall, sendUnaryData, ServerUnaryCall, UntypedHandleCall } from "@grpc/grpc-js"; -import { LookupCriteria } from "../models/common/common"; import { CheckChallengeExistsResponse, LegacyChallengeId, LegacyChallengeList, -} from "../models/domain-layer/legacy/legacy_challenge"; +} from "../models/domain-layer/legacy/challenge"; import { LegacyChallengeService, LegacyChallengeServer, -} from "../models/domain-layer/legacy/services/legacy_challenge"; +} from "../models/domain-layer/legacy/services/challenge"; import LegacyChallengeDomain from "../domain/LegacyChallenge"; +import { LookupCriteria } from "@topcoder-framework/lib-common"; class LegacyChallengeServerImpl implements LegacyChallengeServer { [name: string]: UntypedHandleCall; diff --git a/src/service/LegacyChallengePhase.ts b/src/service/LegacyChallengePhase.ts index 4766b4c..33d99af 100644 --- a/src/service/LegacyChallengePhase.ts +++ b/src/service/LegacyChallengePhase.ts @@ -1,17 +1,14 @@ import { handleUnaryCall, sendUnaryData, ServerUnaryCall, UntypedHandleCall } from "@grpc/grpc-js"; -import { PhaseTypeList } from "../models/domain-layer/legacy/legacy_challenge_phase"; +import { CreatePhaseInput, PhaseTypeList } from "../models/domain-layer/legacy/challenge_phase"; import { - CreatePhaseInput, - CreateResult, LegacyChallengePhaseServer, LegacyChallengePhaseService, -} from "../models/domain-layer/legacy/services/legacy_challenge_phase"; +} from "../models/domain-layer/legacy/services/challenge_phase"; import LegacyChallengePhaseDomain from "../domain/LegacyChallengePhase"; - -import { Empty } from "../models/google/protobuf/empty"; +import { CreateResult, Empty } from "@topcoder-framework/lib-common"; class LegacyChallengePhaseServerImpl implements LegacyChallengePhaseServer { [name: string]: UntypedHandleCall; @@ -25,7 +22,7 @@ class LegacyChallengePhaseServerImpl implements LegacyChallengePhaseServer { }; getPhaseTypes: handleUnaryCall = async ( - _call: ServerUnaryCall, + call: ServerUnaryCall, callback: sendUnaryData ) => { const phaseTypes = await LegacyChallengePhaseDomain.getPhaseTypes(); diff --git a/tsconfig.json b/tsconfig.json index 44103d6..45077d1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,10 +10,6 @@ "forceConsistentCasingInFileNames": true }, "include": ["typings/global.d.ts", "src/**/*"], - "exclude": ["node_modules", "src/models", "src/grpc/models/nosql"], - "references": [ - { "path": "src/models" }, - { "path": "src/grpc/models/nosql" }, - { "path": "src/grpc/models/rdb" } - ] + "exclude": ["node_modules", "src/models"], + "references": [{ "path": "src/models" }] } diff --git a/yarn.lock b/yarn.lock index b87a845..aadff25 100644 --- a/yarn.lock +++ b/yarn.lock @@ -117,7 +117,7 @@ topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.10" tslib "^2.4.1" -"@topcoder-framework/lib-common@0.4.23-ci.0": +"@topcoder-framework/lib-common@0.4.23-ci.0", "@topcoder-framework/lib-common@^0.4.23-ci.0": version "0.4.23-ci.0" resolved "http://localhost:4873/@topcoder-framework%2flib-common/-/lib-common-0.4.23-ci.0.tgz#b2728bc27fca017cca5982b53eebcdfb90e04acc" integrity sha512-t3uvwmr5qE2VKcil9XMzh+0Z0lGihdltojhX8Cq4zqpeJHK9zrgBhU1WFXlPwBjNu3RglI5qaeTwvENE6ktR6w== From 4df2104cf5145bdbc85e0c5495709d540c8c9b79 Mon Sep 17 00:00:00 2001 From: Rakib Ansary Date: Sat, 4 Feb 2023 03:03:32 +0600 Subject: [PATCH 5/6] feat: add type information to schema --- src/common/QueryRunner.ts | 18 +- src/common/TableColumn.ts | 4 +- src/domain/LegacyChallenge.ts | 6 +- src/domain/LegacyChallengePhase.ts | 6 +- src/domain/Prize.ts | 85 +++ src/models/domain-layer/legacy/challenge.ts | 77 +++ .../domain-layer/legacy/challenge_payment.ts | 197 +++++++ .../legacy/challenge_payment_adjustment.ts | 190 +++++++ .../legacy/challenge_payment_type.ts | 115 ++++ .../domain-layer/legacy/challenge_status.ts | 167 ++++++ src/models/domain-layer/legacy/phase_type.ts | 167 ++++++ src/models/domain-layer/legacy/prize.ts | 492 ++++++++++++++++++ src/models/domain-layer/legacy/resource.ts | 197 +++++++ .../domain-layer/legacy/resource_info.ts | 175 +++++++ .../domain-layer/legacy/resource_info_type.ts | 175 +++++++ .../domain-layer/legacy/resource_role.ts | 186 +++++++ .../legacy/resource_submission.ts | 157 ++++++ .../domain-layer/legacy/services/challenge.ts | 23 +- .../domain-layer/legacy/services/prize.ts | 41 ++ src/schema/common/AuditColumns.ts | 11 +- src/schema/project/PhaseType.ts | 3 +- src/schema/project/Project.ts | 7 +- src/schema/project/ProjectPhase.ts | 7 +- src/schema/project/ProjectStatus.ts | 3 +- src/schema/project_payment/Prize.ts | 10 +- src/schema/project_payment/PrizeType.ts | 5 +- src/schema/project_payment/ProjectPayment.ts | 5 +- .../ProjectPaymentAdjustment.ts | 5 +- .../project_payment/ProjectPaymentType.ts | 6 +- src/schema/resource/Resource.ts | 5 +- src/schema/resource/ResourceInfo.ts | 5 +- src/schema/resource/ResourceInfoType.ts | 5 +- src/schema/resource/ResourceRole.ts | 5 +- src/schema/resource/ResourceSubmission.ts | 5 +- src/server.ts | 3 + src/service/LegacyChallenge.ts | 14 +- src/service/Prize.ts | 44 ++ 37 files changed, 2574 insertions(+), 52 deletions(-) create mode 100644 src/domain/Prize.ts create mode 100644 src/models/domain-layer/legacy/challenge_payment.ts create mode 100644 src/models/domain-layer/legacy/challenge_payment_adjustment.ts create mode 100644 src/models/domain-layer/legacy/challenge_payment_type.ts create mode 100644 src/models/domain-layer/legacy/challenge_status.ts create mode 100644 src/models/domain-layer/legacy/phase_type.ts create mode 100644 src/models/domain-layer/legacy/prize.ts create mode 100644 src/models/domain-layer/legacy/resource.ts create mode 100644 src/models/domain-layer/legacy/resource_info.ts create mode 100644 src/models/domain-layer/legacy/resource_info_type.ts create mode 100644 src/models/domain-layer/legacy/resource_role.ts create mode 100644 src/models/domain-layer/legacy/resource_submission.ts create mode 100644 src/models/domain-layer/legacy/services/prize.ts create mode 100644 src/service/Prize.ts diff --git a/src/common/QueryRunner.ts b/src/common/QueryRunner.ts index de0d7d5..c202eb3 100644 --- a/src/common/QueryRunner.ts +++ b/src/common/QueryRunner.ts @@ -10,13 +10,13 @@ import { } from "@topcoder-framework/client-relational"; import { TableColumn, TableColumns } from "./TableColumn"; -export type Schema = { +export type Schema> = { dbSchema: string; tableName: string; idColumn?: string; idSequence?: string; idTable?: string; - columns: TableColumns; + columns: TableColumns; }; interface ExecuteSqlQuery { @@ -51,7 +51,7 @@ export interface InsertQuery { } export interface UpdateQuery { - update(lookupCriteria: { [key: string]: unknown }, input: UpdateInput): ExecuteSqlQuery; + update(lookupCriteria: Record, input: UpdateInput): ExecuteSqlQuery; } export interface DeleteQuery { @@ -59,9 +59,9 @@ export interface DeleteQuery { } export class QueryRunner< - T, - CreateInput extends { [key: string]: unknown }, - UpdateInput extends { [key: string]: unknown } + T extends Record, + CreateInput extends Record, + UpdateInput extends Record > implements SelectQuery, JoinClause, @@ -76,7 +76,7 @@ export class QueryRunner< #query: Query | null = null; #client: RelationalClient; - constructor(private schema: Schema) { + constructor(private schema: Schema) { console.log("Connecting to GRPC server at", GRPC_RDB_SERVER_HOST, GRPC_RDB_SERVER_PORT, "..."); this.#client = new RelationalClient(GRPC_RDB_SERVER_HOST!, parseInt(GRPC_RDB_SERVER_PORT!)); } @@ -167,7 +167,7 @@ export class QueryRunner< ...Object.entries(input) .filter(([_key, value]) => value !== undefined) .map(([key, value]) => ({ - column: this.schema.columns[key].name, + column: this.schema.columns[key]?.name ?? key, value: this.toValue(key, value), })), ], @@ -206,7 +206,7 @@ export class QueryRunner< throw new Error("Unexpected result type"); } return queryResponse.result.selectResult.rows.map((row) => { - return row as T; + return row as unknown as T; }); case "insert": if (queryResponse.result?.$case != "insertResult") { diff --git a/src/common/TableColumn.ts b/src/common/TableColumn.ts index 82f2a62..4289ae7 100644 --- a/src/common/TableColumn.ts +++ b/src/common/TableColumn.ts @@ -5,6 +5,6 @@ export type TableColumn = { type: ColumnType; }; -export type TableColumns = { - [key: string]: TableColumn; +export type TableColumns> = { + [Property in keyof T]: TableColumn; }; diff --git a/src/domain/LegacyChallenge.ts b/src/domain/LegacyChallenge.ts index 2306c28..5fd5717 100644 --- a/src/domain/LegacyChallenge.ts +++ b/src/domain/LegacyChallenge.ts @@ -2,14 +2,14 @@ import { ColumnType, Operator, QueryRequest } from "@topcoder-framework/client-r import { Value } from "@topcoder-framework/lib-common"; import { QueryRunner } from "../common/QueryRunner"; import { CheckChallengeExistsResponse } from "../models/domain-layer/legacy/challenge"; -import { Project } from "../schema/project/Project"; +import { ProjectSchema } from "../schema/project/Project"; class LegacyChallengeDomain { public async checkChallengeExists( legacyChallengeId: number ): Promise { - const challenges = (await new QueryRunner(Project) - .select([Project.columns.projectId]) + const challenges = (await new QueryRunner(ProjectSchema) + .select([ProjectSchema.columns.projectId]) .where({ key: "project_id", operator: Operator.OPERATOR_EQUAL, diff --git a/src/domain/LegacyChallengePhase.ts b/src/domain/LegacyChallengePhase.ts index 7a82dc2..f335f11 100644 --- a/src/domain/LegacyChallengePhase.ts +++ b/src/domain/LegacyChallengePhase.ts @@ -1,7 +1,7 @@ import { QueryRunner } from "../common/QueryRunner"; import { Value } from "@topcoder-framework/client-relational"; import { CreatePhaseInput, PhaseTypeList } from "../models/domain-layer/legacy/challenge_phase"; -import { PhaseType } from "../schema/project/PhaseType"; +import { PhaseTypeSchema } from "../schema/project/PhaseType"; import { ProjectPhaseSchema } from "../schema/project/ProjectPhase"; import { CreateResult } from "@topcoder-framework/lib-common"; @@ -26,8 +26,8 @@ class LegacyChallengePhaseDomain { } public async getPhaseTypes(): Promise { - const projectPhases = (await new QueryRunner(PhaseType) - .select([PhaseType.columns.phaseTypeId, PhaseType.columns.name]) + const projectPhases = (await new QueryRunner(PhaseTypeSchema) + .select([PhaseTypeSchema.columns.phaseTypeId, PhaseTypeSchema.columns.name]) .limit(500) .offset(0) .exec()) as [ diff --git a/src/domain/Prize.ts b/src/domain/Prize.ts new file mode 100644 index 0000000..db27fa8 --- /dev/null +++ b/src/domain/Prize.ts @@ -0,0 +1,85 @@ +import { CreateResult, ScanCriteria, Value } from "@topcoder-framework/lib-common"; +import { QueryRunner } from "../common/QueryRunner"; +import { CreatePrizeInput, Prize, PrizeList } from "../models/domain-layer/legacy/prize"; +import { PrizeSchema } from "../schema/project_payment/Prize"; + +class PrizeDomain { + public async create(input: CreatePrizeInput): Promise { + const createInput: Partial = { + ...input, + createUser: 22838965, // tcwebservice | TODO: Get using grpc interceptor + modifyUser: 22838965, // tcwebservice | TODO: Get using grpc interceptor + }; + + const prizeId = (await new QueryRunner(PrizeSchema).insert(createInput).exec()) as number; + return { + kind: { + $case: "integerId", + integerId: prizeId, + }, + }; + } + + public async scan(criteria: ScanCriteria): Promise { + const prizes = (await new QueryRunner(PrizeSchema) + .select([ + PrizeSchema.columns.prizeId, + PrizeSchema.columns.prizeTypeId, + PrizeSchema.columns.prizeAmount, + PrizeSchema.columns.place, + PrizeSchema.columns.numberOfSubmissions, + PrizeSchema.columns.projectId, + PrizeSchema.columns.createDate, + PrizeSchema.columns.createUser, + PrizeSchema.columns.modifyDate, + PrizeSchema.columns.modifyUser, + ]) + .limit(10) + .offset(0) + .exec()) as [ + { + values: { + prize_id: Value; + prize_type_id: number; + prize_amount: Value; + place: number; + number_of_submissions: number; + prize_description: string; + project_id: number; + create_date: number; + create_user: number; + modify_date: number; + modify_user: number; + }; + } + ]; + + console.log("prizes", prizes); + + const list: PrizeList = { + prizes: prizes.map(({ values }) => { + return { + prizeId: + values.prize_id.kind?.$case === "numberValue" ? values.prize_id.kind.numberValue : 12, + prizeTypeId: values.prize_type_id, + prizeAmount: + values.prize_amount.kind?.$case === "numberValue" + ? values.prize_amount.kind.numberValue + : 12, + place: values.place, + numberOfSubmissions: values.number_of_submissions, + prizeDescription: values.prize_description, + projectId: values.project_id, + createDate: values.create_date, + createUser: values.create_user, + modifyDate: values.modify_date, + modifyUser: values.modify_user, + }; + }), + }; + + return list; + } +} + +export default new PrizeDomain(); diff --git a/src/models/domain-layer/legacy/challenge.ts b/src/models/domain-layer/legacy/challenge.ts index b0e3dcb..47f7f6f 100644 --- a/src/models/domain-layer/legacy/challenge.ts +++ b/src/models/domain-layer/legacy/challenge.ts @@ -25,6 +25,12 @@ export interface CheckChallengeExistsResponse { exists: boolean; } +export interface CreateChallengeInput { + projectStatusId: number; + projectCategoryId: number; + tcDirectProjectId: number; +} + function createBaseLegacyChallenge(): LegacyChallenge { return { projectId: 0, @@ -311,6 +317,77 @@ export const CheckChallengeExistsResponse = { }, }; +function createBaseCreateChallengeInput(): CreateChallengeInput { + return { projectStatusId: 0, projectCategoryId: 0, tcDirectProjectId: 0 }; +} + +export const CreateChallengeInput = { + encode(message: CreateChallengeInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.projectStatusId !== 0) { + writer.uint32(8).int32(message.projectStatusId); + } + if (message.projectCategoryId !== 0) { + writer.uint32(16).int32(message.projectCategoryId); + } + if (message.tcDirectProjectId !== 0) { + writer.uint32(24).int64(message.tcDirectProjectId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CreateChallengeInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateChallengeInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.projectStatusId = reader.int32(); + break; + case 2: + message.projectCategoryId = reader.int32(); + break; + case 3: + message.tcDirectProjectId = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): CreateChallengeInput { + return { + projectStatusId: isSet(object.projectStatusId) ? Number(object.projectStatusId) : 0, + projectCategoryId: isSet(object.projectCategoryId) ? Number(object.projectCategoryId) : 0, + tcDirectProjectId: isSet(object.tcDirectProjectId) ? Number(object.tcDirectProjectId) : 0, + }; + }, + + toJSON(message: CreateChallengeInput): unknown { + const obj: any = {}; + message.projectStatusId !== undefined && (obj.projectStatusId = Math.round(message.projectStatusId)); + message.projectCategoryId !== undefined && (obj.projectCategoryId = Math.round(message.projectCategoryId)); + message.tcDirectProjectId !== undefined && (obj.tcDirectProjectId = Math.round(message.tcDirectProjectId)); + return obj; + }, + + create, I>>(base?: I): CreateChallengeInput { + return CreateChallengeInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CreateChallengeInput { + const message = createBaseCreateChallengeInput(); + message.projectStatusId = object.projectStatusId ?? 0; + message.projectCategoryId = object.projectCategoryId ?? 0; + message.tcDirectProjectId = object.tcDirectProjectId ?? 0; + return message; + }, +}; + declare var self: any | undefined; declare var window: any | undefined; declare var global: any | undefined; diff --git a/src/models/domain-layer/legacy/challenge_payment.ts b/src/models/domain-layer/legacy/challenge_payment.ts new file mode 100644 index 0000000..3c54c8f --- /dev/null +++ b/src/models/domain-layer/legacy/challenge_payment.ts @@ -0,0 +1,197 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface LegacyChallengePayment { + place: number; + prizeId: number; + projectId: number; + prizeTypeId: number; + prizeAmount: number; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; +} + +function createBaseLegacyChallengePayment(): LegacyChallengePayment { + return { + place: 0, + prizeId: 0, + projectId: 0, + prizeTypeId: 0, + prizeAmount: 0, + createUser: 0, + createDate: 0, + modifyUser: 0, + modifyDate: 0, + }; +} + +export const LegacyChallengePayment = { + encode(message: LegacyChallengePayment, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.place !== 0) { + writer.uint32(8).int32(message.place); + } + if (message.prizeId !== 0) { + writer.uint32(16).int32(message.prizeId); + } + if (message.projectId !== 0) { + writer.uint32(24).int32(message.projectId); + } + if (message.prizeTypeId !== 0) { + writer.uint32(32).int32(message.prizeTypeId); + } + if (message.prizeAmount !== 0) { + writer.uint32(45).float(message.prizeAmount); + } + if (message.createUser !== 0) { + writer.uint32(48).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(56).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(64).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(72).int64(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): LegacyChallengePayment { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLegacyChallengePayment(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.place = reader.int32(); + break; + case 2: + message.prizeId = reader.int32(); + break; + case 3: + message.projectId = reader.int32(); + break; + case 4: + message.prizeTypeId = reader.int32(); + break; + case 5: + message.prizeAmount = reader.float(); + break; + case 6: + message.createUser = reader.int32(); + break; + case 7: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 8: + message.modifyUser = reader.int32(); + break; + case 9: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): LegacyChallengePayment { + return { + place: isSet(object.place) ? Number(object.place) : 0, + prizeId: isSet(object.prizeId) ? Number(object.prizeId) : 0, + projectId: isSet(object.projectId) ? Number(object.projectId) : 0, + prizeTypeId: isSet(object.prizeTypeId) ? Number(object.prizeTypeId) : 0, + prizeAmount: isSet(object.prizeAmount) ? Number(object.prizeAmount) : 0, + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: LegacyChallengePayment): unknown { + const obj: any = {}; + message.place !== undefined && (obj.place = Math.round(message.place)); + message.prizeId !== undefined && (obj.prizeId = Math.round(message.prizeId)); + message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); + message.prizeTypeId !== undefined && (obj.prizeTypeId = Math.round(message.prizeTypeId)); + message.prizeAmount !== undefined && (obj.prizeAmount = message.prizeAmount); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>(base?: I): LegacyChallengePayment { + return LegacyChallengePayment.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): LegacyChallengePayment { + const message = createBaseLegacyChallengePayment(); + message.place = object.place ?? 0; + message.prizeId = object.prizeId ?? 0; + message.projectId = object.projectId ?? 0; + message.prizeTypeId = object.prizeTypeId ?? 0; + message.prizeAmount = object.prizeAmount ?? 0; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/challenge_payment_adjustment.ts b/src/models/domain-layer/legacy/challenge_payment_adjustment.ts new file mode 100644 index 0000000..ddc6d05 --- /dev/null +++ b/src/models/domain-layer/legacy/challenge_payment_adjustment.ts @@ -0,0 +1,190 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface LegacyChallengePaymentAdjustment { + projectId: number; + resourceRoleId: number; + multiplier: number; + fixedAmount: number; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; +} + +function createBaseLegacyChallengePaymentAdjustment(): LegacyChallengePaymentAdjustment { + return { + projectId: 0, + resourceRoleId: 0, + multiplier: 0, + fixedAmount: 0, + createUser: 0, + createDate: 0, + modifyUser: 0, + modifyDate: 0, + }; +} + +export const LegacyChallengePaymentAdjustment = { + encode(message: LegacyChallengePaymentAdjustment, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.projectId !== 0) { + writer.uint32(8).int32(message.projectId); + } + if (message.resourceRoleId !== 0) { + writer.uint32(16).int32(message.resourceRoleId); + } + if (message.multiplier !== 0) { + writer.uint32(24).int32(message.multiplier); + } + if (message.fixedAmount !== 0) { + writer.uint32(37).float(message.fixedAmount); + } + if (message.createUser !== 0) { + writer.uint32(40).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(48).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(56).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(64).int64(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): LegacyChallengePaymentAdjustment { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLegacyChallengePaymentAdjustment(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.projectId = reader.int32(); + break; + case 2: + message.resourceRoleId = reader.int32(); + break; + case 3: + message.multiplier = reader.int32(); + break; + case 4: + message.fixedAmount = reader.float(); + break; + case 5: + message.createUser = reader.int32(); + break; + case 6: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 7: + message.modifyUser = reader.int32(); + break; + case 8: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): LegacyChallengePaymentAdjustment { + return { + projectId: isSet(object.projectId) ? Number(object.projectId) : 0, + resourceRoleId: isSet(object.resourceRoleId) ? Number(object.resourceRoleId) : 0, + multiplier: isSet(object.multiplier) ? Number(object.multiplier) : 0, + fixedAmount: isSet(object.fixedAmount) ? Number(object.fixedAmount) : 0, + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: LegacyChallengePaymentAdjustment): unknown { + const obj: any = {}; + message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); + message.resourceRoleId !== undefined && (obj.resourceRoleId = Math.round(message.resourceRoleId)); + message.multiplier !== undefined && (obj.multiplier = Math.round(message.multiplier)); + message.fixedAmount !== undefined && (obj.fixedAmount = message.fixedAmount); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>( + base?: I, + ): LegacyChallengePaymentAdjustment { + return LegacyChallengePaymentAdjustment.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): LegacyChallengePaymentAdjustment { + const message = createBaseLegacyChallengePaymentAdjustment(); + message.projectId = object.projectId ?? 0; + message.resourceRoleId = object.resourceRoleId ?? 0; + message.multiplier = object.multiplier ?? 0; + message.fixedAmount = object.fixedAmount ?? 0; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/challenge_payment_type.ts b/src/models/domain-layer/legacy/challenge_payment_type.ts new file mode 100644 index 0000000..1e65de8 --- /dev/null +++ b/src/models/domain-layer/legacy/challenge_payment_type.ts @@ -0,0 +1,115 @@ +/* eslint-disable */ +import _m0 from "protobufjs/minimal"; + +export interface LegacyChallengePaymentType { + projectId: number; + name: string; + multiplier: number; + mergeable: boolean; + pactsPaymentTypeId: number; +} + +function createBaseLegacyChallengePaymentType(): LegacyChallengePaymentType { + return { projectId: 0, name: "", multiplier: 0, mergeable: false, pactsPaymentTypeId: 0 }; +} + +export const LegacyChallengePaymentType = { + encode(message: LegacyChallengePaymentType, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.projectId !== 0) { + writer.uint32(8).int32(message.projectId); + } + if (message.name !== "") { + writer.uint32(18).string(message.name); + } + if (message.multiplier !== 0) { + writer.uint32(24).int32(message.multiplier); + } + if (message.mergeable === true) { + writer.uint32(32).bool(message.mergeable); + } + if (message.pactsPaymentTypeId !== 0) { + writer.uint32(40).int32(message.pactsPaymentTypeId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): LegacyChallengePaymentType { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLegacyChallengePaymentType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.projectId = reader.int32(); + break; + case 2: + message.name = reader.string(); + break; + case 3: + message.multiplier = reader.int32(); + break; + case 4: + message.mergeable = reader.bool(); + break; + case 5: + message.pactsPaymentTypeId = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): LegacyChallengePaymentType { + return { + projectId: isSet(object.projectId) ? Number(object.projectId) : 0, + name: isSet(object.name) ? String(object.name) : "", + multiplier: isSet(object.multiplier) ? Number(object.multiplier) : 0, + mergeable: isSet(object.mergeable) ? Boolean(object.mergeable) : false, + pactsPaymentTypeId: isSet(object.pactsPaymentTypeId) ? Number(object.pactsPaymentTypeId) : 0, + }; + }, + + toJSON(message: LegacyChallengePaymentType): unknown { + const obj: any = {}; + message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); + message.name !== undefined && (obj.name = message.name); + message.multiplier !== undefined && (obj.multiplier = Math.round(message.multiplier)); + message.mergeable !== undefined && (obj.mergeable = message.mergeable); + message.pactsPaymentTypeId !== undefined && (obj.pactsPaymentTypeId = Math.round(message.pactsPaymentTypeId)); + return obj; + }, + + create, I>>(base?: I): LegacyChallengePaymentType { + return LegacyChallengePaymentType.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): LegacyChallengePaymentType { + const message = createBaseLegacyChallengePaymentType(); + message.projectId = object.projectId ?? 0; + message.name = object.name ?? ""; + message.multiplier = object.multiplier ?? 0; + message.mergeable = object.mergeable ?? false; + message.pactsPaymentTypeId = object.pactsPaymentTypeId ?? 0; + return message; + }, +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/challenge_status.ts b/src/models/domain-layer/legacy/challenge_status.ts new file mode 100644 index 0000000..8b5270b --- /dev/null +++ b/src/models/domain-layer/legacy/challenge_status.ts @@ -0,0 +1,167 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface LegacyChallengeStatus { + name: number; + description: string; + projectStatusId: number; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; +} + +function createBaseLegacyChallengeStatus(): LegacyChallengeStatus { + return { name: 0, description: "", projectStatusId: 0, createUser: 0, createDate: 0, modifyUser: 0, modifyDate: 0 }; +} + +export const LegacyChallengeStatus = { + encode(message: LegacyChallengeStatus, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== 0) { + writer.uint32(8).int32(message.name); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.projectStatusId !== 0) { + writer.uint32(29).float(message.projectStatusId); + } + if (message.createUser !== 0) { + writer.uint32(32).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(40).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(48).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(56).int64(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): LegacyChallengeStatus { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLegacyChallengeStatus(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.int32(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.projectStatusId = reader.float(); + break; + case 4: + message.createUser = reader.int32(); + break; + case 5: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 6: + message.modifyUser = reader.int32(); + break; + case 7: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): LegacyChallengeStatus { + return { + name: isSet(object.name) ? Number(object.name) : 0, + description: isSet(object.description) ? String(object.description) : "", + projectStatusId: isSet(object.projectStatusId) ? Number(object.projectStatusId) : 0, + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: LegacyChallengeStatus): unknown { + const obj: any = {}; + message.name !== undefined && (obj.name = Math.round(message.name)); + message.description !== undefined && (obj.description = message.description); + message.projectStatusId !== undefined && (obj.projectStatusId = message.projectStatusId); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>(base?: I): LegacyChallengeStatus { + return LegacyChallengeStatus.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): LegacyChallengeStatus { + const message = createBaseLegacyChallengeStatus(); + message.name = object.name ?? 0; + message.description = object.description ?? ""; + message.projectStatusId = object.projectStatusId ?? 0; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/phase_type.ts b/src/models/domain-layer/legacy/phase_type.ts new file mode 100644 index 0000000..f307513 --- /dev/null +++ b/src/models/domain-layer/legacy/phase_type.ts @@ -0,0 +1,167 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface LegacyPhaseType { + name: number; + phaseTypeId: number; + description: string; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; +} + +function createBaseLegacyPhaseType(): LegacyPhaseType { + return { name: 0, phaseTypeId: 0, description: "", createUser: 0, createDate: 0, modifyUser: 0, modifyDate: 0 }; +} + +export const LegacyPhaseType = { + encode(message: LegacyPhaseType, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== 0) { + writer.uint32(8).int32(message.name); + } + if (message.phaseTypeId !== 0) { + writer.uint32(16).int32(message.phaseTypeId); + } + if (message.description !== "") { + writer.uint32(26).string(message.description); + } + if (message.createUser !== 0) { + writer.uint32(32).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(40).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(48).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(56).int64(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): LegacyPhaseType { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLegacyPhaseType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.int32(); + break; + case 2: + message.phaseTypeId = reader.int32(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.createUser = reader.int32(); + break; + case 5: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 6: + message.modifyUser = reader.int32(); + break; + case 7: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): LegacyPhaseType { + return { + name: isSet(object.name) ? Number(object.name) : 0, + phaseTypeId: isSet(object.phaseTypeId) ? Number(object.phaseTypeId) : 0, + description: isSet(object.description) ? String(object.description) : "", + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: LegacyPhaseType): unknown { + const obj: any = {}; + message.name !== undefined && (obj.name = Math.round(message.name)); + message.phaseTypeId !== undefined && (obj.phaseTypeId = Math.round(message.phaseTypeId)); + message.description !== undefined && (obj.description = message.description); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>(base?: I): LegacyPhaseType { + return LegacyPhaseType.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): LegacyPhaseType { + const message = createBaseLegacyPhaseType(); + message.name = object.name ?? 0; + message.phaseTypeId = object.phaseTypeId ?? 0; + message.description = object.description ?? ""; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/prize.ts b/src/models/domain-layer/legacy/prize.ts new file mode 100644 index 0000000..b047174 --- /dev/null +++ b/src/models/domain-layer/legacy/prize.ts @@ -0,0 +1,492 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface Prize { + prizeId: number; + place: number; + prizeAmount: number; + prizeTypeId: number; + numberOfSubmissions: number; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; + projectId: number; +} + +export interface PrizeType { + prizeTypeId: number; + prizeTypeDesc: string; +} + +export interface PrizeList { + prizes: Prize[]; +} + +export interface PrizeTypeList { + prizeTypes: PrizeType[]; +} + +export interface CreatePrizeInput { + place: number; + prizeAmount: number; + prizeTypeId: number; + numberOfSubmissions?: number | undefined; + projectId: number; +} + +function createBasePrize(): Prize { + return { + prizeId: 0, + place: 0, + prizeAmount: 0, + prizeTypeId: 0, + numberOfSubmissions: 0, + createUser: 0, + createDate: 0, + modifyUser: 0, + modifyDate: 0, + projectId: 0, + }; +} + +export const Prize = { + encode(message: Prize, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.prizeId !== 0) { + writer.uint32(8).int32(message.prizeId); + } + if (message.place !== 0) { + writer.uint32(16).int32(message.place); + } + if (message.prizeAmount !== 0) { + writer.uint32(29).float(message.prizeAmount); + } + if (message.prizeTypeId !== 0) { + writer.uint32(32).int32(message.prizeTypeId); + } + if (message.numberOfSubmissions !== 0) { + writer.uint32(40).int32(message.numberOfSubmissions); + } + if (message.createUser !== 0) { + writer.uint32(48).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(56).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(64).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(72).int64(message.modifyDate); + } + if (message.projectId !== 0) { + writer.uint32(80).int32(message.projectId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Prize { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrize(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.prizeId = reader.int32(); + break; + case 2: + message.place = reader.int32(); + break; + case 3: + message.prizeAmount = reader.float(); + break; + case 4: + message.prizeTypeId = reader.int32(); + break; + case 5: + message.numberOfSubmissions = reader.int32(); + break; + case 6: + message.createUser = reader.int32(); + break; + case 7: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 8: + message.modifyUser = reader.int32(); + break; + case 9: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + case 10: + message.projectId = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): Prize { + return { + prizeId: isSet(object.prizeId) ? Number(object.prizeId) : 0, + place: isSet(object.place) ? Number(object.place) : 0, + prizeAmount: isSet(object.prizeAmount) ? Number(object.prizeAmount) : 0, + prizeTypeId: isSet(object.prizeTypeId) ? Number(object.prizeTypeId) : 0, + numberOfSubmissions: isSet(object.numberOfSubmissions) ? Number(object.numberOfSubmissions) : 0, + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + projectId: isSet(object.projectId) ? Number(object.projectId) : 0, + }; + }, + + toJSON(message: Prize): unknown { + const obj: any = {}; + message.prizeId !== undefined && (obj.prizeId = Math.round(message.prizeId)); + message.place !== undefined && (obj.place = Math.round(message.place)); + message.prizeAmount !== undefined && (obj.prizeAmount = message.prizeAmount); + message.prizeTypeId !== undefined && (obj.prizeTypeId = Math.round(message.prizeTypeId)); + message.numberOfSubmissions !== undefined && (obj.numberOfSubmissions = Math.round(message.numberOfSubmissions)); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); + return obj; + }, + + create, I>>(base?: I): Prize { + return Prize.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Prize { + const message = createBasePrize(); + message.prizeId = object.prizeId ?? 0; + message.place = object.place ?? 0; + message.prizeAmount = object.prizeAmount ?? 0; + message.prizeTypeId = object.prizeTypeId ?? 0; + message.numberOfSubmissions = object.numberOfSubmissions ?? 0; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + message.projectId = object.projectId ?? 0; + return message; + }, +}; + +function createBasePrizeType(): PrizeType { + return { prizeTypeId: 0, prizeTypeDesc: "" }; +} + +export const PrizeType = { + encode(message: PrizeType, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.prizeTypeId !== 0) { + writer.uint32(8).int32(message.prizeTypeId); + } + if (message.prizeTypeDesc !== "") { + writer.uint32(18).string(message.prizeTypeDesc); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PrizeType { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrizeType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.prizeTypeId = reader.int32(); + break; + case 2: + message.prizeTypeDesc = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): PrizeType { + return { + prizeTypeId: isSet(object.prizeTypeId) ? Number(object.prizeTypeId) : 0, + prizeTypeDesc: isSet(object.prizeTypeDesc) ? String(object.prizeTypeDesc) : "", + }; + }, + + toJSON(message: PrizeType): unknown { + const obj: any = {}; + message.prizeTypeId !== undefined && (obj.prizeTypeId = Math.round(message.prizeTypeId)); + message.prizeTypeDesc !== undefined && (obj.prizeTypeDesc = message.prizeTypeDesc); + return obj; + }, + + create, I>>(base?: I): PrizeType { + return PrizeType.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): PrizeType { + const message = createBasePrizeType(); + message.prizeTypeId = object.prizeTypeId ?? 0; + message.prizeTypeDesc = object.prizeTypeDesc ?? ""; + return message; + }, +}; + +function createBasePrizeList(): PrizeList { + return { prizes: [] }; +} + +export const PrizeList = { + encode(message: PrizeList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.prizes) { + Prize.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PrizeList { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrizeList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.prizes.push(Prize.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): PrizeList { + return { prizes: Array.isArray(object?.prizes) ? object.prizes.map((e: any) => Prize.fromJSON(e)) : [] }; + }, + + toJSON(message: PrizeList): unknown { + const obj: any = {}; + if (message.prizes) { + obj.prizes = message.prizes.map((e) => e ? Prize.toJSON(e) : undefined); + } else { + obj.prizes = []; + } + return obj; + }, + + create, I>>(base?: I): PrizeList { + return PrizeList.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): PrizeList { + const message = createBasePrizeList(); + message.prizes = object.prizes?.map((e) => Prize.fromPartial(e)) || []; + return message; + }, +}; + +function createBasePrizeTypeList(): PrizeTypeList { + return { prizeTypes: [] }; +} + +export const PrizeTypeList = { + encode(message: PrizeTypeList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.prizeTypes) { + PrizeType.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PrizeTypeList { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrizeTypeList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.prizeTypes.push(PrizeType.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): PrizeTypeList { + return { + prizeTypes: Array.isArray(object?.prizeTypes) ? object.prizeTypes.map((e: any) => PrizeType.fromJSON(e)) : [], + }; + }, + + toJSON(message: PrizeTypeList): unknown { + const obj: any = {}; + if (message.prizeTypes) { + obj.prizeTypes = message.prizeTypes.map((e) => e ? PrizeType.toJSON(e) : undefined); + } else { + obj.prizeTypes = []; + } + return obj; + }, + + create, I>>(base?: I): PrizeTypeList { + return PrizeTypeList.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): PrizeTypeList { + const message = createBasePrizeTypeList(); + message.prizeTypes = object.prizeTypes?.map((e) => PrizeType.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseCreatePrizeInput(): CreatePrizeInput { + return { place: 0, prizeAmount: 0, prizeTypeId: 0, numberOfSubmissions: undefined, projectId: 0 }; +} + +export const CreatePrizeInput = { + encode(message: CreatePrizeInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.place !== 0) { + writer.uint32(8).int32(message.place); + } + if (message.prizeAmount !== 0) { + writer.uint32(21).float(message.prizeAmount); + } + if (message.prizeTypeId !== 0) { + writer.uint32(24).int32(message.prizeTypeId); + } + if (message.numberOfSubmissions !== undefined) { + writer.uint32(32).int32(message.numberOfSubmissions); + } + if (message.projectId !== 0) { + writer.uint32(40).int32(message.projectId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CreatePrizeInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreatePrizeInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.place = reader.int32(); + break; + case 2: + message.prizeAmount = reader.float(); + break; + case 3: + message.prizeTypeId = reader.int32(); + break; + case 4: + message.numberOfSubmissions = reader.int32(); + break; + case 5: + message.projectId = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): CreatePrizeInput { + return { + place: isSet(object.place) ? Number(object.place) : 0, + prizeAmount: isSet(object.prizeAmount) ? Number(object.prizeAmount) : 0, + prizeTypeId: isSet(object.prizeTypeId) ? Number(object.prizeTypeId) : 0, + numberOfSubmissions: isSet(object.numberOfSubmissions) ? Number(object.numberOfSubmissions) : undefined, + projectId: isSet(object.projectId) ? Number(object.projectId) : 0, + }; + }, + + toJSON(message: CreatePrizeInput): unknown { + const obj: any = {}; + message.place !== undefined && (obj.place = Math.round(message.place)); + message.prizeAmount !== undefined && (obj.prizeAmount = message.prizeAmount); + message.prizeTypeId !== undefined && (obj.prizeTypeId = Math.round(message.prizeTypeId)); + message.numberOfSubmissions !== undefined && (obj.numberOfSubmissions = Math.round(message.numberOfSubmissions)); + message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); + return obj; + }, + + create, I>>(base?: I): CreatePrizeInput { + return CreatePrizeInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CreatePrizeInput { + const message = createBaseCreatePrizeInput(); + message.place = object.place ?? 0; + message.prizeAmount = object.prizeAmount ?? 0; + message.prizeTypeId = object.prizeTypeId ?? 0; + message.numberOfSubmissions = object.numberOfSubmissions ?? undefined; + message.projectId = object.projectId ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/resource.ts b/src/models/domain-layer/legacy/resource.ts new file mode 100644 index 0000000..4700eef --- /dev/null +++ b/src/models/domain-layer/legacy/resource.ts @@ -0,0 +1,197 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface Resource { + resourceId: number; + resourceRoleId: number; + projectId: number; + projectPhaseId: number; + userId: number; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; +} + +function createBaseResource(): Resource { + return { + resourceId: 0, + resourceRoleId: 0, + projectId: 0, + projectPhaseId: 0, + userId: 0, + createUser: 0, + createDate: 0, + modifyUser: 0, + modifyDate: 0, + }; +} + +export const Resource = { + encode(message: Resource, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.resourceId !== 0) { + writer.uint32(8).int32(message.resourceId); + } + if (message.resourceRoleId !== 0) { + writer.uint32(16).int32(message.resourceRoleId); + } + if (message.projectId !== 0) { + writer.uint32(24).int32(message.projectId); + } + if (message.projectPhaseId !== 0) { + writer.uint32(32).int32(message.projectPhaseId); + } + if (message.userId !== 0) { + writer.uint32(40).int32(message.userId); + } + if (message.createUser !== 0) { + writer.uint32(48).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(56).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(64).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(72).int64(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Resource { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResource(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.resourceId = reader.int32(); + break; + case 2: + message.resourceRoleId = reader.int32(); + break; + case 3: + message.projectId = reader.int32(); + break; + case 4: + message.projectPhaseId = reader.int32(); + break; + case 5: + message.userId = reader.int32(); + break; + case 6: + message.createUser = reader.int32(); + break; + case 7: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 8: + message.modifyUser = reader.int32(); + break; + case 9: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): Resource { + return { + resourceId: isSet(object.resourceId) ? Number(object.resourceId) : 0, + resourceRoleId: isSet(object.resourceRoleId) ? Number(object.resourceRoleId) : 0, + projectId: isSet(object.projectId) ? Number(object.projectId) : 0, + projectPhaseId: isSet(object.projectPhaseId) ? Number(object.projectPhaseId) : 0, + userId: isSet(object.userId) ? Number(object.userId) : 0, + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: Resource): unknown { + const obj: any = {}; + message.resourceId !== undefined && (obj.resourceId = Math.round(message.resourceId)); + message.resourceRoleId !== undefined && (obj.resourceRoleId = Math.round(message.resourceRoleId)); + message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); + message.projectPhaseId !== undefined && (obj.projectPhaseId = Math.round(message.projectPhaseId)); + message.userId !== undefined && (obj.userId = Math.round(message.userId)); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>(base?: I): Resource { + return Resource.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Resource { + const message = createBaseResource(); + message.resourceId = object.resourceId ?? 0; + message.resourceRoleId = object.resourceRoleId ?? 0; + message.projectId = object.projectId ?? 0; + message.projectPhaseId = object.projectPhaseId ?? 0; + message.userId = object.userId ?? 0; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/resource_info.ts b/src/models/domain-layer/legacy/resource_info.ts new file mode 100644 index 0000000..1517b1b --- /dev/null +++ b/src/models/domain-layer/legacy/resource_info.ts @@ -0,0 +1,175 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface ResourceInfo { + resourceId: number; + resourceInfoTypeId: number; + value: string; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; +} + +function createBaseResourceInfo(): ResourceInfo { + return { + resourceId: 0, + resourceInfoTypeId: 0, + value: "", + createUser: 0, + createDate: 0, + modifyUser: 0, + modifyDate: 0, + }; +} + +export const ResourceInfo = { + encode(message: ResourceInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.resourceId !== 0) { + writer.uint32(8).int32(message.resourceId); + } + if (message.resourceInfoTypeId !== 0) { + writer.uint32(16).int32(message.resourceInfoTypeId); + } + if (message.value !== "") { + writer.uint32(26).string(message.value); + } + if (message.createUser !== 0) { + writer.uint32(32).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(40).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(48).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(56).int64(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ResourceInfo { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResourceInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.resourceId = reader.int32(); + break; + case 2: + message.resourceInfoTypeId = reader.int32(); + break; + case 3: + message.value = reader.string(); + break; + case 4: + message.createUser = reader.int32(); + break; + case 5: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 6: + message.modifyUser = reader.int32(); + break; + case 7: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): ResourceInfo { + return { + resourceId: isSet(object.resourceId) ? Number(object.resourceId) : 0, + resourceInfoTypeId: isSet(object.resourceInfoTypeId) ? Number(object.resourceInfoTypeId) : 0, + value: isSet(object.value) ? String(object.value) : "", + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: ResourceInfo): unknown { + const obj: any = {}; + message.resourceId !== undefined && (obj.resourceId = Math.round(message.resourceId)); + message.resourceInfoTypeId !== undefined && (obj.resourceInfoTypeId = Math.round(message.resourceInfoTypeId)); + message.value !== undefined && (obj.value = message.value); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>(base?: I): ResourceInfo { + return ResourceInfo.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ResourceInfo { + const message = createBaseResourceInfo(); + message.resourceId = object.resourceId ?? 0; + message.resourceInfoTypeId = object.resourceInfoTypeId ?? 0; + message.value = object.value ?? ""; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/resource_info_type.ts b/src/models/domain-layer/legacy/resource_info_type.ts new file mode 100644 index 0000000..21f54f0 --- /dev/null +++ b/src/models/domain-layer/legacy/resource_info_type.ts @@ -0,0 +1,175 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface ResourceInfoType { + resourceInfoTypeId: number; + name: string; + description: string; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; +} + +function createBaseResourceInfoType(): ResourceInfoType { + return { + resourceInfoTypeId: 0, + name: "", + description: "", + createUser: 0, + createDate: 0, + modifyUser: 0, + modifyDate: 0, + }; +} + +export const ResourceInfoType = { + encode(message: ResourceInfoType, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.resourceInfoTypeId !== 0) { + writer.uint32(8).int32(message.resourceInfoTypeId); + } + if (message.name !== "") { + writer.uint32(18).string(message.name); + } + if (message.description !== "") { + writer.uint32(26).string(message.description); + } + if (message.createUser !== 0) { + writer.uint32(32).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(40).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(48).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(56).int64(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ResourceInfoType { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResourceInfoType(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.resourceInfoTypeId = reader.int32(); + break; + case 2: + message.name = reader.string(); + break; + case 3: + message.description = reader.string(); + break; + case 4: + message.createUser = reader.int32(); + break; + case 5: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 6: + message.modifyUser = reader.int32(); + break; + case 7: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): ResourceInfoType { + return { + resourceInfoTypeId: isSet(object.resourceInfoTypeId) ? Number(object.resourceInfoTypeId) : 0, + name: isSet(object.name) ? String(object.name) : "", + description: isSet(object.description) ? String(object.description) : "", + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: ResourceInfoType): unknown { + const obj: any = {}; + message.resourceInfoTypeId !== undefined && (obj.resourceInfoTypeId = Math.round(message.resourceInfoTypeId)); + message.name !== undefined && (obj.name = message.name); + message.description !== undefined && (obj.description = message.description); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>(base?: I): ResourceInfoType { + return ResourceInfoType.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ResourceInfoType { + const message = createBaseResourceInfoType(); + message.resourceInfoTypeId = object.resourceInfoTypeId ?? 0; + message.name = object.name ?? ""; + message.description = object.description ?? ""; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/resource_role.ts b/src/models/domain-layer/legacy/resource_role.ts new file mode 100644 index 0000000..60fb727 --- /dev/null +++ b/src/models/domain-layer/legacy/resource_role.ts @@ -0,0 +1,186 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface ResourceRole { + resourceRoleId: number; + phaseTypeId: number; + name: string; + description: string; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; +} + +function createBaseResourceRole(): ResourceRole { + return { + resourceRoleId: 0, + phaseTypeId: 0, + name: "", + description: "", + createUser: 0, + createDate: 0, + modifyUser: 0, + modifyDate: 0, + }; +} + +export const ResourceRole = { + encode(message: ResourceRole, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.resourceRoleId !== 0) { + writer.uint32(8).int32(message.resourceRoleId); + } + if (message.phaseTypeId !== 0) { + writer.uint32(16).int32(message.phaseTypeId); + } + if (message.name !== "") { + writer.uint32(26).string(message.name); + } + if (message.description !== "") { + writer.uint32(34).string(message.description); + } + if (message.createUser !== 0) { + writer.uint32(40).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(48).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(56).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(64).int64(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ResourceRole { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResourceRole(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.resourceRoleId = reader.int32(); + break; + case 2: + message.phaseTypeId = reader.int32(); + break; + case 3: + message.name = reader.string(); + break; + case 4: + message.description = reader.string(); + break; + case 5: + message.createUser = reader.int32(); + break; + case 6: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 7: + message.modifyUser = reader.int32(); + break; + case 8: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): ResourceRole { + return { + resourceRoleId: isSet(object.resourceRoleId) ? Number(object.resourceRoleId) : 0, + phaseTypeId: isSet(object.phaseTypeId) ? Number(object.phaseTypeId) : 0, + name: isSet(object.name) ? String(object.name) : "", + description: isSet(object.description) ? String(object.description) : "", + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: ResourceRole): unknown { + const obj: any = {}; + message.resourceRoleId !== undefined && (obj.resourceRoleId = Math.round(message.resourceRoleId)); + message.phaseTypeId !== undefined && (obj.phaseTypeId = Math.round(message.phaseTypeId)); + message.name !== undefined && (obj.name = message.name); + message.description !== undefined && (obj.description = message.description); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>(base?: I): ResourceRole { + return ResourceRole.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ResourceRole { + const message = createBaseResourceRole(); + message.resourceRoleId = object.resourceRoleId ?? 0; + message.phaseTypeId = object.phaseTypeId ?? 0; + message.name = object.name ?? ""; + message.description = object.description ?? ""; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/resource_submission.ts b/src/models/domain-layer/legacy/resource_submission.ts new file mode 100644 index 0000000..9e6fb74 --- /dev/null +++ b/src/models/domain-layer/legacy/resource_submission.ts @@ -0,0 +1,157 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface ResourceSubmission { + resourceId: number; + submissionId: number; + createUser: number; + createDate: number; + modifyUser: number; + modifyDate: number; +} + +function createBaseResourceSubmission(): ResourceSubmission { + return { resourceId: 0, submissionId: 0, createUser: 0, createDate: 0, modifyUser: 0, modifyDate: 0 }; +} + +export const ResourceSubmission = { + encode(message: ResourceSubmission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.resourceId !== 0) { + writer.uint32(8).int32(message.resourceId); + } + if (message.submissionId !== 0) { + writer.uint32(16).int32(message.submissionId); + } + if (message.createUser !== 0) { + writer.uint32(24).int32(message.createUser); + } + if (message.createDate !== 0) { + writer.uint32(32).int64(message.createDate); + } + if (message.modifyUser !== 0) { + writer.uint32(40).int32(message.modifyUser); + } + if (message.modifyDate !== 0) { + writer.uint32(48).int64(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ResourceSubmission { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResourceSubmission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.resourceId = reader.int32(); + break; + case 2: + message.submissionId = reader.int32(); + break; + case 3: + message.createUser = reader.int32(); + break; + case 4: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 5: + message.modifyUser = reader.int32(); + break; + case 6: + message.modifyDate = longToNumber(reader.int64() as Long); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): ResourceSubmission { + return { + resourceId: isSet(object.resourceId) ? Number(object.resourceId) : 0, + submissionId: isSet(object.submissionId) ? Number(object.submissionId) : 0, + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: ResourceSubmission): unknown { + const obj: any = {}; + message.resourceId !== undefined && (obj.resourceId = Math.round(message.resourceId)); + message.submissionId !== undefined && (obj.submissionId = Math.round(message.submissionId)); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>(base?: I): ResourceSubmission { + return ResourceSubmission.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ResourceSubmission { + const message = createBaseResourceSubmission(); + message.resourceId = object.resourceId ?? 0; + message.submissionId = object.submissionId ?? 0; + message.createUser = object.createUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> + : T extends { $case: string } ? { [K in keyof Omit]?: DeepPartial } & { $case: T["$case"] } + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +function longToNumber(long: Long): number { + if (long.gt(Number.MAX_SAFE_INTEGER)) { + throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + return long.toNumber(); +} + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/models/domain-layer/legacy/services/challenge.ts b/src/models/domain-layer/legacy/services/challenge.ts index ac3a79c..21feaf7 100644 --- a/src/models/domain-layer/legacy/services/challenge.ts +++ b/src/models/domain-layer/legacy/services/challenge.ts @@ -1,12 +1,17 @@ /* eslint-disable */ import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; -import { LookupCriteria } from "@topcoder-framework/lib-common"; -import { CheckChallengeExistsResponse, LegacyChallengeId, LegacyChallengeList } from "../challenge"; +import { CreateResult, LookupCriteria } from "@topcoder-framework/lib-common"; +import { + CheckChallengeExistsResponse, + CreateChallengeInput, + LegacyChallengeId, + LegacyChallengeList, +} from "../challenge"; export type LegacyChallengeService = typeof LegacyChallengeService; export const LegacyChallengeService = { checkChallengeExists: { - path: "/topcoder.domain.challenge_service.LegacyChallenge/CheckChallengeExists", + path: "/topcoder.domain.legacy_challenge_service.LegacyChallenge/CheckChallengeExists", requestStream: false, responseStream: false, requestSerialize: (value: LegacyChallengeId) => Buffer.from(LegacyChallengeId.encode(value).finish()), @@ -16,7 +21,7 @@ export const LegacyChallengeService = { responseDeserialize: (value: Buffer) => CheckChallengeExistsResponse.decode(value), }, lookup: { - path: "/topcoder.domain.challenge_service.LegacyChallenge/Lookup", + path: "/topcoder.domain.legacy_challenge_service.LegacyChallenge/Lookup", requestStream: false, responseStream: false, requestSerialize: (value: LookupCriteria) => Buffer.from(LookupCriteria.encode(value).finish()), @@ -24,9 +29,19 @@ export const LegacyChallengeService = { responseSerialize: (value: LegacyChallengeList) => Buffer.from(LegacyChallengeList.encode(value).finish()), responseDeserialize: (value: Buffer) => LegacyChallengeList.decode(value), }, + create: { + path: "/topcoder.domain.legacy_challenge_service.LegacyChallenge/Create", + requestStream: false, + responseStream: false, + requestSerialize: (value: CreateChallengeInput) => Buffer.from(CreateChallengeInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => CreateChallengeInput.decode(value), + responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => CreateResult.decode(value), + }, } as const; export interface LegacyChallengeServer extends UntypedServiceImplementation { checkChallengeExists: handleUnaryCall; lookup: handleUnaryCall; + create: handleUnaryCall; } diff --git a/src/models/domain-layer/legacy/services/prize.ts b/src/models/domain-layer/legacy/services/prize.ts new file mode 100644 index 0000000..943d396 --- /dev/null +++ b/src/models/domain-layer/legacy/services/prize.ts @@ -0,0 +1,41 @@ +/* eslint-disable */ +import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; +import { CreateResult, Empty, ScanCriteria } from "@topcoder-framework/lib-common"; +import { CreatePrizeInput, PrizeList, PrizeTypeList } from "../prize"; + +export type PrizeServiceService = typeof PrizeServiceService; +export const PrizeServiceService = { + create: { + path: "/topcoder.domain.prize_service.PrizeService/Create", + requestStream: false, + responseStream: false, + requestSerialize: (value: CreatePrizeInput) => Buffer.from(CreatePrizeInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => CreatePrizeInput.decode(value), + responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => CreateResult.decode(value), + }, + scan: { + path: "/topcoder.domain.prize_service.PrizeService/Scan", + requestStream: false, + responseStream: false, + requestSerialize: (value: ScanCriteria) => Buffer.from(ScanCriteria.encode(value).finish()), + requestDeserialize: (value: Buffer) => ScanCriteria.decode(value), + responseSerialize: (value: PrizeList) => Buffer.from(PrizeList.encode(value).finish()), + responseDeserialize: (value: Buffer) => PrizeList.decode(value), + }, + getPrizeTypes: { + path: "/topcoder.domain.prize_service.PrizeService/GetPrizeTypes", + requestStream: false, + responseStream: false, + requestSerialize: (value: Empty) => Buffer.from(Empty.encode(value).finish()), + requestDeserialize: (value: Buffer) => Empty.decode(value), + responseSerialize: (value: PrizeTypeList) => Buffer.from(PrizeTypeList.encode(value).finish()), + responseDeserialize: (value: Buffer) => PrizeTypeList.decode(value), + }, +} as const; + +export interface PrizeServiceServer extends UntypedServiceImplementation { + create: handleUnaryCall; + scan: handleUnaryCall; + getPrizeTypes: handleUnaryCall; +} diff --git a/src/schema/common/AuditColumns.ts b/src/schema/common/AuditColumns.ts index c115b40..a3ce8e5 100644 --- a/src/schema/common/AuditColumns.ts +++ b/src/schema/common/AuditColumns.ts @@ -1,7 +1,16 @@ import { ColumnType } from "@topcoder-framework/client-relational"; import { TableColumns } from "../../common/TableColumn"; -export const AuditColumns: TableColumns = { +interface AuditFields { + [key: string]: any; + + createUser: number; + createDate: Date; + modifyUser: number; + modifyDate: Date; +} + +export const AuditColumns: TableColumns = { createUser: { name: "create_user", type: ColumnType.COLUMN_TYPE_INT }, createDate: { name: "create_date", type: ColumnType.COLUMN_TYPE_DATETIME }, modifyUser: { name: "modify_user", type: ColumnType.COLUMN_TYPE_INT }, diff --git a/src/schema/project/PhaseType.ts b/src/schema/project/PhaseType.ts index afe6530..a67660c 100644 --- a/src/schema/project/PhaseType.ts +++ b/src/schema/project/PhaseType.ts @@ -1,8 +1,9 @@ import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; +import { PhaseType } from "../../models/domain-layer/legacy/challenge_phase"; import { AuditColumns } from "../common/AuditColumns"; -export const PhaseType: Schema = { +export const PhaseTypeSchema: Schema = { dbSchema: "tcs_catalog", tableName: "phase_type_lu", columns: { diff --git a/src/schema/project/Project.ts b/src/schema/project/Project.ts index fa3afcc..042cff3 100644 --- a/src/schema/project/Project.ts +++ b/src/schema/project/Project.ts @@ -1,15 +1,16 @@ -import { Schema } from "../../common/QueryRunner"; import { ColumnType } from "@topcoder-framework/client-relational"; +import { Schema } from "../../common/QueryRunner"; +import { LegacyChallenge } from "../../models/domain-layer/legacy/challenge"; import { AuditColumns } from "../common/AuditColumns"; -export const Project: Schema = { +export const ProjectSchema: Schema = { dbSchema: "tcs_catalog", tableName: "project", columns: { projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, - projectTypeId: { name: "project_type_id", type: ColumnType.COLUMN_TYPE_INT }, projectStatusId: { name: "project_status_id", type: ColumnType.COLUMN_TYPE_INT }, projectCategoryId: { name: "project_category_id", type: ColumnType.COLUMN_TYPE_INT }, + tcDirectProjectId: { name: "tc_direct_project_id", type: ColumnType.COLUMN_TYPE_INT }, ...AuditColumns, }, }; diff --git a/src/schema/project/ProjectPhase.ts b/src/schema/project/ProjectPhase.ts index f3bbf95..287b11f 100644 --- a/src/schema/project/ProjectPhase.ts +++ b/src/schema/project/ProjectPhase.ts @@ -1,15 +1,14 @@ import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; +import { LegacyChallengePhase } from "../../models/domain-layer/legacy/challenge_phase"; import { AuditColumns } from "../common/AuditColumns"; -export const ProjectPhaseSchema: Schema = { +export const ProjectPhaseSchema: Schema = { dbSchema: "tcs_catalog", tableName: "project_phase", idColumn: "project_phase_id", idSequence: "project_phase_id_seq", columns: { - duration: { name: "duration", type: ColumnType.COLUMN_TYPE_INT }, - projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, phaseTypeId: { name: "phase_type_id", type: ColumnType.COLUMN_TYPE_INT }, phaseStatusId: { name: "phase_status_id", type: ColumnType.COLUMN_TYPE_INT }, projectPhaseId: { name: "project_phase_id", type: ColumnType.COLUMN_TYPE_INT }, @@ -18,6 +17,8 @@ export const ProjectPhaseSchema: Schema = { scheduledEndTime: { name: "scheduled_end_time", type: ColumnType.COLUMN_TYPE_DATETIME }, actualStartTime: { name: "actual_start_time", type: ColumnType.COLUMN_TYPE_DATETIME }, actualEndTime: { name: "actual_end_time", type: ColumnType.COLUMN_TYPE_DATETIME }, + duration: { name: "duration", type: ColumnType.COLUMN_TYPE_INT }, + projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, ...AuditColumns, }, }; diff --git a/src/schema/project/ProjectStatus.ts b/src/schema/project/ProjectStatus.ts index 3e53894..6be5ffd 100644 --- a/src/schema/project/ProjectStatus.ts +++ b/src/schema/project/ProjectStatus.ts @@ -1,8 +1,9 @@ import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner.js"; +import { LegacyChallengeStatus } from "../../models/domain-layer/legacy/challenge_status"; import { AuditColumns } from "../common/AuditColumns"; -export const ProjectStatus: Schema = { +export const ProjectStatusSchema: Schema = { dbSchema: "tcs_catalog", tableName: "project_status_lu", columns: { diff --git a/src/schema/project_payment/Prize.ts b/src/schema/project_payment/Prize.ts index 3ca8ab9..3f239c4 100644 --- a/src/schema/project_payment/Prize.ts +++ b/src/schema/project_payment/Prize.ts @@ -1,17 +1,21 @@ -import { Schema } from "../../common/QueryRunner"; import { ColumnType } from "@topcoder-framework/client-relational"; +import { Schema } from "../../common/QueryRunner"; +import { Prize } from "../../models/domain-layer/legacy/prize"; import { AuditColumns } from "../common/AuditColumns"; -export const Prize: Schema = { +export const PrizeSchema: Schema = { dbSchema: "tcs_catalog", tableName: "prize", columns: { place: { name: "place", type: ColumnType.COLUMN_TYPE_INT }, prizeId: { name: "prize_id", type: ColumnType.COLUMN_TYPE_INT }, - project_id: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, + projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, prizeTypeId: { name: "prize_type_id", type: ColumnType.COLUMN_TYPE_INT }, prizeAmount: { name: "prize_amount", type: ColumnType.COLUMN_TYPE_FLOAT }, numberOfSubmissions: { name: "number_of_submissions", type: ColumnType.COLUMN_TYPE_INT }, ...AuditColumns, }, + idColumn: "prize_id", + idSequence: "prize_id_seq", + idTable: "prize", }; diff --git a/src/schema/project_payment/PrizeType.ts b/src/schema/project_payment/PrizeType.ts index b7aa813..d13c2f1 100644 --- a/src/schema/project_payment/PrizeType.ts +++ b/src/schema/project_payment/PrizeType.ts @@ -1,7 +1,8 @@ -import { Schema } from "../../common/QueryRunner"; import { ColumnType } from "@topcoder-framework/client-relational"; +import { Schema } from "../../common/QueryRunner"; +import { PrizeType } from "../../models/domain-layer/legacy/prize"; -export const PrizeType: Schema = { +export const PrizeTypeSchema: Schema = { dbSchema: "tcs_catalog", tableName: "prize_type_lu", columns: { diff --git a/src/schema/project_payment/ProjectPayment.ts b/src/schema/project_payment/ProjectPayment.ts index 890f0ea..c149dce 100644 --- a/src/schema/project_payment/ProjectPayment.ts +++ b/src/schema/project_payment/ProjectPayment.ts @@ -1,14 +1,15 @@ import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; +import { LegacyChallengePayment } from "../../models/domain-layer/legacy/challenge_payment"; import { AuditColumns } from "../common/AuditColumns"; -export const ProjectPayment: Schema = { +export const ProjectPaymentSchema: Schema = { dbSchema: "tcs_catalog", tableName: "project_payment", columns: { place: { name: "place", type: ColumnType.COLUMN_TYPE_INT }, prizeId: { name: "prize_id", type: ColumnType.COLUMN_TYPE_INT }, - project_id: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, + projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, prizeTypeId: { name: "prize_type_id", type: ColumnType.COLUMN_TYPE_INT }, prizeAmount: { name: "prize_amount", type: ColumnType.COLUMN_TYPE_FLOAT }, ...AuditColumns, diff --git a/src/schema/project_payment/ProjectPaymentAdjustment.ts b/src/schema/project_payment/ProjectPaymentAdjustment.ts index ab87c83..ba12d09 100644 --- a/src/schema/project_payment/ProjectPaymentAdjustment.ts +++ b/src/schema/project_payment/ProjectPaymentAdjustment.ts @@ -1,7 +1,9 @@ import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; +import { LegacyChallengePaymentAdjustment } from "../../models/domain-layer/legacy/challenge_payment_adjustment"; +import { AuditColumns } from "../common/AuditColumns"; -export const ProjectPaymentAdjustment: Schema = { +export const ProjectPaymentAdjustment: Schema = { dbSchema: "tcs_catalog", tableName: "project_payment_adjustment", columns: { @@ -9,5 +11,6 @@ export const ProjectPaymentAdjustment: Schema = { resourceRoleId: { name: "resource_role_id", type: ColumnType.COLUMN_TYPE_INT }, fixedAmount: { name: "fixed_amount", type: ColumnType.COLUMN_TYPE_FLOAT }, multiplier: { name: "multiplier", type: ColumnType.COLUMN_TYPE_INT }, + ...AuditColumns, }, }; diff --git a/src/schema/project_payment/ProjectPaymentType.ts b/src/schema/project_payment/ProjectPaymentType.ts index 79abb07..75719c6 100644 --- a/src/schema/project_payment/ProjectPaymentType.ts +++ b/src/schema/project_payment/ProjectPaymentType.ts @@ -1,13 +1,15 @@ import { ColumnType } from "@topcoder-framework/client-relational"; import { Schema } from "../../common/QueryRunner"; +import { LegacyChallengePaymentType } from "../../models/domain-layer/legacy/challenge_payment_type"; -export const ProjectPaymentAdjustment: Schema = { +export const ProjectPaymentAdjustment: Schema = { dbSchema: "tcs_catalog", tableName: "project_payment_type_lu", columns: { - projectPaymentTypeId: { name: "project_payment_type_id", type: ColumnType.COLUMN_TYPE_INT }, name: { name: "name", type: ColumnType.COLUMN_TYPE_STRING }, mergeable: { name: "mergeable", type: ColumnType.COLUMN_TYPE_BOOLEAN }, pactsPaymentTypeId: { name: "pacts_payment_type_id", type: ColumnType.COLUMN_TYPE_INT }, + multiplier: { name: "multiplier", type: ColumnType.COLUMN_TYPE_INT }, + projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, }, }; diff --git a/src/schema/resource/Resource.ts b/src/schema/resource/Resource.ts index 7d07924..132104b 100644 --- a/src/schema/resource/Resource.ts +++ b/src/schema/resource/Resource.ts @@ -1,8 +1,9 @@ -import { Schema } from "../../common/QueryRunner.js"; import { ColumnType } from "@topcoder-framework/client-relational"; +import { Schema } from "../../common/QueryRunner.js"; +import { Resource } from "../../models/domain-layer/legacy/resource"; import { AuditColumns } from "../common/AuditColumns"; -export const Resource: Schema = { +export const ResourceSchema: Schema = { dbSchema: "tcs_catalog", tableName: "resource", columns: { diff --git a/src/schema/resource/ResourceInfo.ts b/src/schema/resource/ResourceInfo.ts index 7e3de5c..28b98ec 100644 --- a/src/schema/resource/ResourceInfo.ts +++ b/src/schema/resource/ResourceInfo.ts @@ -1,8 +1,9 @@ -import { Schema } from "../../common/QueryRunner.js"; import { ColumnType } from "@topcoder-framework/client-relational"; +import { Schema } from "../../common/QueryRunner.js"; +import { ResourceInfo } from "../../models/domain-layer/legacy/resource_info"; import { AuditColumns } from "../common/AuditColumns"; -export const Resource: Schema = { +export const ResourcInfoSchema: Schema = { dbSchema: "tcs_catalog", tableName: "resource_info", columns: { diff --git a/src/schema/resource/ResourceInfoType.ts b/src/schema/resource/ResourceInfoType.ts index b5e482b..afcdc81 100644 --- a/src/schema/resource/ResourceInfoType.ts +++ b/src/schema/resource/ResourceInfoType.ts @@ -1,8 +1,9 @@ -import { Schema } from "../../common/QueryRunner.js"; import { ColumnType } from "@topcoder-framework/client-relational"; +import { Schema } from "../../common/QueryRunner.js"; +import { ResourceInfoType } from "../../models/domain-layer/legacy/resource_info_type"; import { AuditColumns } from "../common/AuditColumns"; -export const Resource: Schema = { +export const ResourceInfoTypeSchema: Schema = { dbSchema: "tcs_catalog", tableName: "resource_info_type_lu", columns: { diff --git a/src/schema/resource/ResourceRole.ts b/src/schema/resource/ResourceRole.ts index 50d17f8..a5f2747 100644 --- a/src/schema/resource/ResourceRole.ts +++ b/src/schema/resource/ResourceRole.ts @@ -1,8 +1,9 @@ -import { Schema } from "../../common/QueryRunner.js"; import { ColumnType } from "@topcoder-framework/client-relational"; +import { Schema } from "../../common/QueryRunner.js"; +import { ResourceRole } from "../../models/domain-layer/legacy/resource_role"; import { AuditColumns } from "../common/AuditColumns"; -export const Resource: Schema = { +export const ResourceRoleSchema: Schema = { dbSchema: "tcs_catalog", tableName: "resource_role_lu", columns: { diff --git a/src/schema/resource/ResourceSubmission.ts b/src/schema/resource/ResourceSubmission.ts index a9e94dd..d2e2112 100644 --- a/src/schema/resource/ResourceSubmission.ts +++ b/src/schema/resource/ResourceSubmission.ts @@ -1,8 +1,9 @@ -import { Schema } from "../../common/QueryRunner.js"; import { ColumnType } from "@topcoder-framework/client-relational"; +import { Schema } from "../../common/QueryRunner.js"; +import { ResourceSubmission } from "../../models/domain-layer/legacy/resource_submission"; import { AuditColumns } from "../common/AuditColumns"; -export const Resource: Schema = { +export const ResourceSubmissionSchema: Schema = { dbSchema: "tcs_catalog", tableName: "resource_submission", columns: { diff --git a/src/server.ts b/src/server.ts index e042aee..648f1a2 100644 --- a/src/server.ts +++ b/src/server.ts @@ -14,6 +14,8 @@ import { LegacyChallengePhaseServer, } from "./service/LegacyChallengePhase"; +import { PrizeServiceService, PrizeServer } from "./service/Prize"; + const { GRPC_SERVER_HOST = "", GRPC_SERVER_PORT = 9091 } = process.env; const server = new Server({ @@ -27,6 +29,7 @@ if (process.env.ENV === "local") { server.addService(LegacyChallengeService, new LegacyChallengeServer()); server.addService(LegacyChallengePhaseService, new LegacyChallengePhaseServer()); +server.addService(PrizeServiceService, new PrizeServer()); server.bindAsync( `${GRPC_SERVER_HOST}:${GRPC_SERVER_PORT}`, diff --git a/src/service/LegacyChallenge.ts b/src/service/LegacyChallenge.ts index f7a3106..5ce39ef 100644 --- a/src/service/LegacyChallenge.ts +++ b/src/service/LegacyChallenge.ts @@ -2,19 +2,29 @@ import { handleUnaryCall, sendUnaryData, ServerUnaryCall, UntypedHandleCall } fr import { CheckChallengeExistsResponse, + CreateChallengeInput, LegacyChallengeId, LegacyChallengeList, } from "../models/domain-layer/legacy/challenge"; import { - LegacyChallengeService, LegacyChallengeServer, + LegacyChallengeService, } from "../models/domain-layer/legacy/services/challenge"; +import { CreateResult, LookupCriteria } from "@topcoder-framework/lib-common"; import LegacyChallengeDomain from "../domain/LegacyChallenge"; -import { LookupCriteria } from "@topcoder-framework/lib-common"; class LegacyChallengeServerImpl implements LegacyChallengeServer { + create: handleUnaryCall = ( + call: ServerUnaryCall, + callback: sendUnaryData + ) => { + // LegacyChallengeDomain.create(call.request) + // .then((response) => callback(null, response)) + // .catch((err) => callback(err, null)); + }; + [name: string]: UntypedHandleCall; checkChallengeExists: handleUnaryCall = ( call: ServerUnaryCall, diff --git a/src/service/Prize.ts b/src/service/Prize.ts new file mode 100644 index 0000000..1fc19a5 --- /dev/null +++ b/src/service/Prize.ts @@ -0,0 +1,44 @@ +import { handleUnaryCall, sendUnaryData, ServerUnaryCall, UntypedHandleCall } from "@grpc/grpc-js"; +import { CreateResult, ScanCriteria, Empty } from "@topcoder-framework/lib-common"; +import { CreatePrizeInput, PrizeList, PrizeTypeList } from "../models/domain-layer/legacy/prize"; + +import { + PrizeServiceServer, + PrizeServiceService, +} from "../models/domain-layer/legacy/services/prize"; + +import PrizeDomain from "../domain/Prize"; + +class PrizeServerImpl implements PrizeServiceServer { + [name: string]: UntypedHandleCall; + create: handleUnaryCall = ( + call: ServerUnaryCall, + callback: sendUnaryData + ) => { + PrizeDomain.create(call.request) + .then((createResult) => { + callback(null, createResult); + }) + .catch((error) => { + callback(error, null); + }); + }; + + scan: handleUnaryCall = ( + call: ServerUnaryCall, + callback: sendUnaryData + ) => { + PrizeDomain.scan(call.request) + .then((list) => callback(null, list)) + .catch((err) => callback(err, null)); + }; + + getPrizeTypes: handleUnaryCall = ( + call: ServerUnaryCall, + callback: sendUnaryData + ) => { + console.log("TODO"); + }; +} + +export { PrizeServerImpl as PrizeServer, PrizeServiceService }; From 85320c214cb8817bde976893a73a59c53d3abb32 Mon Sep 17 00:00:00 2001 From: Rakib Ansary Date: Mon, 6 Feb 2023 19:02:48 +0600 Subject: [PATCH 6/6] feat(legacy-challenge): use client-rdb from topcoder-framework --- package.json | 4 +- src/common/QueryRunner.ts | 269 ------------------ src/common/TableColumn.ts | 10 - src/domain/LegacyChallenge.ts | 113 ++++---- src/domain/LegacyChallengePhase.ts | 32 +-- src/domain/Prize.ts | 110 +++---- src/helper/QueryRunner.ts | 8 + src/models/domain-layer/legacy/challenge.ts | 265 ++++++++++++++++- src/schema/common/AuditColumns.ts | 5 +- src/schema/project/PhaseType.ts | 3 +- src/schema/project/Project.ts | 3 +- src/schema/project/ProjectPhase.ts | 3 +- src/schema/project/ProjectStatus.ts | 3 +- src/schema/project_payment/Prize.ts | 3 +- src/schema/project_payment/PrizeType.ts | 3 +- src/schema/project_payment/ProjectPayment.ts | 3 +- .../ProjectPaymentAdjustment.ts | 3 +- .../project_payment/ProjectPaymentType.ts | 3 +- src/schema/resource/Resource.ts | 3 +- src/schema/resource/ResourceInfo.ts | 3 +- src/schema/resource/ResourceInfoType.ts | 3 +- src/schema/resource/ResourceRole.ts | 3 +- src/schema/resource/ResourceSubmission.ts | 3 +- yarn.lock | 59 ++-- 24 files changed, 437 insertions(+), 480 deletions(-) delete mode 100644 src/common/QueryRunner.ts delete mode 100644 src/common/TableColumn.ts create mode 100644 src/helper/QueryRunner.ts diff --git a/package.json b/package.json index 8fd0d05..8a55880 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "license": "ISC", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@topcoder-framework/client-relational": "^0.4.23-ci.0", - "@topcoder-framework/lib-common": "^0.4.23-ci.0", + "@topcoder-framework/client-relational": "^0.4.24-ci.0", + "@topcoder-framework/lib-common": "^0.4.24-ci.0", "dayjs": "^1.11.5", "dotenv": "^16.0.3", "grpc-server-reflection": "^0.1.5", diff --git a/src/common/QueryRunner.ts b/src/common/QueryRunner.ts deleted file mode 100644 index c202eb3..0000000 --- a/src/common/QueryRunner.ts +++ /dev/null @@ -1,269 +0,0 @@ -const { GRPC_RDB_SERVER_HOST, GRPC_RDB_SERVER_PORT } = process.env; - -import { - ColumnType, - Operator, - Query, - QueryRequest, - RelationalClient, - Value, -} from "@topcoder-framework/client-relational"; -import { TableColumn, TableColumns } from "./TableColumn"; - -export type Schema> = { - dbSchema: string; - tableName: string; - idColumn?: string; - idSequence?: string; - idTable?: string; - columns: TableColumns; -}; - -interface ExecuteSqlQuery { - exec(): Promise; -} - -type JoinAndWhereClause = JoinClause & WhereClause & ExecuteSqlQuery; -type JoinWhereLimitAndOffset = JoinAndWhereClause & LimitClause & OffsetClause; - -export interface SelectQuery { - select(columns: TableColumn[]): JoinWhereLimitAndOffset; -} - -export interface JoinClause { - join(): JoinAndWhereClause; -} - -export interface WhereClause { - where(whereCriteria: { key: string; operator: Operator; value: Value }): JoinWhereLimitAndOffset; -} - -export interface LimitClause { - limit(limit: number): OffsetClause & ExecuteSqlQuery; -} - -export interface OffsetClause { - offset(offset: number): ExecuteSqlQuery; -} - -export interface InsertQuery { - insert(input: CreateInput): ExecuteSqlQuery; -} - -export interface UpdateQuery { - update(lookupCriteria: Record, input: UpdateInput): ExecuteSqlQuery; -} - -export interface DeleteQuery { - delete(): ExecuteSqlQuery; -} - -export class QueryRunner< - T extends Record, - CreateInput extends Record, - UpdateInput extends Record -> implements - SelectQuery, - JoinClause, - WhereClause, - LimitClause, - OffsetClause, - InsertQuery, - UpdateQuery, - DeleteQuery, - ExecuteSqlQuery -{ - #query: Query | null = null; - #client: RelationalClient; - - constructor(private schema: Schema) { - console.log("Connecting to GRPC server at", GRPC_RDB_SERVER_HOST, GRPC_RDB_SERVER_PORT, "..."); - this.#client = new RelationalClient(GRPC_RDB_SERVER_HOST!, parseInt(GRPC_RDB_SERVER_PORT!)); - } - - select(columns: TableColumn[]): JoinWhereLimitAndOffset { - this.#query = { - query: { - $case: "select", - select: { - schema: this.schema.dbSchema, - table: this.schema.tableName, - column: columns.map((col) => ({ - tableName: this.schema.tableName, - name: col.name, - type: col.type, - })), - where: [], - join: [], - groupBy: [], - orderBy: [], - limit: 100, - offset: 0, - }, - }, - }; - - console.log("Query", JSON.stringify(this.#query, null, 2)); - return this; - } - - // TODO: use "convenience" methods from lib-util to build the clause - where(whereCriteria: { key: string; operator: Operator; value: Value }): JoinWhereLimitAndOffset { - if (this.#query?.query?.$case != "select") { - throw new Error("Cannot set where clause on a non-select query"); - } - - this.#query.query.select.where.push(whereCriteria); - return this; - } - - join(): JoinAndWhereClause { - // TODO: Implement join clause - return this; - } - - limit(limit: number): OffsetClause & ExecuteSqlQuery { - if (this.#query?.query?.$case != "select") { - throw new Error("Cannot set limit on a non-select query"); - } - this.#query.query.select.limit = limit; - return this; - } - - offset(offset: number): ExecuteSqlQuery { - if (this.#query?.query?.$case != "select") { - throw new Error("Cannot set offset on a non-select query"); - } - this.#query.query.select.offset = offset; - return this; - } - - insert(input: CreateInput): ExecuteSqlQuery { - this.#query = { - query: { - $case: "insert", - insert: { - schema: this.schema.dbSchema, - table: this.schema.tableName, - columnValue: [ - { - column: "create_date", - value: { - value: { - $case: "datetimeValue", - datetimeValue: "CURRENT", - }, - }, - }, - { - column: "modify_date", - value: { - value: { - $case: "datetimeValue", - datetimeValue: "CURRENT", - }, - }, - }, - ...Object.entries(input) - .filter(([_key, value]) => value !== undefined) - .map(([key, value]) => ({ - column: this.schema.columns[key]?.name ?? key, - value: this.toValue(key, value), - })), - ], - idTable: this.schema.tableName, - idColumn: this.schema.idColumn ?? undefined, - idSequence: this.schema.idSequence ?? undefined, - }, - }, - }; - - return this; - } - - update(input: Record): ExecuteSqlQuery { - return this; - } - - delete(): ExecuteSqlQuery { - return this; - } - - async exec(): Promise { - if (!this.#query) { - throw new Error("No query to execute"); - } - - const queryRequest: QueryRequest = { - query: this.#query, - }; - - const queryResponse = await this.#client.query(queryRequest); - - switch (this.#query.query?.$case) { - case "select": - if (queryResponse.result?.$case != "selectResult") { - throw new Error("Unexpected result type"); - } - return queryResponse.result.selectResult.rows.map((row) => { - return row as unknown as T; - }); - case "insert": - if (queryResponse.result?.$case != "insertResult") { - throw new Error("Unexpected result type"); - } - console.log("running insert query"); - return queryResponse.result.insertResult.lastInsertId; - case "update": - if (queryResponse.result?.$case != "updateResult") { - throw new Error("Unexpected result type"); - } - return queryResponse.result.updateResult.affectedRows; - case "delete": - if (queryResponse.result?.$case != "deleteResult") { - throw new Error("Unexpected result type"); - } - return queryResponse.result.deleteResult.affectedRows; - default: - throw new Error("Unexpected query type"); - } - } - - private toValue(key: string, value: unknown): Value { - const dataType: ColumnType = this.schema.columns[key].type; - - if (dataType == null) { - throw new Error(`Unknown column ${key}`); - } - - if (dataType === ColumnType.COLUMN_TYPE_INT) { - return { value: { $case: "intValue", intValue: value as number } }; - } - - if (dataType === ColumnType.COLUMN_TYPE_FLOAT) { - return { value: { $case: "floatValue", floatValue: value as number } }; - } - - if (dataType === ColumnType.COLUMN_TYPE_DATE) { - return { value: { $case: "dateValue", dateValue: value as string } }; - } - - if (dataType == ColumnType.COLUMN_TYPE_DATETIME) { - return { - value: { $case: "datetimeValue", datetimeValue: value as string }, - }; - } - - if (dataType == ColumnType.COLUMN_TYPE_STRING) { - return { value: { $case: "stringValue", stringValue: value as string } }; - } - - if (dataType == ColumnType.COLUMN_TYPE_BOOLEAN) { - return { - value: { $case: "booleanValue", booleanValue: value as boolean }, - }; - } - - throw new Error(`Unsupported data type ${dataType}`); - } -} diff --git a/src/common/TableColumn.ts b/src/common/TableColumn.ts deleted file mode 100644 index 4289ae7..0000000 --- a/src/common/TableColumn.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; - -export type TableColumn = { - name: string; - type: ColumnType; -}; - -export type TableColumns> = { - [Property in keyof T]: TableColumn; -}; diff --git a/src/domain/LegacyChallenge.ts b/src/domain/LegacyChallenge.ts index 5fd5717..e2dff1a 100644 --- a/src/domain/LegacyChallenge.ts +++ b/src/domain/LegacyChallenge.ts @@ -1,76 +1,75 @@ -import { ColumnType, Operator, QueryRequest } from "@topcoder-framework/client-relational"; -import { Value } from "@topcoder-framework/lib-common"; -import { QueryRunner } from "../common/QueryRunner"; -import { CheckChallengeExistsResponse } from "../models/domain-layer/legacy/challenge"; +import { Operator, QueryBuilder } from "@topcoder-framework/client-relational"; +import { queryRunner } from "../helper/QueryRunner"; +import { + CheckChallengeExistsResponse, + CreateChallengeInput, +} from "../models/domain-layer/legacy/challenge"; import { ProjectSchema } from "../schema/project/Project"; class LegacyChallengeDomain { public async checkChallengeExists( legacyChallengeId: number ): Promise { - const challenges = (await new QueryRunner(ProjectSchema) - .select([ProjectSchema.columns.projectId]) - .where({ - key: "project_id", - operator: Operator.OPERATOR_EQUAL, + const { projectId } = ProjectSchema.columns; + + const query = new QueryBuilder(ProjectSchema) + .select(projectId) + .where(projectId, Operator.OPERATOR_EQUAL, { value: { - value: { - $case: "intValue", - intValue: legacyChallengeId, - }, + $case: "intValue", + intValue: legacyChallengeId, }, }) .limit(1) - .offset(0) - .exec()) as [ - { - values: { - projectId: Value; - }; - } - ]; + .build(); + + const { rows } = await queryRunner.run(query); return { - exists: challenges.length == 1, + exists: rows?.length == 1, }; } - public async listAvailableChallengeInfoTypes(key: string): Promise { - const queryRequest: QueryRequest = { - query: { - query: { - $case: "select", - select: { - table: "project_info_type_lu", - join: [], - column: [ - { - name: "", - type: ColumnType.COLUMN_TYPE_INT, - }, - ], - where: [ - { - key: "name", - operator: Operator.OPERATOR_EQUAL, - value: { - value: { - $case: "stringValue", - stringValue: key, - }, - }, - }, - ], - groupBy: [], - orderBy: [], - limit: 1, - offset: 0, - }, - }, - }, - }; - return Promise.resolve(10); + public async createLegacyChallenge(input: CreateChallengeInput): Promise { + return Promise.resolve(123); } + + // public async listAvailableChallengeInfoTypes(key: string): Promise { + // const queryRequest: QueryRequest = { + // query: { + // query: { + // $case: "select", + // select: { + // table: "project_info_type_lu", + // join: [], + // column: [ + // { + // name: "", + // type: ColumnType.COLUMN_TYPE_INT, + // }, + // ], + // where: [ + // { + // key: "name", + // operator: Operator.OPERATOR_EQUAL, + // value: { + // value: { + // $case: "stringValue", + // stringValue: key, + // }, + // }, + // }, + // ], + // groupBy: [], + // orderBy: [], + // limit: 1, + // offset: 0, + // }, + // }, + // }, + // }; + // return Promise.resolve(10); + // } } export default new LegacyChallengeDomain(); diff --git a/src/domain/LegacyChallengePhase.ts b/src/domain/LegacyChallengePhase.ts index f335f11..f8902e2 100644 --- a/src/domain/LegacyChallengePhase.ts +++ b/src/domain/LegacyChallengePhase.ts @@ -1,9 +1,9 @@ -import { QueryRunner } from "../common/QueryRunner"; -import { Value } from "@topcoder-framework/client-relational"; +import { QueryBuilder } from "@topcoder-framework/client-relational"; +import { CreateResult } from "@topcoder-framework/lib-common"; +import { queryRunner } from "../helper/QueryRunner"; import { CreatePhaseInput, PhaseTypeList } from "../models/domain-layer/legacy/challenge_phase"; import { PhaseTypeSchema } from "../schema/project/PhaseType"; import { ProjectPhaseSchema } from "../schema/project/ProjectPhase"; -import { CreateResult } from "@topcoder-framework/lib-common"; class LegacyChallengePhaseDomain { public async create(input: CreatePhaseInput): Promise { @@ -13,34 +13,28 @@ class LegacyChallengePhaseDomain { modifyUser: 22838965, // tcwebservice | TODO: Get using grpc interceptor }; - const phaseId = (await new QueryRunner(ProjectPhaseSchema) - .insert(createInput) - .exec()) as number; + const { lastInsertId: phaseId } = await queryRunner.run( + new QueryBuilder(ProjectPhaseSchema).insert(createInput).build() + ); return { kind: { $case: "integerId", - integerId: phaseId, + integerId: phaseId!, }, }; } public async getPhaseTypes(): Promise { - const projectPhases = (await new QueryRunner(PhaseTypeSchema) - .select([PhaseTypeSchema.columns.phaseTypeId, PhaseTypeSchema.columns.name]) + const query = new QueryBuilder(PhaseTypeSchema) + .select(PhaseTypeSchema.columns.phaseTypeId, PhaseTypeSchema.columns.name) .limit(500) - .offset(0) - .exec()) as [ - { - values: { - phase_type_id: Value; - name: Value; - }; - } - ]; + .build(); + + const { rows: projectPhases } = await queryRunner.run(query); const list: PhaseTypeList = { - items: projectPhases.map(({ values }) => { + items: projectPhases!.map(({ values }) => { return { phaseTypeId: values.phase_type_id.value?.$case === "intValue" diff --git a/src/domain/Prize.ts b/src/domain/Prize.ts index db27fa8..929510c 100644 --- a/src/domain/Prize.ts +++ b/src/domain/Prize.ts @@ -1,5 +1,6 @@ -import { CreateResult, ScanCriteria, Value } from "@topcoder-framework/lib-common"; -import { QueryRunner } from "../common/QueryRunner"; +import { QueryBuilder } from "@topcoder-framework/client-relational"; +import { CreateResult, ScanCriteria } from "@topcoder-framework/lib-common"; +import { queryRunner } from "../helper/QueryRunner"; import { CreatePrizeInput, Prize, PrizeList } from "../models/domain-layer/legacy/prize"; import { PrizeSchema } from "../schema/project_payment/Prize"; @@ -11,71 +12,70 @@ class PrizeDomain { modifyUser: 22838965, // tcwebservice | TODO: Get using grpc interceptor }; - const prizeId = (await new QueryRunner(PrizeSchema).insert(createInput).exec()) as number; + const { lastInsertId: prizeId } = await queryRunner.run( + new QueryBuilder(PrizeSchema).insert(createInput).build() + ); + return { kind: { $case: "integerId", - integerId: prizeId, + integerId: prizeId!, }, }; } public async scan(criteria: ScanCriteria): Promise { - const prizes = (await new QueryRunner(PrizeSchema) - .select([ - PrizeSchema.columns.prizeId, - PrizeSchema.columns.prizeTypeId, - PrizeSchema.columns.prizeAmount, - PrizeSchema.columns.place, - PrizeSchema.columns.numberOfSubmissions, - PrizeSchema.columns.projectId, - PrizeSchema.columns.createDate, - PrizeSchema.columns.createUser, - PrizeSchema.columns.modifyDate, - PrizeSchema.columns.modifyUser, - ]) - .limit(10) - .offset(0) - .exec()) as [ - { - values: { - prize_id: Value; - prize_type_id: number; - prize_amount: Value; - place: number; - number_of_submissions: number; - prize_description: string; - project_id: number; - create_date: number; - create_user: number; - modify_date: number; - modify_user: number; - }; - } - ]; + const { rows: prizes } = await queryRunner.run( + new QueryBuilder(PrizeSchema) + .select( + PrizeSchema.columns.prizeId, + PrizeSchema.columns.prizeTypeId, + PrizeSchema.columns.prizeAmount, + PrizeSchema.columns.place, + PrizeSchema.columns.numberOfSubmissions, + PrizeSchema.columns.projectId, + PrizeSchema.columns.createDate, + PrizeSchema.columns.createUser, + PrizeSchema.columns.modifyDate, + PrizeSchema.columns.modifyUser + ) + .build() + ); + + // const prizes = (await new QueryRunner(PrizeSchema).select([]).limit(10).offset(0).exec()) as [ + // { + // values: { + // prize_id: Value; + // prize_type_id: number; + // prize_amount: Value; + // place: number; + // number_of_submissions: number; + // prize_description: string; + // project_id: number; + // create_date: number; + // create_user: number; + // modify_date: number; + // modify_user: number; + // }; + // } + // ]; console.log("prizes", prizes); const list: PrizeList = { - prizes: prizes.map(({ values }) => { - return { - prizeId: - values.prize_id.kind?.$case === "numberValue" ? values.prize_id.kind.numberValue : 12, - prizeTypeId: values.prize_type_id, - prizeAmount: - values.prize_amount.kind?.$case === "numberValue" - ? values.prize_amount.kind.numberValue - : 12, - place: values.place, - numberOfSubmissions: values.number_of_submissions, - prizeDescription: values.prize_description, - projectId: values.project_id, - createDate: values.create_date, - createUser: values.create_user, - modifyDate: values.modify_date, - modifyUser: values.modify_user, - }; - }), + prizes: [], + // prizes: prizes!.map(({ values }) => { + // return { + // place: values.place, + // numberOfSubmissions: values.number_of_submissions, + // prizeDescription: values.prize_description, + // projectId: values.project_id, + // createDate: values.create_date, + // createUser: values.create_user, + // modifyDate: values.modify_date, + // modifyUser: values.modify_user, + // }; + // }), }; return list; diff --git a/src/helper/QueryRunner.ts b/src/helper/QueryRunner.ts new file mode 100644 index 0000000..befc96e --- /dev/null +++ b/src/helper/QueryRunner.ts @@ -0,0 +1,8 @@ +const { GRPC_RDB_SERVER_HOST, GRPC_RDB_SERVER_PORT } = process.env; + +import { QueryRunner } from "@topcoder-framework/client-relational"; + +export const queryRunner = new QueryRunner( + GRPC_RDB_SERVER_HOST!, + parseInt(GRPC_RDB_SERVER_PORT!, 10) +); diff --git a/src/models/domain-layer/legacy/challenge.ts b/src/models/domain-layer/legacy/challenge.ts index 47f7f6f..804f16f 100644 --- a/src/models/domain-layer/legacy/challenge.ts +++ b/src/models/domain-layer/legacy/challenge.ts @@ -26,9 +26,27 @@ export interface CheckChallengeExistsResponse { } export interface CreateChallengeInput { + name: string; projectStatusId: number; projectCategoryId: number; tcDirectProjectId: number; + winnerPrizes: number[]; + copilotCost: number; + reviewType?: string | undefined; + reviewCost?: number | undefined; + timelineNotification: boolean; + statusNotification: boolean; + rated: boolean; + confidentialityType: string; + billingProject: number; + reliabilityBonusCost?: number | undefined; + checkpointBonusCost?: number | undefined; + projectInfo: { [key: string]: string }; +} + +export interface CreateChallengeInput_ProjectInfoEntry { + key: string; + value: string; } function createBaseLegacyChallenge(): LegacyChallenge { @@ -318,20 +336,78 @@ export const CheckChallengeExistsResponse = { }; function createBaseCreateChallengeInput(): CreateChallengeInput { - return { projectStatusId: 0, projectCategoryId: 0, tcDirectProjectId: 0 }; + return { + name: "", + projectStatusId: 0, + projectCategoryId: 0, + tcDirectProjectId: 0, + winnerPrizes: [], + copilotCost: 0, + reviewType: undefined, + reviewCost: undefined, + timelineNotification: false, + statusNotification: false, + rated: false, + confidentialityType: "", + billingProject: 0, + reliabilityBonusCost: undefined, + checkpointBonusCost: undefined, + projectInfo: {}, + }; } export const CreateChallengeInput = { encode(message: CreateChallengeInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } if (message.projectStatusId !== 0) { - writer.uint32(8).int32(message.projectStatusId); + writer.uint32(16).int32(message.projectStatusId); } if (message.projectCategoryId !== 0) { - writer.uint32(16).int32(message.projectCategoryId); + writer.uint32(24).int32(message.projectCategoryId); } if (message.tcDirectProjectId !== 0) { - writer.uint32(24).int64(message.tcDirectProjectId); + writer.uint32(32).int64(message.tcDirectProjectId); + } + writer.uint32(42).fork(); + for (const v of message.winnerPrizes) { + writer.float(v); + } + writer.ldelim(); + if (message.copilotCost !== 0) { + writer.uint32(53).float(message.copilotCost); + } + if (message.reviewType !== undefined) { + writer.uint32(58).string(message.reviewType); + } + if (message.reviewCost !== undefined) { + writer.uint32(69).float(message.reviewCost); + } + if (message.timelineNotification === true) { + writer.uint32(72).bool(message.timelineNotification); + } + if (message.statusNotification === true) { + writer.uint32(80).bool(message.statusNotification); + } + if (message.rated === true) { + writer.uint32(88).bool(message.rated); + } + if (message.confidentialityType !== "") { + writer.uint32(98).string(message.confidentialityType); + } + if (message.billingProject !== 0) { + writer.uint32(104).int32(message.billingProject); + } + if (message.reliabilityBonusCost !== undefined) { + writer.uint32(117).float(message.reliabilityBonusCost); + } + if (message.checkpointBonusCost !== undefined) { + writer.uint32(125).float(message.checkpointBonusCost); } + Object.entries(message.projectInfo).forEach(([key, value]) => { + CreateChallengeInput_ProjectInfoEntry.encode({ key: key as any, value }, writer.uint32(130).fork()).ldelim(); + }); return writer; }, @@ -343,14 +419,63 @@ export const CreateChallengeInput = { const tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.projectStatusId = reader.int32(); + message.name = reader.string(); break; case 2: - message.projectCategoryId = reader.int32(); + message.projectStatusId = reader.int32(); break; case 3: + message.projectCategoryId = reader.int32(); + break; + case 4: message.tcDirectProjectId = longToNumber(reader.int64() as Long); break; + case 5: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.winnerPrizes.push(reader.float()); + } + } else { + message.winnerPrizes.push(reader.float()); + } + break; + case 6: + message.copilotCost = reader.float(); + break; + case 7: + message.reviewType = reader.string(); + break; + case 8: + message.reviewCost = reader.float(); + break; + case 9: + message.timelineNotification = reader.bool(); + break; + case 10: + message.statusNotification = reader.bool(); + break; + case 11: + message.rated = reader.bool(); + break; + case 12: + message.confidentialityType = reader.string(); + break; + case 13: + message.billingProject = reader.int32(); + break; + case 14: + message.reliabilityBonusCost = reader.float(); + break; + case 15: + message.checkpointBonusCost = reader.float(); + break; + case 16: + const entry16 = CreateChallengeInput_ProjectInfoEntry.decode(reader, reader.uint32()); + if (entry16.value !== undefined) { + message.projectInfo[entry16.key] = entry16.value; + } + break; default: reader.skipType(tag & 7); break; @@ -361,17 +486,57 @@ export const CreateChallengeInput = { fromJSON(object: any): CreateChallengeInput { return { + name: isSet(object.name) ? String(object.name) : "", projectStatusId: isSet(object.projectStatusId) ? Number(object.projectStatusId) : 0, projectCategoryId: isSet(object.projectCategoryId) ? Number(object.projectCategoryId) : 0, tcDirectProjectId: isSet(object.tcDirectProjectId) ? Number(object.tcDirectProjectId) : 0, + winnerPrizes: Array.isArray(object?.winnerPrizes) ? object.winnerPrizes.map((e: any) => Number(e)) : [], + copilotCost: isSet(object.copilotCost) ? Number(object.copilotCost) : 0, + reviewType: isSet(object.reviewType) ? String(object.reviewType) : undefined, + reviewCost: isSet(object.reviewCost) ? Number(object.reviewCost) : undefined, + timelineNotification: isSet(object.timelineNotification) ? Boolean(object.timelineNotification) : false, + statusNotification: isSet(object.statusNotification) ? Boolean(object.statusNotification) : false, + rated: isSet(object.rated) ? Boolean(object.rated) : false, + confidentialityType: isSet(object.confidentialityType) ? String(object.confidentialityType) : "", + billingProject: isSet(object.billingProject) ? Number(object.billingProject) : 0, + reliabilityBonusCost: isSet(object.reliabilityBonusCost) ? Number(object.reliabilityBonusCost) : undefined, + checkpointBonusCost: isSet(object.checkpointBonusCost) ? Number(object.checkpointBonusCost) : undefined, + projectInfo: isObject(object.projectInfo) + ? Object.entries(object.projectInfo).reduce<{ [key: string]: string }>((acc, [key, value]) => { + acc[key] = String(value); + return acc; + }, {}) + : {}, }; }, toJSON(message: CreateChallengeInput): unknown { const obj: any = {}; + message.name !== undefined && (obj.name = message.name); message.projectStatusId !== undefined && (obj.projectStatusId = Math.round(message.projectStatusId)); message.projectCategoryId !== undefined && (obj.projectCategoryId = Math.round(message.projectCategoryId)); message.tcDirectProjectId !== undefined && (obj.tcDirectProjectId = Math.round(message.tcDirectProjectId)); + if (message.winnerPrizes) { + obj.winnerPrizes = message.winnerPrizes.map((e) => e); + } else { + obj.winnerPrizes = []; + } + message.copilotCost !== undefined && (obj.copilotCost = message.copilotCost); + message.reviewType !== undefined && (obj.reviewType = message.reviewType); + message.reviewCost !== undefined && (obj.reviewCost = message.reviewCost); + message.timelineNotification !== undefined && (obj.timelineNotification = message.timelineNotification); + message.statusNotification !== undefined && (obj.statusNotification = message.statusNotification); + message.rated !== undefined && (obj.rated = message.rated); + message.confidentialityType !== undefined && (obj.confidentialityType = message.confidentialityType); + message.billingProject !== undefined && (obj.billingProject = Math.round(message.billingProject)); + message.reliabilityBonusCost !== undefined && (obj.reliabilityBonusCost = message.reliabilityBonusCost); + message.checkpointBonusCost !== undefined && (obj.checkpointBonusCost = message.checkpointBonusCost); + obj.projectInfo = {}; + if (message.projectInfo) { + Object.entries(message.projectInfo).forEach(([k, v]) => { + obj.projectInfo[k] = v; + }); + } return obj; }, @@ -381,9 +546,93 @@ export const CreateChallengeInput = { fromPartial, I>>(object: I): CreateChallengeInput { const message = createBaseCreateChallengeInput(); + message.name = object.name ?? ""; message.projectStatusId = object.projectStatusId ?? 0; message.projectCategoryId = object.projectCategoryId ?? 0; message.tcDirectProjectId = object.tcDirectProjectId ?? 0; + message.winnerPrizes = object.winnerPrizes?.map((e) => e) || []; + message.copilotCost = object.copilotCost ?? 0; + message.reviewType = object.reviewType ?? undefined; + message.reviewCost = object.reviewCost ?? undefined; + message.timelineNotification = object.timelineNotification ?? false; + message.statusNotification = object.statusNotification ?? false; + message.rated = object.rated ?? false; + message.confidentialityType = object.confidentialityType ?? ""; + message.billingProject = object.billingProject ?? 0; + message.reliabilityBonusCost = object.reliabilityBonusCost ?? undefined; + message.checkpointBonusCost = object.checkpointBonusCost ?? undefined; + message.projectInfo = Object.entries(object.projectInfo ?? {}).reduce<{ [key: string]: string }>( + (acc, [key, value]) => { + if (value !== undefined) { + acc[key] = String(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseCreateChallengeInput_ProjectInfoEntry(): CreateChallengeInput_ProjectInfoEntry { + return { key: "", value: "" }; +} + +export const CreateChallengeInput_ProjectInfoEntry = { + encode(message: CreateChallengeInput_ProjectInfoEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== "") { + writer.uint32(18).string(message.value); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CreateChallengeInput_ProjectInfoEntry { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateChallengeInput_ProjectInfoEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): CreateChallengeInput_ProjectInfoEntry { + return { key: isSet(object.key) ? String(object.key) : "", value: isSet(object.value) ? String(object.value) : "" }; + }, + + toJSON(message: CreateChallengeInput_ProjectInfoEntry): unknown { + const obj: any = {}; + message.key !== undefined && (obj.key = message.key); + message.value !== undefined && (obj.value = message.value); + return obj; + }, + + create, I>>( + base?: I, + ): CreateChallengeInput_ProjectInfoEntry { + return CreateChallengeInput_ProjectInfoEntry.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): CreateChallengeInput_ProjectInfoEntry { + const message = createBaseCreateChallengeInput_ProjectInfoEntry(); + message.key = object.key ?? ""; + message.value = object.value ?? ""; return message; }, }; @@ -431,6 +680,10 @@ if (_m0.util.Long !== Long) { _m0.configure(); } +function isObject(value: any): boolean { + return typeof value === "object" && value !== null; +} + function isSet(value: any): boolean { return value !== null && value !== undefined; } diff --git a/src/schema/common/AuditColumns.ts b/src/schema/common/AuditColumns.ts index a3ce8e5..5fdb36f 100644 --- a/src/schema/common/AuditColumns.ts +++ b/src/schema/common/AuditColumns.ts @@ -1,7 +1,6 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { TableColumns } from "../../common/TableColumn"; +import { ColumnType, TableColumns } from "@topcoder-framework/client-relational"; -interface AuditFields { +export interface AuditFields { [key: string]: any; createUser: number; diff --git a/src/schema/project/PhaseType.ts b/src/schema/project/PhaseType.ts index a67660c..0c83f10 100644 --- a/src/schema/project/PhaseType.ts +++ b/src/schema/project/PhaseType.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { PhaseType } from "../../models/domain-layer/legacy/challenge_phase"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/project/Project.ts b/src/schema/project/Project.ts index 042cff3..d5db06d 100644 --- a/src/schema/project/Project.ts +++ b/src/schema/project/Project.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { LegacyChallenge } from "../../models/domain-layer/legacy/challenge"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/project/ProjectPhase.ts b/src/schema/project/ProjectPhase.ts index 287b11f..cfa14ed 100644 --- a/src/schema/project/ProjectPhase.ts +++ b/src/schema/project/ProjectPhase.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { LegacyChallengePhase } from "../../models/domain-layer/legacy/challenge_phase"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/project/ProjectStatus.ts b/src/schema/project/ProjectStatus.ts index 6be5ffd..84a01e2 100644 --- a/src/schema/project/ProjectStatus.ts +++ b/src/schema/project/ProjectStatus.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { LegacyChallengeStatus } from "../../models/domain-layer/legacy/challenge_status"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/project_payment/Prize.ts b/src/schema/project_payment/Prize.ts index 3f239c4..81141ab 100644 --- a/src/schema/project_payment/Prize.ts +++ b/src/schema/project_payment/Prize.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { Prize } from "../../models/domain-layer/legacy/prize"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/project_payment/PrizeType.ts b/src/schema/project_payment/PrizeType.ts index d13c2f1..94ab4d9 100644 --- a/src/schema/project_payment/PrizeType.ts +++ b/src/schema/project_payment/PrizeType.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { PrizeType } from "../../models/domain-layer/legacy/prize"; export const PrizeTypeSchema: Schema = { diff --git a/src/schema/project_payment/ProjectPayment.ts b/src/schema/project_payment/ProjectPayment.ts index c149dce..27fff16 100644 --- a/src/schema/project_payment/ProjectPayment.ts +++ b/src/schema/project_payment/ProjectPayment.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { LegacyChallengePayment } from "../../models/domain-layer/legacy/challenge_payment"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/project_payment/ProjectPaymentAdjustment.ts b/src/schema/project_payment/ProjectPaymentAdjustment.ts index ba12d09..37902ea 100644 --- a/src/schema/project_payment/ProjectPaymentAdjustment.ts +++ b/src/schema/project_payment/ProjectPaymentAdjustment.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { LegacyChallengePaymentAdjustment } from "../../models/domain-layer/legacy/challenge_payment_adjustment"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/project_payment/ProjectPaymentType.ts b/src/schema/project_payment/ProjectPaymentType.ts index 75719c6..3ff1e0a 100644 --- a/src/schema/project_payment/ProjectPaymentType.ts +++ b/src/schema/project_payment/ProjectPaymentType.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { LegacyChallengePaymentType } from "../../models/domain-layer/legacy/challenge_payment_type"; export const ProjectPaymentAdjustment: Schema = { diff --git a/src/schema/resource/Resource.ts b/src/schema/resource/Resource.ts index 132104b..baf5c43 100644 --- a/src/schema/resource/Resource.ts +++ b/src/schema/resource/Resource.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { Resource } from "../../models/domain-layer/legacy/resource"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/resource/ResourceInfo.ts b/src/schema/resource/ResourceInfo.ts index 28b98ec..99b54d2 100644 --- a/src/schema/resource/ResourceInfo.ts +++ b/src/schema/resource/ResourceInfo.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { ResourceInfo } from "../../models/domain-layer/legacy/resource_info"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/resource/ResourceInfoType.ts b/src/schema/resource/ResourceInfoType.ts index afcdc81..1d4f4a1 100644 --- a/src/schema/resource/ResourceInfoType.ts +++ b/src/schema/resource/ResourceInfoType.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { ResourceInfoType } from "../../models/domain-layer/legacy/resource_info_type"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/resource/ResourceRole.ts b/src/schema/resource/ResourceRole.ts index a5f2747..63c8917 100644 --- a/src/schema/resource/ResourceRole.ts +++ b/src/schema/resource/ResourceRole.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { ResourceRole } from "../../models/domain-layer/legacy/resource_role"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/src/schema/resource/ResourceSubmission.ts b/src/schema/resource/ResourceSubmission.ts index d2e2112..e094142 100644 --- a/src/schema/resource/ResourceSubmission.ts +++ b/src/schema/resource/ResourceSubmission.ts @@ -1,5 +1,4 @@ -import { ColumnType } from "@topcoder-framework/client-relational"; -import { Schema } from "../../common/QueryRunner.js"; +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; import { ResourceSubmission } from "../../models/domain-layer/legacy/resource_submission"; import { AuditColumns } from "../common/AuditColumns"; diff --git a/yarn.lock b/yarn.lock index aadff25..48da957 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,15 +9,7 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@grpc/grpc-js@^1.7.1": - version "1.8.4" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.8.4.tgz#316674e8905e2dd310d8aa60331e05b32584e6ad" - integrity sha512-oaETBotls7FTBpySg5dhyUCyXSxSeCMmkBBXHXG1iw57MiNoB6D7VRhkrXYbwyHM3Q3Afjp4KlsBX0Zb+ELZXw== - dependencies: - "@grpc/proto-loader" "^0.7.0" - "@types/node" ">=12.12.47" - -"@grpc/grpc-js@^1.8.0": +"@grpc/grpc-js@^1.7.1", "@grpc/grpc-js@^1.8.0": version "1.8.7" resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.8.7.tgz#2154fc0134462ad45f4134e8b54682a25ed05956" integrity sha512-dRAWjRFN1Zy9mzPNLkFFIWT8T6C9euwluzCHZUKuhC+Bk3MayNPcpgDRyG+sg+n2sitEUySKxUynirVpu9ItKw== @@ -107,23 +99,23 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== -"@topcoder-framework/client-relational@0.4.23-ci.0", "@topcoder-framework/client-relational@^0.4.23-ci.0": - version "0.4.23-ci.0" - resolved "http://localhost:4873/@topcoder-framework%2fclient-relational/-/client-relational-0.4.23-ci.0.tgz#73e5dc1a5fa0c92f0dc79f62042cd6f2b988fa02" - integrity sha512-tRGCA//dqqc952KOSPoNBmN//ry+Vp3Yi9zm29zdDqIdKdUpyQn0yKNyVJ9ZhYSFXymW4c3vGt8O7el48wEjLg== +"@topcoder-framework/client-relational@^0.4.22-ci.0", "@topcoder-framework/client-relational@^0.4.24-ci.0": + version "0.4.24-ci.0" + resolved "http://localhost:4873/@topcoder-framework%2fclient-relational/-/client-relational-0.4.24-ci.0.tgz#ada970a70f7c9c34371752523ce20cbf734a40a7" + integrity sha512-cnyzp4414BQuFml//y2A9Vgo0ULMSFEEnKjrq8kdpitvncVIenkowai6Geic37tOvnwZG3xxBNtmiHpDw3u/4A== dependencies: "@grpc/grpc-js" "^1.8.0" "@topcoder-framework/lib-common" "0.4.23-ci.0" topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.10" tslib "^2.4.1" -"@topcoder-framework/lib-common@0.4.23-ci.0", "@topcoder-framework/lib-common@^0.4.23-ci.0": - version "0.4.23-ci.0" - resolved "http://localhost:4873/@topcoder-framework%2flib-common/-/lib-common-0.4.23-ci.0.tgz#b2728bc27fca017cca5982b53eebcdfb90e04acc" - integrity sha512-t3uvwmr5qE2VKcil9XMzh+0Z0lGihdltojhX8Cq4zqpeJHK9zrgBhU1WFXlPwBjNu3RglI5qaeTwvENE6ktR6w== +"@topcoder-framework/lib-common@0.4.23-ci.0", "@topcoder-framework/lib-common@^0.4.24-ci.0": + version "0.4.24-ci.0" + resolved "http://localhost:4873/@topcoder-framework%2flib-common/-/lib-common-0.4.24-ci.0.tgz#3f32ce108fa799bb5522200f21c4173e1328f816" + integrity sha512-h3TrHGUIewfd/psX7yvoT/eUrh+E3KDpTCWEyVrmb3YD8CcvqFzeks2ryTZ1JADJHJoREQUFRNuW5odApQbJIg== dependencies: "@grpc/grpc-js" "^1.8.0" - "@topcoder-framework/client-relational" "0.4.23-ci.0" + "@topcoder-framework/client-relational" "^0.4.22-ci.0" rimraf "^3.0.2" topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.10" tslib "^2.4.1" @@ -158,11 +150,16 @@ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== -"@types/node@18.11.18", "@types/node@>=12.12.47", "@types/node@>=13.7.0": +"@types/node@18.11.18": version "18.11.18" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== +"@types/node@>=12.12.47", "@types/node@>=13.7.0": + version "18.11.19" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.19.tgz#35e26df9ec441ab99d73e99e9aca82935eea216d" + integrity sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw== + "@types/object-hash@^1.3.0": version "1.3.4" resolved "https://registry.yarnpkg.com/@types/object-hash/-/object-hash-1.3.4.tgz#079ba142be65833293673254831b5e3e847fe58b" @@ -189,9 +186,9 @@ acorn-walk@^8.1.1: integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== acorn@^8.4.1: - version "8.8.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" - integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== ansi-regex@^5.0.1: version "5.0.1" @@ -556,9 +553,9 @@ protobufjs@^6.11.3, protobufjs@^6.8.8: long "^4.0.0" protobufjs@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.1.2.tgz#a0cf6aeaf82f5625bffcf5a38b7cd2a7de05890c" - integrity sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ== + version "7.2.1" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.1.tgz#939e76a8e69fd5c70b13f7dd78565d65ce20cdcb" + integrity sha512-L3pCItypTnPK27+CS8nuhZMYtsY+i8dqdq2vZsYHlG17CnWp1DWPQ/sos0vOKrj1fHEAzo3GBqSHLaeZyKUCDA== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -723,9 +720,9 @@ ts-proto-descriptors@1.7.1: protobufjs "^6.8.8" ts-proto@^1.126.1: - version "1.138.0" - resolved "https://registry.yarnpkg.com/ts-proto/-/ts-proto-1.138.0.tgz#aafbf66f83da1f36933fce4ba43c352a9b8fd73e" - integrity sha512-C12rKQdzV2/7ncusEkcyO6Z3EK+04TfZSVdRwmhwkrNcwcktm3Azg7NKBpDTgvpktGQ4nTTPRSlO5CGTkx1zJg== + version "1.139.0" + resolved "https://registry.yarnpkg.com/ts-proto/-/ts-proto-1.139.0.tgz#de681b59aae145fc2e55cbb00f7fdb5846e8dbc6" + integrity sha512-DXfRVbsEnzan/tpb7RxuJOgjhzwuxDsyXbYSnF8JHCIDcJ/JxeqeUyDUVICFGmgqrsPcnjn5t3iqOUZRNRm9tg== dependencies: "@types/object-hash" "^1.3.0" case-anything "^2.1.10" @@ -751,9 +748,9 @@ tslib@^2.4.1: integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== typescript@^4.9.4: - version "4.9.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" - integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== uuid@8.3.2: version "8.3.2"