From a368d796748939eaa9d90872c632592bb3b5524c Mon Sep 17 00:00:00 2001 From: Thomas Kranitsas Date: Tue, 7 Mar 2023 16:21:24 +0200 Subject: [PATCH] feat: submission.update, reviewSummation --- src/domain/LegacySubmission.ts | 19 +- src/domain/LegacyUpload.ts | 24 + .../legacy/long_component_state.ts | 362 +++++++++++ .../domain-layer/legacy/long_submission.ts | 311 ++++++++++ .../domain-layer/legacy/round_registration.ts | 214 +++++++ .../legacy/services/long_component_state.ts | 57 ++ .../legacy/services/long_submission.ts | 32 + .../legacy/services/resource_submission.ts | 42 ++ .../legacy/services/round_registration.ts | 32 + .../legacy/services/submission.ts | 46 +- .../domain-layer/legacy/services/upload.ts | 68 +++ src/models/domain-layer/legacy/submission.ts | 417 ++++++------- src/models/domain-layer/legacy/upload.ts | 570 ++++++++++++++++++ src/schema/submission/Submission.ts | 21 + src/schema/submission/Upload.ts | 22 + src/server.ts | 2 + src/service/LegacySubmission.ts | 8 +- src/service/LegacyUpload.ts | 52 ++ 18 files changed, 2057 insertions(+), 242 deletions(-) create mode 100644 src/domain/LegacyUpload.ts create mode 100644 src/models/domain-layer/legacy/long_component_state.ts create mode 100644 src/models/domain-layer/legacy/long_submission.ts create mode 100644 src/models/domain-layer/legacy/round_registration.ts create mode 100644 src/models/domain-layer/legacy/services/long_component_state.ts create mode 100644 src/models/domain-layer/legacy/services/long_submission.ts create mode 100644 src/models/domain-layer/legacy/services/resource_submission.ts create mode 100644 src/models/domain-layer/legacy/services/round_registration.ts create mode 100644 src/models/domain-layer/legacy/services/upload.ts create mode 100644 src/models/domain-layer/legacy/upload.ts create mode 100644 src/schema/submission/Submission.ts create mode 100644 src/schema/submission/Upload.ts create mode 100644 src/service/LegacyUpload.ts diff --git a/src/domain/LegacySubmission.ts b/src/domain/LegacySubmission.ts index 4ac999c..ca12617 100644 --- a/src/domain/LegacySubmission.ts +++ b/src/domain/LegacySubmission.ts @@ -1,9 +1,12 @@ -import { Operator, QueryBuilder } from "@topcoder-framework/client-relational"; +import { Operator, Query, QueryBuilder } from "@topcoder-framework/client-relational"; +import { UpdateResult, Value } from "@topcoder-framework/lib-common"; +import { Util } from "../common/Util"; import { queryRunner } from "../helper/QueryRunner"; import { - CreateSubmissionInput, + CreateSubmissionInput, UpdateSubmissionInput, } from "../models/domain-layer/legacy/submission"; import { ProjectSchema } from "../schema/project/Project"; +import { LegacySubmissionSchema } from "../schema/submission/Submission"; class LegacySubmissionDomain { public async checkSubmissionExists( @@ -93,6 +96,18 @@ class LegacySubmissionDomain { // }; // return Promise.resolve(10); // } + + public async update(input: UpdateSubmissionInput): Promise { + const query: Query = new QueryBuilder(LegacySubmissionSchema) + .update({ ...input }) + .where(...Util.toScanCriteria({ ...input } as { [key: string]: number|string|undefined })) + .build(); + + const { affectedRows } = await queryRunner.run(query); + return { + updatedCount: affectedRows || 0, + } + } } export default new LegacySubmissionDomain(); diff --git a/src/domain/LegacyUpload.ts b/src/domain/LegacyUpload.ts new file mode 100644 index 0000000..d8d204e --- /dev/null +++ b/src/domain/LegacyUpload.ts @@ -0,0 +1,24 @@ +import { Query, QueryBuilder } from "@topcoder-framework/client-relational"; +import { UpdateResult } from "@topcoder-framework/lib-common"; +import { Util } from "../common/Util"; +import { queryRunner } from "../helper/QueryRunner"; +import { + UpdateUploadInput, +} from "../models/domain-layer/legacy/upload"; +import { UploadSchema } from "../schema/submission/Upload"; + +class LegacySubmissionDomain { + public async update(input: UpdateUploadInput): Promise { + const query: Query = new QueryBuilder(UploadSchema) + .update({ ...input }) + .where(...Util.toScanCriteria({ ...input } as { [key: string]: number|string|undefined })) + .build(); + + const { affectedRows } = await queryRunner.run(query); + return { + updatedCount: affectedRows || 0, + } + } +} + +export default new LegacySubmissionDomain(); diff --git a/src/models/domain-layer/legacy/long_component_state.ts b/src/models/domain-layer/legacy/long_component_state.ts new file mode 100644 index 0000000..6a44a15 --- /dev/null +++ b/src/models/domain-layer/legacy/long_component_state.ts @@ -0,0 +1,362 @@ +/* eslint-disable */ +import _m0 from "protobufjs/minimal"; + +export interface LongComponentState { + longComponentStateId: number; + roundId: number; + coderId: number; + componentId: number; + points: number; + statusId: number; + submissionNumber: number; + exampleSubmissionNumber: number; +} + +export interface CreateLongComponentStateInput { + roundId: number; + coderId: number; + componentId: number; + points: number; + statusId: number; + submissionNumber: number; + exampleSubmissionNumber: number; +} + +export interface UpdateLongComponentStateInput { + longComponentStateId: number; + submissionNumber?: number | undefined; + points?: number | undefined; +} + +function createBaseLongComponentState(): LongComponentState { + return { + longComponentStateId: 0, + roundId: 0, + coderId: 0, + componentId: 0, + points: 0, + statusId: 0, + submissionNumber: 0, + exampleSubmissionNumber: 0, + }; +} + +export const LongComponentState = { + encode(message: LongComponentState, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.longComponentStateId !== 0) { + writer.uint32(8).int32(message.longComponentStateId); + } + if (message.roundId !== 0) { + writer.uint32(16).int32(message.roundId); + } + if (message.coderId !== 0) { + writer.uint32(24).int32(message.coderId); + } + if (message.componentId !== 0) { + writer.uint32(32).int32(message.componentId); + } + if (message.points !== 0) { + writer.uint32(40).int32(message.points); + } + if (message.statusId !== 0) { + writer.uint32(48).int32(message.statusId); + } + if (message.submissionNumber !== 0) { + writer.uint32(56).int32(message.submissionNumber); + } + if (message.exampleSubmissionNumber !== 0) { + writer.uint32(64).int32(message.exampleSubmissionNumber); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): LongComponentState { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLongComponentState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.longComponentStateId = reader.int32(); + break; + case 2: + message.roundId = reader.int32(); + break; + case 3: + message.coderId = reader.int32(); + break; + case 4: + message.componentId = reader.int32(); + break; + case 5: + message.points = reader.int32(); + break; + case 6: + message.statusId = reader.int32(); + break; + case 7: + message.submissionNumber = reader.int32(); + break; + case 8: + message.exampleSubmissionNumber = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): LongComponentState { + return { + longComponentStateId: isSet(object.longComponentStateId) ? Number(object.longComponentStateId) : 0, + roundId: isSet(object.roundId) ? Number(object.roundId) : 0, + coderId: isSet(object.coderId) ? Number(object.coderId) : 0, + componentId: isSet(object.componentId) ? Number(object.componentId) : 0, + points: isSet(object.points) ? Number(object.points) : 0, + statusId: isSet(object.statusId) ? Number(object.statusId) : 0, + submissionNumber: isSet(object.submissionNumber) ? Number(object.submissionNumber) : 0, + exampleSubmissionNumber: isSet(object.exampleSubmissionNumber) ? Number(object.exampleSubmissionNumber) : 0, + }; + }, + + toJSON(message: LongComponentState): unknown { + const obj: any = {}; + message.longComponentStateId !== undefined && (obj.longComponentStateId = Math.round(message.longComponentStateId)); + message.roundId !== undefined && (obj.roundId = Math.round(message.roundId)); + message.coderId !== undefined && (obj.coderId = Math.round(message.coderId)); + message.componentId !== undefined && (obj.componentId = Math.round(message.componentId)); + message.points !== undefined && (obj.points = Math.round(message.points)); + message.statusId !== undefined && (obj.statusId = Math.round(message.statusId)); + message.submissionNumber !== undefined && (obj.submissionNumber = Math.round(message.submissionNumber)); + message.exampleSubmissionNumber !== undefined && + (obj.exampleSubmissionNumber = Math.round(message.exampleSubmissionNumber)); + return obj; + }, + + create, I>>(base?: I): LongComponentState { + return LongComponentState.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): LongComponentState { + const message = createBaseLongComponentState(); + message.longComponentStateId = object.longComponentStateId ?? 0; + message.roundId = object.roundId ?? 0; + message.coderId = object.coderId ?? 0; + message.componentId = object.componentId ?? 0; + message.points = object.points ?? 0; + message.statusId = object.statusId ?? 0; + message.submissionNumber = object.submissionNumber ?? 0; + message.exampleSubmissionNumber = object.exampleSubmissionNumber ?? 0; + return message; + }, +}; + +function createBaseCreateLongComponentStateInput(): CreateLongComponentStateInput { + return { + roundId: 0, + coderId: 0, + componentId: 0, + points: 0, + statusId: 0, + submissionNumber: 0, + exampleSubmissionNumber: 0, + }; +} + +export const CreateLongComponentStateInput = { + encode(message: CreateLongComponentStateInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.roundId !== 0) { + writer.uint32(8).int32(message.roundId); + } + if (message.coderId !== 0) { + writer.uint32(16).int32(message.coderId); + } + if (message.componentId !== 0) { + writer.uint32(24).int32(message.componentId); + } + if (message.points !== 0) { + writer.uint32(32).int32(message.points); + } + if (message.statusId !== 0) { + writer.uint32(40).int32(message.statusId); + } + if (message.submissionNumber !== 0) { + writer.uint32(48).int32(message.submissionNumber); + } + if (message.exampleSubmissionNumber !== 0) { + writer.uint32(56).int32(message.exampleSubmissionNumber); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CreateLongComponentStateInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateLongComponentStateInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.roundId = reader.int32(); + break; + case 2: + message.coderId = reader.int32(); + break; + case 3: + message.componentId = reader.int32(); + break; + case 4: + message.points = reader.int32(); + break; + case 5: + message.statusId = reader.int32(); + break; + case 6: + message.submissionNumber = reader.int32(); + break; + case 7: + message.exampleSubmissionNumber = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): CreateLongComponentStateInput { + return { + roundId: isSet(object.roundId) ? Number(object.roundId) : 0, + coderId: isSet(object.coderId) ? Number(object.coderId) : 0, + componentId: isSet(object.componentId) ? Number(object.componentId) : 0, + points: isSet(object.points) ? Number(object.points) : 0, + statusId: isSet(object.statusId) ? Number(object.statusId) : 0, + submissionNumber: isSet(object.submissionNumber) ? Number(object.submissionNumber) : 0, + exampleSubmissionNumber: isSet(object.exampleSubmissionNumber) ? Number(object.exampleSubmissionNumber) : 0, + }; + }, + + toJSON(message: CreateLongComponentStateInput): unknown { + const obj: any = {}; + message.roundId !== undefined && (obj.roundId = Math.round(message.roundId)); + message.coderId !== undefined && (obj.coderId = Math.round(message.coderId)); + message.componentId !== undefined && (obj.componentId = Math.round(message.componentId)); + message.points !== undefined && (obj.points = Math.round(message.points)); + message.statusId !== undefined && (obj.statusId = Math.round(message.statusId)); + message.submissionNumber !== undefined && (obj.submissionNumber = Math.round(message.submissionNumber)); + message.exampleSubmissionNumber !== undefined && + (obj.exampleSubmissionNumber = Math.round(message.exampleSubmissionNumber)); + return obj; + }, + + create, I>>(base?: I): CreateLongComponentStateInput { + return CreateLongComponentStateInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): CreateLongComponentStateInput { + const message = createBaseCreateLongComponentStateInput(); + message.roundId = object.roundId ?? 0; + message.coderId = object.coderId ?? 0; + message.componentId = object.componentId ?? 0; + message.points = object.points ?? 0; + message.statusId = object.statusId ?? 0; + message.submissionNumber = object.submissionNumber ?? 0; + message.exampleSubmissionNumber = object.exampleSubmissionNumber ?? 0; + return message; + }, +}; + +function createBaseUpdateLongComponentStateInput(): UpdateLongComponentStateInput { + return { longComponentStateId: 0, submissionNumber: undefined, points: undefined }; +} + +export const UpdateLongComponentStateInput = { + encode(message: UpdateLongComponentStateInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.longComponentStateId !== 0) { + writer.uint32(8).int32(message.longComponentStateId); + } + if (message.submissionNumber !== undefined) { + writer.uint32(16).int32(message.submissionNumber); + } + if (message.points !== undefined) { + writer.uint32(24).int32(message.points); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): UpdateLongComponentStateInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpdateLongComponentStateInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.longComponentStateId = reader.int32(); + break; + case 2: + message.submissionNumber = reader.int32(); + break; + case 3: + message.points = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): UpdateLongComponentStateInput { + return { + longComponentStateId: isSet(object.longComponentStateId) ? Number(object.longComponentStateId) : 0, + submissionNumber: isSet(object.submissionNumber) ? Number(object.submissionNumber) : undefined, + points: isSet(object.points) ? Number(object.points) : undefined, + }; + }, + + toJSON(message: UpdateLongComponentStateInput): unknown { + const obj: any = {}; + message.longComponentStateId !== undefined && (obj.longComponentStateId = Math.round(message.longComponentStateId)); + message.submissionNumber !== undefined && (obj.submissionNumber = Math.round(message.submissionNumber)); + message.points !== undefined && (obj.points = Math.round(message.points)); + return obj; + }, + + create, I>>(base?: I): UpdateLongComponentStateInput { + return UpdateLongComponentStateInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): UpdateLongComponentStateInput { + const message = createBaseUpdateLongComponentStateInput(); + message.longComponentStateId = object.longComponentStateId ?? 0; + message.submissionNumber = object.submissionNumber ?? undefined; + message.points = object.points ?? undefined; + 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/long_submission.ts b/src/models/domain-layer/legacy/long_submission.ts new file mode 100644 index 0000000..334e561 --- /dev/null +++ b/src/models/domain-layer/legacy/long_submission.ts @@ -0,0 +1,311 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface LongSubmission { + longComponentStateId: number; + submissionNumber: number; + submissionText: string; + openTime: number; + submitTime: number; + submissionPoints: number; + languageId: number; + example: boolean; +} + +export interface CreateLongSubmissionInput { + submissionNumber: number; + submissionText: string; + openTime: number; + submitTime: number; + submissionPoints: number; + languageId: number; + example: boolean; +} + +function createBaseLongSubmission(): LongSubmission { + return { + longComponentStateId: 0, + submissionNumber: 0, + submissionText: "", + openTime: 0, + submitTime: 0, + submissionPoints: 0, + languageId: 0, + example: false, + }; +} + +export const LongSubmission = { + encode(message: LongSubmission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.longComponentStateId !== 0) { + writer.uint32(8).int32(message.longComponentStateId); + } + if (message.submissionNumber !== 0) { + writer.uint32(16).int32(message.submissionNumber); + } + if (message.submissionText !== "") { + writer.uint32(26).string(message.submissionText); + } + if (message.openTime !== 0) { + writer.uint32(32).int64(message.openTime); + } + if (message.submitTime !== 0) { + writer.uint32(40).int64(message.submitTime); + } + if (message.submissionPoints !== 0) { + writer.uint32(48).int32(message.submissionPoints); + } + if (message.languageId !== 0) { + writer.uint32(56).int32(message.languageId); + } + if (message.example === true) { + writer.uint32(64).bool(message.example); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): LongSubmission { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLongSubmission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.longComponentStateId = reader.int32(); + break; + case 2: + message.submissionNumber = reader.int32(); + break; + case 3: + message.submissionText = reader.string(); + break; + case 4: + message.openTime = longToNumber(reader.int64() as Long); + break; + case 5: + message.submitTime = longToNumber(reader.int64() as Long); + break; + case 6: + message.submissionPoints = reader.int32(); + break; + case 7: + message.languageId = reader.int32(); + break; + case 8: + message.example = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): LongSubmission { + return { + longComponentStateId: isSet(object.longComponentStateId) ? Number(object.longComponentStateId) : 0, + submissionNumber: isSet(object.submissionNumber) ? Number(object.submissionNumber) : 0, + submissionText: isSet(object.submissionText) ? String(object.submissionText) : "", + openTime: isSet(object.openTime) ? Number(object.openTime) : 0, + submitTime: isSet(object.submitTime) ? Number(object.submitTime) : 0, + submissionPoints: isSet(object.submissionPoints) ? Number(object.submissionPoints) : 0, + languageId: isSet(object.languageId) ? Number(object.languageId) : 0, + example: isSet(object.example) ? Boolean(object.example) : false, + }; + }, + + toJSON(message: LongSubmission): unknown { + const obj: any = {}; + message.longComponentStateId !== undefined && (obj.longComponentStateId = Math.round(message.longComponentStateId)); + message.submissionNumber !== undefined && (obj.submissionNumber = Math.round(message.submissionNumber)); + message.submissionText !== undefined && (obj.submissionText = message.submissionText); + message.openTime !== undefined && (obj.openTime = Math.round(message.openTime)); + message.submitTime !== undefined && (obj.submitTime = Math.round(message.submitTime)); + message.submissionPoints !== undefined && (obj.submissionPoints = Math.round(message.submissionPoints)); + message.languageId !== undefined && (obj.languageId = Math.round(message.languageId)); + message.example !== undefined && (obj.example = message.example); + return obj; + }, + + create, I>>(base?: I): LongSubmission { + return LongSubmission.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): LongSubmission { + const message = createBaseLongSubmission(); + message.longComponentStateId = object.longComponentStateId ?? 0; + message.submissionNumber = object.submissionNumber ?? 0; + message.submissionText = object.submissionText ?? ""; + message.openTime = object.openTime ?? 0; + message.submitTime = object.submitTime ?? 0; + message.submissionPoints = object.submissionPoints ?? 0; + message.languageId = object.languageId ?? 0; + message.example = object.example ?? false; + return message; + }, +}; + +function createBaseCreateLongSubmissionInput(): CreateLongSubmissionInput { + return { + submissionNumber: 0, + submissionText: "", + openTime: 0, + submitTime: 0, + submissionPoints: 0, + languageId: 0, + example: false, + }; +} + +export const CreateLongSubmissionInput = { + encode(message: CreateLongSubmissionInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.submissionNumber !== 0) { + writer.uint32(8).int32(message.submissionNumber); + } + if (message.submissionText !== "") { + writer.uint32(18).string(message.submissionText); + } + if (message.openTime !== 0) { + writer.uint32(24).int64(message.openTime); + } + if (message.submitTime !== 0) { + writer.uint32(32).int64(message.submitTime); + } + if (message.submissionPoints !== 0) { + writer.uint32(40).int32(message.submissionPoints); + } + if (message.languageId !== 0) { + writer.uint32(48).int32(message.languageId); + } + if (message.example === true) { + writer.uint32(56).bool(message.example); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CreateLongSubmissionInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateLongSubmissionInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.submissionNumber = reader.int32(); + break; + case 2: + message.submissionText = reader.string(); + break; + case 3: + message.openTime = longToNumber(reader.int64() as Long); + break; + case 4: + message.submitTime = longToNumber(reader.int64() as Long); + break; + case 5: + message.submissionPoints = reader.int32(); + break; + case 6: + message.languageId = reader.int32(); + break; + case 7: + message.example = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): CreateLongSubmissionInput { + return { + submissionNumber: isSet(object.submissionNumber) ? Number(object.submissionNumber) : 0, + submissionText: isSet(object.submissionText) ? String(object.submissionText) : "", + openTime: isSet(object.openTime) ? Number(object.openTime) : 0, + submitTime: isSet(object.submitTime) ? Number(object.submitTime) : 0, + submissionPoints: isSet(object.submissionPoints) ? Number(object.submissionPoints) : 0, + languageId: isSet(object.languageId) ? Number(object.languageId) : 0, + example: isSet(object.example) ? Boolean(object.example) : false, + }; + }, + + toJSON(message: CreateLongSubmissionInput): unknown { + const obj: any = {}; + message.submissionNumber !== undefined && (obj.submissionNumber = Math.round(message.submissionNumber)); + message.submissionText !== undefined && (obj.submissionText = message.submissionText); + message.openTime !== undefined && (obj.openTime = Math.round(message.openTime)); + message.submitTime !== undefined && (obj.submitTime = Math.round(message.submitTime)); + message.submissionPoints !== undefined && (obj.submissionPoints = Math.round(message.submissionPoints)); + message.languageId !== undefined && (obj.languageId = Math.round(message.languageId)); + message.example !== undefined && (obj.example = message.example); + return obj; + }, + + create, I>>(base?: I): CreateLongSubmissionInput { + return CreateLongSubmissionInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CreateLongSubmissionInput { + const message = createBaseCreateLongSubmissionInput(); + message.submissionNumber = object.submissionNumber ?? 0; + message.submissionText = object.submissionText ?? ""; + message.openTime = object.openTime ?? 0; + message.submitTime = object.submitTime ?? 0; + message.submissionPoints = object.submissionPoints ?? 0; + message.languageId = object.languageId ?? 0; + message.example = object.example ?? false; + 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/round_registration.ts b/src/models/domain-layer/legacy/round_registration.ts new file mode 100644 index 0000000..c1e1c03 --- /dev/null +++ b/src/models/domain-layer/legacy/round_registration.ts @@ -0,0 +1,214 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +export interface RoundRegistration { + roundId: number; + coderId: number; +} + +export interface CreateRoundRegistrationInput { + roundId: number; + coderId: number; + timestamp: number; + eligible: boolean; + teamId: number; +} + +function createBaseRoundRegistration(): RoundRegistration { + return { roundId: 0, coderId: 0 }; +} + +export const RoundRegistration = { + encode(message: RoundRegistration, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.roundId !== 0) { + writer.uint32(8).int32(message.roundId); + } + if (message.coderId !== 0) { + writer.uint32(16).int32(message.coderId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): RoundRegistration { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRoundRegistration(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.roundId = reader.int32(); + break; + case 2: + message.coderId = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): RoundRegistration { + return { + roundId: isSet(object.roundId) ? Number(object.roundId) : 0, + coderId: isSet(object.coderId) ? Number(object.coderId) : 0, + }; + }, + + toJSON(message: RoundRegistration): unknown { + const obj: any = {}; + message.roundId !== undefined && (obj.roundId = Math.round(message.roundId)); + message.coderId !== undefined && (obj.coderId = Math.round(message.coderId)); + return obj; + }, + + create, I>>(base?: I): RoundRegistration { + return RoundRegistration.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): RoundRegistration { + const message = createBaseRoundRegistration(); + message.roundId = object.roundId ?? 0; + message.coderId = object.coderId ?? 0; + return message; + }, +}; + +function createBaseCreateRoundRegistrationInput(): CreateRoundRegistrationInput { + return { roundId: 0, coderId: 0, timestamp: 0, eligible: false, teamId: 0 }; +} + +export const CreateRoundRegistrationInput = { + encode(message: CreateRoundRegistrationInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.roundId !== 0) { + writer.uint32(8).int32(message.roundId); + } + if (message.coderId !== 0) { + writer.uint32(16).int32(message.coderId); + } + if (message.timestamp !== 0) { + writer.uint32(24).int64(message.timestamp); + } + if (message.eligible === true) { + writer.uint32(32).bool(message.eligible); + } + if (message.teamId !== 0) { + writer.uint32(40).int32(message.teamId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CreateRoundRegistrationInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateRoundRegistrationInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.roundId = reader.int32(); + break; + case 2: + message.coderId = reader.int32(); + break; + case 3: + message.timestamp = longToNumber(reader.int64() as Long); + break; + case 4: + message.eligible = reader.bool(); + break; + case 5: + message.teamId = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): CreateRoundRegistrationInput { + return { + roundId: isSet(object.roundId) ? Number(object.roundId) : 0, + coderId: isSet(object.coderId) ? Number(object.coderId) : 0, + timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0, + eligible: isSet(object.eligible) ? Boolean(object.eligible) : false, + teamId: isSet(object.teamId) ? Number(object.teamId) : 0, + }; + }, + + toJSON(message: CreateRoundRegistrationInput): unknown { + const obj: any = {}; + message.roundId !== undefined && (obj.roundId = Math.round(message.roundId)); + message.coderId !== undefined && (obj.coderId = Math.round(message.coderId)); + message.timestamp !== undefined && (obj.timestamp = Math.round(message.timestamp)); + message.eligible !== undefined && (obj.eligible = message.eligible); + message.teamId !== undefined && (obj.teamId = Math.round(message.teamId)); + return obj; + }, + + create, I>>(base?: I): CreateRoundRegistrationInput { + return CreateRoundRegistrationInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CreateRoundRegistrationInput { + const message = createBaseCreateRoundRegistrationInput(); + message.roundId = object.roundId ?? 0; + message.coderId = object.coderId ?? 0; + message.timestamp = object.timestamp ?? 0; + message.eligible = object.eligible ?? false; + message.teamId = object.teamId ?? 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/long_component_state.ts b/src/models/domain-layer/legacy/services/long_component_state.ts new file mode 100644 index 0000000..8118d6d --- /dev/null +++ b/src/models/domain-layer/legacy/services/long_component_state.ts @@ -0,0 +1,57 @@ +/* eslint-disable */ +import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; +import { CreateResult, LookupCriteria, ScanRequest, ScanResult, UpdateResult } from "@topcoder-framework/lib-common"; +import { + CreateLongComponentStateInput, + LongComponentState, + UpdateLongComponentStateInput, +} from "../long_component_state"; + +export type LegacyLongComponentStateService = typeof LegacyLongComponentStateService; +export const LegacyLongComponentStateService = { + scan: { + path: "/topcoder.domain.service.legacy_long_component_state.LegacyLongComponentState/Scan", + requestStream: false, + responseStream: false, + requestSerialize: (value: ScanRequest) => Buffer.from(ScanRequest.encode(value).finish()), + requestDeserialize: (value: Buffer) => ScanRequest.decode(value), + responseSerialize: (value: ScanResult) => Buffer.from(ScanResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => ScanResult.decode(value), + }, + lookup: { + path: "/topcoder.domain.service.legacy_long_component_state.LegacyLongComponentState/Lookup", + requestStream: false, + responseStream: false, + requestSerialize: (value: LookupCriteria) => Buffer.from(LookupCriteria.encode(value).finish()), + requestDeserialize: (value: Buffer) => LookupCriteria.decode(value), + responseSerialize: (value: LongComponentState) => Buffer.from(LongComponentState.encode(value).finish()), + responseDeserialize: (value: Buffer) => LongComponentState.decode(value), + }, + create: { + path: "/topcoder.domain.service.legacy_long_component_state.LegacyLongComponentState/Create", + requestStream: false, + responseStream: false, + requestSerialize: (value: CreateLongComponentStateInput) => + Buffer.from(CreateLongComponentStateInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => CreateLongComponentStateInput.decode(value), + responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => CreateResult.decode(value), + }, + update: { + path: "/topcoder.domain.service.legacy_long_component_state.LegacyLongComponentState/Update", + requestStream: false, + responseStream: false, + requestSerialize: (value: UpdateLongComponentStateInput) => + Buffer.from(UpdateLongComponentStateInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => UpdateLongComponentStateInput.decode(value), + responseSerialize: (value: UpdateResult) => Buffer.from(UpdateResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => UpdateResult.decode(value), + }, +} as const; + +export interface LegacyLongComponentStateServer extends UntypedServiceImplementation { + scan: handleUnaryCall; + lookup: handleUnaryCall; + create: handleUnaryCall; + update: handleUnaryCall; +} diff --git a/src/models/domain-layer/legacy/services/long_submission.ts b/src/models/domain-layer/legacy/services/long_submission.ts new file mode 100644 index 0000000..73d7858 --- /dev/null +++ b/src/models/domain-layer/legacy/services/long_submission.ts @@ -0,0 +1,32 @@ +/* eslint-disable */ +import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; +import { CreateResult, ScanRequest, ScanResult } from "@topcoder-framework/lib-common"; +import { CreateLongSubmissionInput } from "../long_submission"; + +export type LegacyLongSubmissionService = typeof LegacyLongSubmissionService; +export const LegacyLongSubmissionService = { + scan: { + path: "/topcoder.domain.service.legacy_long_submission.LegacyLongSubmission/Scan", + requestStream: false, + responseStream: false, + requestSerialize: (value: ScanRequest) => Buffer.from(ScanRequest.encode(value).finish()), + requestDeserialize: (value: Buffer) => ScanRequest.decode(value), + responseSerialize: (value: ScanResult) => Buffer.from(ScanResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => ScanResult.decode(value), + }, + create: { + path: "/topcoder.domain.service.legacy_long_submission.LegacyLongSubmission/Create", + requestStream: false, + responseStream: false, + requestSerialize: (value: CreateLongSubmissionInput) => + Buffer.from(CreateLongSubmissionInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => CreateLongSubmissionInput.decode(value), + responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => CreateResult.decode(value), + }, +} as const; + +export interface LegacyLongSubmissionServer extends UntypedServiceImplementation { + scan: handleUnaryCall; + create: handleUnaryCall; +} diff --git a/src/models/domain-layer/legacy/services/resource_submission.ts b/src/models/domain-layer/legacy/services/resource_submission.ts new file mode 100644 index 0000000..8a0c87b --- /dev/null +++ b/src/models/domain-layer/legacy/services/resource_submission.ts @@ -0,0 +1,42 @@ +/* eslint-disable */ +import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; +import { CreateResult, LookupCriteria, ScanRequest, ScanResult } from "@topcoder-framework/lib-common"; +import { CreateResourceSubmissionInput, ResourceSubmission } from "../resource_submission"; + +export type LegacyResourceSubmissionService = typeof LegacyResourceSubmissionService; +export const LegacyResourceSubmissionService = { + scan: { + path: "/topcoder.domain.service.legacy_resource_submission.LegacyResourceSubmission/Scan", + requestStream: false, + responseStream: false, + requestSerialize: (value: ScanRequest) => Buffer.from(ScanRequest.encode(value).finish()), + requestDeserialize: (value: Buffer) => ScanRequest.decode(value), + responseSerialize: (value: ScanResult) => Buffer.from(ScanResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => ScanResult.decode(value), + }, + lookup: { + path: "/topcoder.domain.service.legacy_resource_submission.LegacyResourceSubmission/Lookup", + requestStream: false, + responseStream: false, + requestSerialize: (value: LookupCriteria) => Buffer.from(LookupCriteria.encode(value).finish()), + requestDeserialize: (value: Buffer) => LookupCriteria.decode(value), + responseSerialize: (value: ResourceSubmission) => Buffer.from(ResourceSubmission.encode(value).finish()), + responseDeserialize: (value: Buffer) => ResourceSubmission.decode(value), + }, + create: { + path: "/topcoder.domain.service.legacy_resource_submission.LegacyResourceSubmission/Create", + requestStream: false, + responseStream: false, + requestSerialize: (value: CreateResourceSubmissionInput) => + Buffer.from(CreateResourceSubmissionInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => CreateResourceSubmissionInput.decode(value), + responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => CreateResult.decode(value), + }, +} as const; + +export interface LegacyResourceSubmissionServer extends UntypedServiceImplementation { + scan: handleUnaryCall; + lookup: handleUnaryCall; + create: handleUnaryCall; +} diff --git a/src/models/domain-layer/legacy/services/round_registration.ts b/src/models/domain-layer/legacy/services/round_registration.ts new file mode 100644 index 0000000..780da6c --- /dev/null +++ b/src/models/domain-layer/legacy/services/round_registration.ts @@ -0,0 +1,32 @@ +/* eslint-disable */ +import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; +import { CreateResult, ScanRequest, ScanResult } from "@topcoder-framework/lib-common"; +import { CreateRoundRegistrationInput } from "../round_registration"; + +export type LegacyRoundRegistrationService = typeof LegacyRoundRegistrationService; +export const LegacyRoundRegistrationService = { + scan: { + path: "/topcoder.domain.service.legacy_round_registration.LegacyRoundRegistration/Scan", + requestStream: false, + responseStream: false, + requestSerialize: (value: ScanRequest) => Buffer.from(ScanRequest.encode(value).finish()), + requestDeserialize: (value: Buffer) => ScanRequest.decode(value), + responseSerialize: (value: ScanResult) => Buffer.from(ScanResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => ScanResult.decode(value), + }, + create: { + path: "/topcoder.domain.service.legacy_round_registration.LegacyRoundRegistration/Create", + requestStream: false, + responseStream: false, + requestSerialize: (value: CreateRoundRegistrationInput) => + Buffer.from(CreateRoundRegistrationInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => CreateRoundRegistrationInput.decode(value), + responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => CreateResult.decode(value), + }, +} as const; + +export interface LegacyRoundRegistrationServer extends UntypedServiceImplementation { + scan: handleUnaryCall; + create: handleUnaryCall; +} diff --git a/src/models/domain-layer/legacy/services/submission.ts b/src/models/domain-layer/legacy/services/submission.ts index 778a78c..b1c1367 100644 --- a/src/models/domain-layer/legacy/services/submission.ts +++ b/src/models/domain-layer/legacy/services/submission.ts @@ -1,36 +1,30 @@ /* eslint-disable */ import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; -import { CheckExistsResult, CreateResult, LookupCriteria, UpdateResult } from "@topcoder-framework/lib-common"; -import { - CreateSubmissionInput, - LegacySubmission, - LegacySubmissionId, - LegacySubmissionList, - UpdateSubmissionInput, -} from "../submission"; +import { CreateResult, LookupCriteria, ScanRequest, ScanResult, UpdateResult } from "@topcoder-framework/lib-common"; +import { CreateSubmissionInput, LegacySubmission, UpdateSubmissionInput } from "../submission"; export type LegacySubmissionService = typeof LegacySubmissionService; export const LegacySubmissionService = { - checkExists: { - path: "/topcoder.domain.service.legacy_submission_service.LegacySubmission/CheckExists", + scan: { + path: "/topcoder.domain.service.legacy_submission.LegacySubmission/Scan", requestStream: false, responseStream: false, - requestSerialize: (value: LegacySubmissionId) => Buffer.from(LegacySubmissionId.encode(value).finish()), - requestDeserialize: (value: Buffer) => LegacySubmissionId.decode(value), - responseSerialize: (value: CheckExistsResult) => Buffer.from(CheckExistsResult.encode(value).finish()), - responseDeserialize: (value: Buffer) => CheckExistsResult.decode(value), + requestSerialize: (value: ScanRequest) => Buffer.from(ScanRequest.encode(value).finish()), + requestDeserialize: (value: Buffer) => ScanRequest.decode(value), + responseSerialize: (value: ScanResult) => Buffer.from(ScanResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => ScanResult.decode(value), }, lookup: { - path: "/topcoder.domain.service.legacy_submission_service.LegacySubmission/Lookup", + path: "/topcoder.domain.service.legacy_submission.LegacySubmission/Lookup", requestStream: false, responseStream: false, requestSerialize: (value: LookupCriteria) => Buffer.from(LookupCriteria.encode(value).finish()), requestDeserialize: (value: Buffer) => LookupCriteria.decode(value), - responseSerialize: (value: LegacySubmissionList) => Buffer.from(LegacySubmissionList.encode(value).finish()), - responseDeserialize: (value: Buffer) => LegacySubmissionList.decode(value), + responseSerialize: (value: LegacySubmission) => Buffer.from(LegacySubmission.encode(value).finish()), + responseDeserialize: (value: Buffer) => LegacySubmission.decode(value), }, create: { - path: "/topcoder.domain.service.legacy_submission_service.LegacySubmission/Create", + path: "/topcoder.domain.service.legacy_submission.LegacySubmission/Create", requestStream: false, responseStream: false, requestSerialize: (value: CreateSubmissionInput) => Buffer.from(CreateSubmissionInput.encode(value).finish()), @@ -39,7 +33,7 @@ export const LegacySubmissionService = { responseDeserialize: (value: Buffer) => CreateResult.decode(value), }, update: { - path: "/topcoder.domain.service.legacy_submission_service.LegacySubmission/Update", + path: "/topcoder.domain.service.legacy_submission.LegacySubmission/Update", requestStream: false, responseStream: false, requestSerialize: (value: UpdateSubmissionInput) => Buffer.from(UpdateSubmissionInput.encode(value).finish()), @@ -47,21 +41,11 @@ export const LegacySubmissionService = { responseSerialize: (value: UpdateResult) => Buffer.from(UpdateResult.encode(value).finish()), responseDeserialize: (value: Buffer) => UpdateResult.decode(value), }, - get: { - path: "/topcoder.domain.service.legacy_submission_service.LegacySubmission/Get", - requestStream: false, - responseStream: false, - requestSerialize: (value: LegacySubmissionId) => Buffer.from(LegacySubmissionId.encode(value).finish()), - requestDeserialize: (value: Buffer) => LegacySubmissionId.decode(value), - responseSerialize: (value: LegacySubmission) => Buffer.from(LegacySubmission.encode(value).finish()), - responseDeserialize: (value: Buffer) => LegacySubmission.decode(value), - }, } as const; export interface LegacySubmissionServer extends UntypedServiceImplementation { - checkExists: handleUnaryCall; - lookup: handleUnaryCall; + scan: handleUnaryCall; + lookup: handleUnaryCall; create: handleUnaryCall; update: handleUnaryCall; - get: handleUnaryCall; } diff --git a/src/models/domain-layer/legacy/services/upload.ts b/src/models/domain-layer/legacy/services/upload.ts new file mode 100644 index 0000000..ffc6a31 --- /dev/null +++ b/src/models/domain-layer/legacy/services/upload.ts @@ -0,0 +1,68 @@ +/* eslint-disable */ +import { handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; +import { + CreateResult, + Empty, + LookupCriteria, + ScanRequest, + ScanResult, + UpdateResult, +} from "@topcoder-framework/lib-common"; +import { CreateUploadInput, UpdateUploadInput, Upload } from "../upload"; + +export type LegacyUploadService = typeof LegacyUploadService; +export const LegacyUploadService = { + scan: { + path: "/topcoder.domain.service.legacy_upload.LegacyUpload/Scan", + requestStream: false, + responseStream: false, + requestSerialize: (value: ScanRequest) => Buffer.from(ScanRequest.encode(value).finish()), + requestDeserialize: (value: Buffer) => ScanRequest.decode(value), + responseSerialize: (value: ScanResult) => Buffer.from(ScanResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => ScanResult.decode(value), + }, + lookup: { + path: "/topcoder.domain.service.legacy_upload.LegacyUpload/Lookup", + requestStream: false, + responseStream: false, + requestSerialize: (value: LookupCriteria) => Buffer.from(LookupCriteria.encode(value).finish()), + requestDeserialize: (value: Buffer) => LookupCriteria.decode(value), + responseSerialize: (value: Upload) => Buffer.from(Upload.encode(value).finish()), + responseDeserialize: (value: Buffer) => Upload.decode(value), + }, + create: { + path: "/topcoder.domain.service.legacy_upload.LegacyUpload/Create", + requestStream: false, + responseStream: false, + requestSerialize: (value: CreateUploadInput) => Buffer.from(CreateUploadInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => CreateUploadInput.decode(value), + responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => CreateResult.decode(value), + }, + update: { + path: "/topcoder.domain.service.legacy_upload.LegacyUpload/Update", + requestStream: false, + responseStream: false, + requestSerialize: (value: UpdateUploadInput) => Buffer.from(UpdateUploadInput.encode(value).finish()), + requestDeserialize: (value: Buffer) => UpdateUploadInput.decode(value), + responseSerialize: (value: UpdateResult) => Buffer.from(UpdateResult.encode(value).finish()), + responseDeserialize: (value: Buffer) => UpdateResult.decode(value), + }, + delete: { + path: "/topcoder.domain.service.legacy_upload.LegacyUpload/Delete", + requestStream: false, + responseStream: false, + requestSerialize: (value: LookupCriteria) => Buffer.from(LookupCriteria.encode(value).finish()), + requestDeserialize: (value: Buffer) => LookupCriteria.decode(value), + responseSerialize: (value: Empty) => Buffer.from(Empty.encode(value).finish()), + responseDeserialize: (value: Buffer) => Empty.decode(value), + }, +} as const; + +export interface LegacyUploadServer extends UntypedServiceImplementation { + scan: handleUnaryCall; + lookup: handleUnaryCall; + create: handleUnaryCall; + update: handleUnaryCall; + delete: handleUnaryCall; +} diff --git a/src/models/domain-layer/legacy/submission.ts b/src/models/domain-layer/legacy/submission.ts index 1f69d50..2029b39 100644 --- a/src/models/domain-layer/legacy/submission.ts +++ b/src/models/domain-layer/legacy/submission.ts @@ -7,39 +7,42 @@ export interface LegacySubmission { submissionStatusId: number; submissionTypeId: number; uploadId: number; + screeningScore: number; + initialScore: number; + finalScore: number; createUser: number; createDate: number; modifyUser: number; modifyDate: number; } -export interface LegacySubmissionId { - submissionId: number; -} - -export interface LegacySubmissionList { - legacySubmissions: LegacySubmission[]; -} - export interface CreateSubmissionInput { submissionStatusId: number; submissionTypeId: number; uploadId: number; - createUser: number; - createDate: number; - modifyUser: number; - modifyDate: number; + challengeId: string; + created: number; + fileType: string; + legacyChallengeId?: number | undefined; + memberId: number; + submissionPhaseId: string; + submittedDate?: number | undefined; + type: string; + updated?: number | undefined; + updatedBy?: string | undefined; + url?: string | undefined; + legacyUploadId?: number | undefined; + v5ChallengeId?: string | undefined; } export interface UpdateSubmissionInput { submissionId: number; - submissionStatusId: number; - submissionTypeId: number; - uploadId: number; - createUser: number; - createDate: number; - modifyUser: number; - modifyDate: number; + submissionStatusId?: number | undefined; + submissionTypeId?: number | undefined; + uploadId?: number | undefined; + screeningScore?: number | undefined; + initialScore?: number | undefined; + finalScore?: number | undefined; } function createBaseLegacySubmission(): LegacySubmission { @@ -48,6 +51,9 @@ function createBaseLegacySubmission(): LegacySubmission { submissionStatusId: 0, submissionTypeId: 0, uploadId: 0, + screeningScore: 0, + initialScore: 0, + finalScore: 0, createUser: 0, createDate: 0, modifyUser: 0, @@ -69,17 +75,26 @@ export const LegacySubmission = { if (message.uploadId !== 0) { writer.uint32(32).int32(message.uploadId); } + if (message.screeningScore !== 0) { + writer.uint32(40).int32(message.screeningScore); + } + if (message.initialScore !== 0) { + writer.uint32(48).int32(message.initialScore); + } + if (message.finalScore !== 0) { + writer.uint32(56).int32(message.finalScore); + } if (message.createUser !== 0) { - writer.uint32(40).int32(message.createUser); + writer.uint32(64).int32(message.createUser); } if (message.createDate !== 0) { - writer.uint32(48).int64(message.createDate); + writer.uint32(72).int64(message.createDate); } if (message.modifyUser !== 0) { - writer.uint32(56).int32(message.modifyUser); + writer.uint32(80).int32(message.modifyUser); } if (message.modifyDate !== 0) { - writer.uint32(64).int64(message.modifyDate); + writer.uint32(88).int64(message.modifyDate); } return writer; }, @@ -104,15 +119,24 @@ export const LegacySubmission = { message.uploadId = reader.int32(); break; case 5: - message.createUser = reader.int32(); + message.screeningScore = reader.int32(); break; case 6: - message.createDate = longToNumber(reader.int64() as Long); + message.initialScore = reader.int32(); break; case 7: - message.modifyUser = reader.int32(); + message.finalScore = reader.int32(); break; case 8: + message.createUser = reader.int32(); + break; + case 9: + message.createDate = longToNumber(reader.int64() as Long); + break; + case 10: + message.modifyUser = reader.int32(); + break; + case 11: message.modifyDate = longToNumber(reader.int64() as Long); break; default: @@ -129,6 +153,9 @@ export const LegacySubmission = { submissionStatusId: isSet(object.submissionStatusId) ? Number(object.submissionStatusId) : 0, submissionTypeId: isSet(object.submissionTypeId) ? Number(object.submissionTypeId) : 0, uploadId: isSet(object.uploadId) ? Number(object.uploadId) : 0, + screeningScore: isSet(object.screeningScore) ? Number(object.screeningScore) : 0, + initialScore: isSet(object.initialScore) ? Number(object.initialScore) : 0, + finalScore: isSet(object.finalScore) ? Number(object.finalScore) : 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, @@ -142,6 +169,9 @@ export const LegacySubmission = { message.submissionStatusId !== undefined && (obj.submissionStatusId = Math.round(message.submissionStatusId)); message.submissionTypeId !== undefined && (obj.submissionTypeId = Math.round(message.submissionTypeId)); message.uploadId !== undefined && (obj.uploadId = Math.round(message.uploadId)); + message.screeningScore !== undefined && (obj.screeningScore = Math.round(message.screeningScore)); + message.initialScore !== undefined && (obj.initialScore = Math.round(message.initialScore)); + message.finalScore !== undefined && (obj.finalScore = Math.round(message.finalScore)); 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)); @@ -159,6 +189,9 @@ export const LegacySubmission = { message.submissionStatusId = object.submissionStatusId ?? 0; message.submissionTypeId = object.submissionTypeId ?? 0; message.uploadId = object.uploadId ?? 0; + message.screeningScore = object.screeningScore ?? 0; + message.initialScore = object.initialScore ?? 0; + message.finalScore = object.finalScore ?? 0; message.createUser = object.createUser ?? 0; message.createDate = object.createDate ?? 0; message.modifyUser = object.modifyUser ?? 0; @@ -167,125 +200,24 @@ export const LegacySubmission = { }, }; -function createBaseLegacySubmissionId(): LegacySubmissionId { - return { submissionId: 0 }; -} - -export const LegacySubmissionId = { - encode(message: LegacySubmissionId, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.submissionId !== 0) { - writer.uint32(8).int32(message.submissionId); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): LegacySubmissionId { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseLegacySubmissionId(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.submissionId = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): LegacySubmissionId { - return { submissionId: isSet(object.submissionId) ? Number(object.submissionId) : 0 }; - }, - - toJSON(message: LegacySubmissionId): unknown { - const obj: any = {}; - message.submissionId !== undefined && (obj.submissionId = Math.round(message.submissionId)); - return obj; - }, - - create, I>>(base?: I): LegacySubmissionId { - return LegacySubmissionId.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): LegacySubmissionId { - const message = createBaseLegacySubmissionId(); - message.submissionId = object.submissionId ?? 0; - return message; - }, -}; - -function createBaseLegacySubmissionList(): LegacySubmissionList { - return { legacySubmissions: [] }; -} - -export const LegacySubmissionList = { - encode(message: LegacySubmissionList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.legacySubmissions) { - LegacySubmission.encode(v!, writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): LegacySubmissionList { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseLegacySubmissionList(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.legacySubmissions.push(LegacySubmission.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): LegacySubmissionList { - return { - legacySubmissions: Array.isArray(object?.legacySubmissions) - ? object.legacySubmissions.map((e: any) => LegacySubmission.fromJSON(e)) - : [], - }; - }, - - toJSON(message: LegacySubmissionList): unknown { - const obj: any = {}; - if (message.legacySubmissions) { - obj.legacySubmissions = message.legacySubmissions.map((e) => e ? LegacySubmission.toJSON(e) : undefined); - } else { - obj.legacySubmissions = []; - } - return obj; - }, - - create, I>>(base?: I): LegacySubmissionList { - return LegacySubmissionList.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): LegacySubmissionList { - const message = createBaseLegacySubmissionList(); - message.legacySubmissions = object.legacySubmissions?.map((e) => LegacySubmission.fromPartial(e)) || []; - return message; - }, -}; - function createBaseCreateSubmissionInput(): CreateSubmissionInput { return { submissionStatusId: 0, submissionTypeId: 0, uploadId: 0, - createUser: 0, - createDate: 0, - modifyUser: 0, - modifyDate: 0, + challengeId: "", + created: 0, + fileType: "", + legacyChallengeId: undefined, + memberId: 0, + submissionPhaseId: "", + submittedDate: undefined, + type: "", + updated: undefined, + updatedBy: undefined, + url: undefined, + legacyUploadId: undefined, + v5ChallengeId: undefined, }; } @@ -300,17 +232,44 @@ export const CreateSubmissionInput = { if (message.uploadId !== 0) { writer.uint32(24).int32(message.uploadId); } - if (message.createUser !== 0) { - writer.uint32(32).int32(message.createUser); + if (message.challengeId !== "") { + writer.uint32(34).string(message.challengeId); } - if (message.createDate !== 0) { - writer.uint32(40).int64(message.createDate); + if (message.created !== 0) { + writer.uint32(40).int64(message.created); } - if (message.modifyUser !== 0) { - writer.uint32(48).int32(message.modifyUser); + if (message.fileType !== "") { + writer.uint32(50).string(message.fileType); } - if (message.modifyDate !== 0) { - writer.uint32(56).int64(message.modifyDate); + if (message.legacyChallengeId !== undefined) { + writer.uint32(56).int64(message.legacyChallengeId); + } + if (message.memberId !== 0) { + writer.uint32(64).int64(message.memberId); + } + if (message.submissionPhaseId !== "") { + writer.uint32(74).string(message.submissionPhaseId); + } + if (message.submittedDate !== undefined) { + writer.uint32(80).int64(message.submittedDate); + } + if (message.type !== "") { + writer.uint32(90).string(message.type); + } + if (message.updated !== undefined) { + writer.uint32(96).int64(message.updated); + } + if (message.updatedBy !== undefined) { + writer.uint32(106).string(message.updatedBy); + } + if (message.url !== undefined) { + writer.uint32(114).string(message.url); + } + if (message.legacyUploadId !== undefined) { + writer.uint32(120).int64(message.legacyUploadId); + } + if (message.v5ChallengeId !== undefined) { + writer.uint32(130).string(message.v5ChallengeId); } return writer; }, @@ -332,16 +291,43 @@ export const CreateSubmissionInput = { message.uploadId = reader.int32(); break; case 4: - message.createUser = reader.int32(); + message.challengeId = reader.string(); break; case 5: - message.createDate = longToNumber(reader.int64() as Long); + message.created = longToNumber(reader.int64() as Long); break; case 6: - message.modifyUser = reader.int32(); + message.fileType = reader.string(); break; case 7: - message.modifyDate = longToNumber(reader.int64() as Long); + message.legacyChallengeId = longToNumber(reader.int64() as Long); + break; + case 8: + message.memberId = longToNumber(reader.int64() as Long); + break; + case 9: + message.submissionPhaseId = reader.string(); + break; + case 10: + message.submittedDate = longToNumber(reader.int64() as Long); + break; + case 11: + message.type = reader.string(); + break; + case 12: + message.updated = longToNumber(reader.int64() as Long); + break; + case 13: + message.updatedBy = reader.string(); + break; + case 14: + message.url = reader.string(); + break; + case 15: + message.legacyUploadId = longToNumber(reader.int64() as Long); + break; + case 16: + message.v5ChallengeId = reader.string(); break; default: reader.skipType(tag & 7); @@ -356,10 +342,19 @@ export const CreateSubmissionInput = { submissionStatusId: isSet(object.submissionStatusId) ? Number(object.submissionStatusId) : 0, submissionTypeId: isSet(object.submissionTypeId) ? Number(object.submissionTypeId) : 0, uploadId: isSet(object.uploadId) ? Number(object.uploadId) : 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, + challengeId: isSet(object.challengeId) ? String(object.challengeId) : "", + created: isSet(object.created) ? Number(object.created) : 0, + fileType: isSet(object.fileType) ? String(object.fileType) : "", + legacyChallengeId: isSet(object.legacyChallengeId) ? Number(object.legacyChallengeId) : undefined, + memberId: isSet(object.memberId) ? Number(object.memberId) : 0, + submissionPhaseId: isSet(object.submissionPhaseId) ? String(object.submissionPhaseId) : "", + submittedDate: isSet(object.submittedDate) ? Number(object.submittedDate) : undefined, + type: isSet(object.type) ? String(object.type) : "", + updated: isSet(object.updated) ? Number(object.updated) : undefined, + updatedBy: isSet(object.updatedBy) ? String(object.updatedBy) : undefined, + url: isSet(object.url) ? String(object.url) : undefined, + legacyUploadId: isSet(object.legacyUploadId) ? Number(object.legacyUploadId) : undefined, + v5ChallengeId: isSet(object.v5ChallengeId) ? String(object.v5ChallengeId) : undefined, }; }, @@ -368,10 +363,19 @@ export const CreateSubmissionInput = { message.submissionStatusId !== undefined && (obj.submissionStatusId = Math.round(message.submissionStatusId)); message.submissionTypeId !== undefined && (obj.submissionTypeId = Math.round(message.submissionTypeId)); message.uploadId !== undefined && (obj.uploadId = Math.round(message.uploadId)); - 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.challengeId !== undefined && (obj.challengeId = message.challengeId); + message.created !== undefined && (obj.created = Math.round(message.created)); + message.fileType !== undefined && (obj.fileType = message.fileType); + message.legacyChallengeId !== undefined && (obj.legacyChallengeId = Math.round(message.legacyChallengeId)); + message.memberId !== undefined && (obj.memberId = Math.round(message.memberId)); + message.submissionPhaseId !== undefined && (obj.submissionPhaseId = message.submissionPhaseId); + message.submittedDate !== undefined && (obj.submittedDate = Math.round(message.submittedDate)); + message.type !== undefined && (obj.type = message.type); + message.updated !== undefined && (obj.updated = Math.round(message.updated)); + message.updatedBy !== undefined && (obj.updatedBy = message.updatedBy); + message.url !== undefined && (obj.url = message.url); + message.legacyUploadId !== undefined && (obj.legacyUploadId = Math.round(message.legacyUploadId)); + message.v5ChallengeId !== undefined && (obj.v5ChallengeId = message.v5ChallengeId); return obj; }, @@ -384,10 +388,19 @@ export const CreateSubmissionInput = { message.submissionStatusId = object.submissionStatusId ?? 0; message.submissionTypeId = object.submissionTypeId ?? 0; message.uploadId = object.uploadId ?? 0; - message.createUser = object.createUser ?? 0; - message.createDate = object.createDate ?? 0; - message.modifyUser = object.modifyUser ?? 0; - message.modifyDate = object.modifyDate ?? 0; + message.challengeId = object.challengeId ?? ""; + message.created = object.created ?? 0; + message.fileType = object.fileType ?? ""; + message.legacyChallengeId = object.legacyChallengeId ?? undefined; + message.memberId = object.memberId ?? 0; + message.submissionPhaseId = object.submissionPhaseId ?? ""; + message.submittedDate = object.submittedDate ?? undefined; + message.type = object.type ?? ""; + message.updated = object.updated ?? undefined; + message.updatedBy = object.updatedBy ?? undefined; + message.url = object.url ?? undefined; + message.legacyUploadId = object.legacyUploadId ?? undefined; + message.v5ChallengeId = object.v5ChallengeId ?? undefined; return message; }, }; @@ -395,13 +408,12 @@ export const CreateSubmissionInput = { function createBaseUpdateSubmissionInput(): UpdateSubmissionInput { return { submissionId: 0, - submissionStatusId: 0, - submissionTypeId: 0, - uploadId: 0, - createUser: 0, - createDate: 0, - modifyUser: 0, - modifyDate: 0, + submissionStatusId: undefined, + submissionTypeId: undefined, + uploadId: undefined, + screeningScore: undefined, + initialScore: undefined, + finalScore: undefined, }; } @@ -410,26 +422,23 @@ export const UpdateSubmissionInput = { if (message.submissionId !== 0) { writer.uint32(8).int32(message.submissionId); } - if (message.submissionStatusId !== 0) { + if (message.submissionStatusId !== undefined) { writer.uint32(16).int32(message.submissionStatusId); } - if (message.submissionTypeId !== 0) { + if (message.submissionTypeId !== undefined) { writer.uint32(24).int32(message.submissionTypeId); } - if (message.uploadId !== 0) { + if (message.uploadId !== undefined) { writer.uint32(32).int32(message.uploadId); } - if (message.createUser !== 0) { - writer.uint32(40).int32(message.createUser); + if (message.screeningScore !== undefined) { + writer.uint32(40).int32(message.screeningScore); } - if (message.createDate !== 0) { - writer.uint32(48).int64(message.createDate); + if (message.initialScore !== undefined) { + writer.uint32(48).int32(message.initialScore); } - if (message.modifyUser !== 0) { - writer.uint32(56).int32(message.modifyUser); - } - if (message.modifyDate !== 0) { - writer.uint32(64).int64(message.modifyDate); + if (message.finalScore !== undefined) { + writer.uint32(56).int32(message.finalScore); } return writer; }, @@ -454,16 +463,13 @@ export const UpdateSubmissionInput = { message.uploadId = reader.int32(); break; case 5: - message.createUser = reader.int32(); + message.screeningScore = reader.int32(); break; case 6: - message.createDate = longToNumber(reader.int64() as Long); + message.initialScore = reader.int32(); break; case 7: - message.modifyUser = reader.int32(); - break; - case 8: - message.modifyDate = longToNumber(reader.int64() as Long); + message.finalScore = reader.int32(); break; default: reader.skipType(tag & 7); @@ -476,13 +482,12 @@ export const UpdateSubmissionInput = { fromJSON(object: any): UpdateSubmissionInput { return { submissionId: isSet(object.submissionId) ? Number(object.submissionId) : 0, - submissionStatusId: isSet(object.submissionStatusId) ? Number(object.submissionStatusId) : 0, - submissionTypeId: isSet(object.submissionTypeId) ? Number(object.submissionTypeId) : 0, - uploadId: isSet(object.uploadId) ? Number(object.uploadId) : 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, + submissionStatusId: isSet(object.submissionStatusId) ? Number(object.submissionStatusId) : undefined, + submissionTypeId: isSet(object.submissionTypeId) ? Number(object.submissionTypeId) : undefined, + uploadId: isSet(object.uploadId) ? Number(object.uploadId) : undefined, + screeningScore: isSet(object.screeningScore) ? Number(object.screeningScore) : undefined, + initialScore: isSet(object.initialScore) ? Number(object.initialScore) : undefined, + finalScore: isSet(object.finalScore) ? Number(object.finalScore) : undefined, }; }, @@ -492,10 +497,9 @@ export const UpdateSubmissionInput = { message.submissionStatusId !== undefined && (obj.submissionStatusId = Math.round(message.submissionStatusId)); message.submissionTypeId !== undefined && (obj.submissionTypeId = Math.round(message.submissionTypeId)); message.uploadId !== undefined && (obj.uploadId = Math.round(message.uploadId)); - 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.screeningScore !== undefined && (obj.screeningScore = Math.round(message.screeningScore)); + message.initialScore !== undefined && (obj.initialScore = Math.round(message.initialScore)); + message.finalScore !== undefined && (obj.finalScore = Math.round(message.finalScore)); return obj; }, @@ -506,13 +510,12 @@ export const UpdateSubmissionInput = { fromPartial, I>>(object: I): UpdateSubmissionInput { const message = createBaseUpdateSubmissionInput(); message.submissionId = object.submissionId ?? 0; - message.submissionStatusId = object.submissionStatusId ?? 0; - message.submissionTypeId = object.submissionTypeId ?? 0; - message.uploadId = object.uploadId ?? 0; - message.createUser = object.createUser ?? 0; - message.createDate = object.createDate ?? 0; - message.modifyUser = object.modifyUser ?? 0; - message.modifyDate = object.modifyDate ?? 0; + message.submissionStatusId = object.submissionStatusId ?? undefined; + message.submissionTypeId = object.submissionTypeId ?? undefined; + message.uploadId = object.uploadId ?? undefined; + message.screeningScore = object.screeningScore ?? undefined; + message.initialScore = object.initialScore ?? undefined; + message.finalScore = object.finalScore ?? undefined; return message; }, }; diff --git a/src/models/domain-layer/legacy/upload.ts b/src/models/domain-layer/legacy/upload.ts new file mode 100644 index 0000000..ab07695 --- /dev/null +++ b/src/models/domain-layer/legacy/upload.ts @@ -0,0 +1,570 @@ +/* eslint-disable */ +import { ScanCriteria } from "@topcoder-framework/lib-common"; +import _m0 from "protobufjs/minimal"; + +export interface Upload { + uploadId: number; + projectId: number; + resourceId: number; + projectPhaseId: number; + uploadTypeId: number; + url: string; + uploadStatusId: number; + parameter: string; + createUser: number; + modifyUser: number; + createDate: number; + modifyDate: number; +} + +export interface UploadId { + uploadId: number; +} + +export interface UploadList { + uploads: Upload[]; +} + +export interface CreateUploadInput { + projectId: number; + resourceId: number; + projectPhaseId: number; + uploadTypeId: number; + url: string; + uploadStatusId: number; + parameter: string; +} + +export interface UpdateUploadInput { + uploadId: number; + url?: string | undefined; + uploadStatusId?: number | undefined; +} + +export interface DeleteUploadInput { + filterCriteria: ScanCriteria[]; +} + +function createBaseUpload(): Upload { + return { + uploadId: 0, + projectId: 0, + resourceId: 0, + projectPhaseId: 0, + uploadTypeId: 0, + url: "", + uploadStatusId: 0, + parameter: "", + createUser: 0, + modifyUser: 0, + createDate: 0, + modifyDate: 0, + }; +} + +export const Upload = { + encode(message: Upload, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.uploadId !== 0) { + writer.uint32(8).int32(message.uploadId); + } + if (message.projectId !== 0) { + writer.uint32(16).int32(message.projectId); + } + if (message.resourceId !== 0) { + writer.uint32(24).int32(message.resourceId); + } + if (message.projectPhaseId !== 0) { + writer.uint32(32).int32(message.projectPhaseId); + } + if (message.uploadTypeId !== 0) { + writer.uint32(40).int32(message.uploadTypeId); + } + if (message.url !== "") { + writer.uint32(50).string(message.url); + } + if (message.uploadStatusId !== 0) { + writer.uint32(56).int32(message.uploadStatusId); + } + if (message.parameter !== "") { + writer.uint32(66).string(message.parameter); + } + if (message.createUser !== 0) { + writer.uint32(72).int32(message.createUser); + } + if (message.modifyUser !== 0) { + writer.uint32(80).int32(message.modifyUser); + } + if (message.createDate !== 0) { + writer.uint32(88).int32(message.createDate); + } + if (message.modifyDate !== 0) { + writer.uint32(96).int32(message.modifyDate); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Upload { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpload(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uploadId = reader.int32(); + break; + case 2: + message.projectId = reader.int32(); + break; + case 3: + message.resourceId = reader.int32(); + break; + case 4: + message.projectPhaseId = reader.int32(); + break; + case 5: + message.uploadTypeId = reader.int32(); + break; + case 6: + message.url = reader.string(); + break; + case 7: + message.uploadStatusId = reader.int32(); + break; + case 8: + message.parameter = reader.string(); + break; + case 9: + message.createUser = reader.int32(); + break; + case 10: + message.modifyUser = reader.int32(); + break; + case 11: + message.createDate = reader.int32(); + break; + case 12: + message.modifyDate = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): Upload { + return { + uploadId: isSet(object.uploadId) ? Number(object.uploadId) : 0, + projectId: isSet(object.projectId) ? Number(object.projectId) : 0, + resourceId: isSet(object.resourceId) ? Number(object.resourceId) : 0, + projectPhaseId: isSet(object.projectPhaseId) ? Number(object.projectPhaseId) : 0, + uploadTypeId: isSet(object.uploadTypeId) ? Number(object.uploadTypeId) : 0, + url: isSet(object.url) ? String(object.url) : "", + uploadStatusId: isSet(object.uploadStatusId) ? Number(object.uploadStatusId) : 0, + parameter: isSet(object.parameter) ? String(object.parameter) : "", + createUser: isSet(object.createUser) ? Number(object.createUser) : 0, + modifyUser: isSet(object.modifyUser) ? Number(object.modifyUser) : 0, + createDate: isSet(object.createDate) ? Number(object.createDate) : 0, + modifyDate: isSet(object.modifyDate) ? Number(object.modifyDate) : 0, + }; + }, + + toJSON(message: Upload): unknown { + const obj: any = {}; + message.uploadId !== undefined && (obj.uploadId = Math.round(message.uploadId)); + message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); + message.resourceId !== undefined && (obj.resourceId = Math.round(message.resourceId)); + message.projectPhaseId !== undefined && (obj.projectPhaseId = Math.round(message.projectPhaseId)); + message.uploadTypeId !== undefined && (obj.uploadTypeId = Math.round(message.uploadTypeId)); + message.url !== undefined && (obj.url = message.url); + message.uploadStatusId !== undefined && (obj.uploadStatusId = Math.round(message.uploadStatusId)); + message.parameter !== undefined && (obj.parameter = message.parameter); + message.createUser !== undefined && (obj.createUser = Math.round(message.createUser)); + message.modifyUser !== undefined && (obj.modifyUser = Math.round(message.modifyUser)); + message.createDate !== undefined && (obj.createDate = Math.round(message.createDate)); + message.modifyDate !== undefined && (obj.modifyDate = Math.round(message.modifyDate)); + return obj; + }, + + create, I>>(base?: I): Upload { + return Upload.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Upload { + const message = createBaseUpload(); + message.uploadId = object.uploadId ?? 0; + message.projectId = object.projectId ?? 0; + message.resourceId = object.resourceId ?? 0; + message.projectPhaseId = object.projectPhaseId ?? 0; + message.uploadTypeId = object.uploadTypeId ?? 0; + message.url = object.url ?? ""; + message.uploadStatusId = object.uploadStatusId ?? 0; + message.parameter = object.parameter ?? ""; + message.createUser = object.createUser ?? 0; + message.modifyUser = object.modifyUser ?? 0; + message.createDate = object.createDate ?? 0; + message.modifyDate = object.modifyDate ?? 0; + return message; + }, +}; + +function createBaseUploadId(): UploadId { + return { uploadId: 0 }; +} + +export const UploadId = { + encode(message: UploadId, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.uploadId !== 0) { + writer.uint32(8).int32(message.uploadId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): UploadId { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUploadId(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uploadId = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): UploadId { + return { uploadId: isSet(object.uploadId) ? Number(object.uploadId) : 0 }; + }, + + toJSON(message: UploadId): unknown { + const obj: any = {}; + message.uploadId !== undefined && (obj.uploadId = Math.round(message.uploadId)); + return obj; + }, + + create, I>>(base?: I): UploadId { + return UploadId.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): UploadId { + const message = createBaseUploadId(); + message.uploadId = object.uploadId ?? 0; + return message; + }, +}; + +function createBaseUploadList(): UploadList { + return { uploads: [] }; +} + +export const UploadList = { + encode(message: UploadList, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.uploads) { + Upload.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): UploadList { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUploadList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uploads.push(Upload.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): UploadList { + return { uploads: Array.isArray(object?.uploads) ? object.uploads.map((e: any) => Upload.fromJSON(e)) : [] }; + }, + + toJSON(message: UploadList): unknown { + const obj: any = {}; + if (message.uploads) { + obj.uploads = message.uploads.map((e) => e ? Upload.toJSON(e) : undefined); + } else { + obj.uploads = []; + } + return obj; + }, + + create, I>>(base?: I): UploadList { + return UploadList.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): UploadList { + const message = createBaseUploadList(); + message.uploads = object.uploads?.map((e) => Upload.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseCreateUploadInput(): CreateUploadInput { + return { projectId: 0, resourceId: 0, projectPhaseId: 0, uploadTypeId: 0, url: "", uploadStatusId: 0, parameter: "" }; +} + +export const CreateUploadInput = { + encode(message: CreateUploadInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.projectId !== 0) { + writer.uint32(8).int32(message.projectId); + } + if (message.resourceId !== 0) { + writer.uint32(16).int32(message.resourceId); + } + if (message.projectPhaseId !== 0) { + writer.uint32(24).int32(message.projectPhaseId); + } + if (message.uploadTypeId !== 0) { + writer.uint32(32).int32(message.uploadTypeId); + } + if (message.url !== "") { + writer.uint32(42).string(message.url); + } + if (message.uploadStatusId !== 0) { + writer.uint32(48).int32(message.uploadStatusId); + } + if (message.parameter !== "") { + writer.uint32(58).string(message.parameter); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CreateUploadInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateUploadInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.projectId = reader.int32(); + break; + case 2: + message.resourceId = reader.int32(); + break; + case 3: + message.projectPhaseId = reader.int32(); + break; + case 4: + message.uploadTypeId = reader.int32(); + break; + case 5: + message.url = reader.string(); + break; + case 6: + message.uploadStatusId = reader.int32(); + break; + case 7: + message.parameter = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): CreateUploadInput { + return { + projectId: isSet(object.projectId) ? Number(object.projectId) : 0, + resourceId: isSet(object.resourceId) ? Number(object.resourceId) : 0, + projectPhaseId: isSet(object.projectPhaseId) ? Number(object.projectPhaseId) : 0, + uploadTypeId: isSet(object.uploadTypeId) ? Number(object.uploadTypeId) : 0, + url: isSet(object.url) ? String(object.url) : "", + uploadStatusId: isSet(object.uploadStatusId) ? Number(object.uploadStatusId) : 0, + parameter: isSet(object.parameter) ? String(object.parameter) : "", + }; + }, + + toJSON(message: CreateUploadInput): unknown { + const obj: any = {}; + message.projectId !== undefined && (obj.projectId = Math.round(message.projectId)); + message.resourceId !== undefined && (obj.resourceId = Math.round(message.resourceId)); + message.projectPhaseId !== undefined && (obj.projectPhaseId = Math.round(message.projectPhaseId)); + message.uploadTypeId !== undefined && (obj.uploadTypeId = Math.round(message.uploadTypeId)); + message.url !== undefined && (obj.url = message.url); + message.uploadStatusId !== undefined && (obj.uploadStatusId = Math.round(message.uploadStatusId)); + message.parameter !== undefined && (obj.parameter = message.parameter); + return obj; + }, + + create, I>>(base?: I): CreateUploadInput { + return CreateUploadInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CreateUploadInput { + const message = createBaseCreateUploadInput(); + message.projectId = object.projectId ?? 0; + message.resourceId = object.resourceId ?? 0; + message.projectPhaseId = object.projectPhaseId ?? 0; + message.uploadTypeId = object.uploadTypeId ?? 0; + message.url = object.url ?? ""; + message.uploadStatusId = object.uploadStatusId ?? 0; + message.parameter = object.parameter ?? ""; + return message; + }, +}; + +function createBaseUpdateUploadInput(): UpdateUploadInput { + return { uploadId: 0, url: undefined, uploadStatusId: undefined }; +} + +export const UpdateUploadInput = { + encode(message: UpdateUploadInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.uploadId !== 0) { + writer.uint32(8).int32(message.uploadId); + } + if (message.url !== undefined) { + writer.uint32(18).string(message.url); + } + if (message.uploadStatusId !== undefined) { + writer.uint32(24).int32(message.uploadStatusId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): UpdateUploadInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpdateUploadInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.uploadId = reader.int32(); + break; + case 2: + message.url = reader.string(); + break; + case 3: + message.uploadStatusId = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): UpdateUploadInput { + return { + uploadId: isSet(object.uploadId) ? Number(object.uploadId) : 0, + url: isSet(object.url) ? String(object.url) : undefined, + uploadStatusId: isSet(object.uploadStatusId) ? Number(object.uploadStatusId) : undefined, + }; + }, + + toJSON(message: UpdateUploadInput): unknown { + const obj: any = {}; + message.uploadId !== undefined && (obj.uploadId = Math.round(message.uploadId)); + message.url !== undefined && (obj.url = message.url); + message.uploadStatusId !== undefined && (obj.uploadStatusId = Math.round(message.uploadStatusId)); + return obj; + }, + + create, I>>(base?: I): UpdateUploadInput { + return UpdateUploadInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): UpdateUploadInput { + const message = createBaseUpdateUploadInput(); + message.uploadId = object.uploadId ?? 0; + message.url = object.url ?? undefined; + message.uploadStatusId = object.uploadStatusId ?? undefined; + return message; + }, +}; + +function createBaseDeleteUploadInput(): DeleteUploadInput { + return { filterCriteria: [] }; +} + +export const DeleteUploadInput = { + encode(message: DeleteUploadInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.filterCriteria) { + ScanCriteria.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): DeleteUploadInput { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeleteUploadInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.filterCriteria.push(ScanCriteria.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + + fromJSON(object: any): DeleteUploadInput { + return { + filterCriteria: Array.isArray(object?.filterCriteria) + ? object.filterCriteria.map((e: any) => ScanCriteria.fromJSON(e)) + : [], + }; + }, + + toJSON(message: DeleteUploadInput): unknown { + const obj: any = {}; + if (message.filterCriteria) { + obj.filterCriteria = message.filterCriteria.map((e) => e ? ScanCriteria.toJSON(e) : undefined); + } else { + obj.filterCriteria = []; + } + return obj; + }, + + create, I>>(base?: I): DeleteUploadInput { + return DeleteUploadInput.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): DeleteUploadInput { + const message = createBaseDeleteUploadInput(); + message.filterCriteria = object.filterCriteria?.map((e) => ScanCriteria.fromPartial(e)) || []; + 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/schema/submission/Submission.ts b/src/schema/submission/Submission.ts new file mode 100644 index 0000000..cbcbf70 --- /dev/null +++ b/src/schema/submission/Submission.ts @@ -0,0 +1,21 @@ +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; +import { LegacySubmission } from "../../models/domain-layer/legacy/submission"; +import { AuditColumns } from "../common/AuditColumns"; + +export const LegacySubmissionSchema: Schema = { + dbSchema: "tcs_catalog", + tableName: "submission", + idColumn: "submission_id", + idSequence: "submission_id_seq", + idTable: "submission", + columns: { + submissionId: { name: "submission_id", type: ColumnType.COLUMN_TYPE_INT }, + submissionStatusId: { name: "submission_status_id", type: ColumnType.COLUMN_TYPE_INT }, + submissionTypeId: { name: "submission_type_id", type: ColumnType.COLUMN_TYPE_INT }, + uploadId: { name: "upload_id", type: ColumnType.COLUMN_TYPE_INT }, + screeningScore: { name: "screening_score", type: ColumnType.COLUMN_TYPE_INT }, + initialScore: { name: "initial_score", type: ColumnType.COLUMN_TYPE_INT }, + finalScore: { name: "final_score", type: ColumnType.COLUMN_TYPE_INT }, + ...AuditColumns, + }, +}; diff --git a/src/schema/submission/Upload.ts b/src/schema/submission/Upload.ts new file mode 100644 index 0000000..1fbe487 --- /dev/null +++ b/src/schema/submission/Upload.ts @@ -0,0 +1,22 @@ +import { ColumnType, Schema } from "@topcoder-framework/client-relational"; +import { Upload } from "../../models/domain-layer/legacy/upload"; +import { AuditColumns } from "../common/AuditColumns"; + +export const UploadSchema: Schema = { + dbSchema: "tcs_catalog", + tableName: "upload", + idColumn: "upload_id", + idSequence: "upload_id_seq", + idTable: "upload", + columns: { + uploadId: { name: "upload_id", type: ColumnType.COLUMN_TYPE_INT }, + projectId: { name: "project_id", type: ColumnType.COLUMN_TYPE_INT }, + resourceId: { name: "resource_id", type: ColumnType.COLUMN_TYPE_INT }, + projectPhaseId: { name: "project_phase_id", type: ColumnType.COLUMN_TYPE_INT }, + uploadTypeId: { name: "upload_type_id", type: ColumnType.COLUMN_TYPE_INT }, + url: { name: "url", type: ColumnType.COLUMN_TYPE_STRING }, + uploadStatusId: { name: "upload_status_id", type: ColumnType.COLUMN_TYPE_INT }, + parameter: { name: "parameter", type: ColumnType.COLUMN_TYPE_STRING }, + ...AuditColumns, + }, +}; diff --git a/src/server.ts b/src/server.ts index e163d9f..9e35e24 100644 --- a/src/server.ts +++ b/src/server.ts @@ -27,6 +27,7 @@ import { LegacyProjectInfoServer, LegacyProjectInfoService } from "./service/Pro import { LegacyResourceServer, LegacyResourceService } from "./service/Resource"; import { LegacyReviewServer, LegacyReviewService } from "./service/Review"; import { LegacyTermServer, LegacyTermService } from "./service/Term"; +import { LegacyUploadServer, LegacyUploadService } from "./service/LegacyUpload"; const server = new Server({ "grpc.max_send_message_length": -1, @@ -49,6 +50,7 @@ server.addService(LegacyResourceService, new LegacyResourceServer()); server.addService(LegacyGroupContestEligibilityService, new LegacyGroupContestEligibilityServer()); server.addService(LegacyChallengePaymentService, new LegacyChallengePaymentServer()); server.addService(LegacyPrizeServiceService, new LegacyPrizeServer()); +server.addService(LegacyUploadService, new LegacyUploadServer()); server.bindAsync( `${GRPC_SERVER_HOST}:${GRPC_SERVER_PORT}`, diff --git a/src/service/LegacySubmission.ts b/src/service/LegacySubmission.ts index 3fc545b..c93f447 100644 --- a/src/service/LegacySubmission.ts +++ b/src/service/LegacySubmission.ts @@ -42,7 +42,11 @@ class LegacySubmissionServerImpl implements LegacySubmissionServer { update: handleUnaryCall = ( call: ServerUnaryCall, callback: sendUnaryData - ) => { }; + ) => { + LegacySubmissionDomain.update(call.request) + .then((response) => callback(null, response)) + .catch((err) => callback(err, null)); + }; } -export { LegacySubmissionServerImpl as LegacySubmissionServer, LegacySubmissionService }; \ No newline at end of file +export { LegacySubmissionServerImpl as LegacySubmissionServer, LegacySubmissionService }; diff --git a/src/service/LegacyUpload.ts b/src/service/LegacyUpload.ts new file mode 100644 index 0000000..fd71c8e --- /dev/null +++ b/src/service/LegacyUpload.ts @@ -0,0 +1,52 @@ +import { handleUnaryCall, sendUnaryData, ServerUnaryCall, UntypedHandleCall } from "@grpc/grpc-js"; +import { CreateResult, Empty, LookupCriteria, ScanRequest, ScanResult, UpdateResult +} from "@topcoder-framework/lib-common"; +import LegacyUploadDomain from '../domain/LegacyUpload' + +import { LegacyUploadServer, LegacyUploadService } from '../models/domain-layer/legacy/services/upload'; +import { Upload, CreateUploadInput, DeleteUploadInput, UploadList, UpdateUploadInput } from "../models/domain-layer/legacy/upload"; + +class LegacyUploadServerImpl implements LegacyUploadServer { + [name: string]: UntypedHandleCall; + + scan: handleUnaryCall = ( + call: ServerUnaryCall, + callback: sendUnaryData + ) => { + // not implemented + }; + + lookup: handleUnaryCall + = ( + call: ServerUnaryCall, + callback: sendUnaryData + ) => { + // not implemented + }; + + create: handleUnaryCall = ( + call: ServerUnaryCall, + callback: sendUnaryData + ) => { + // not implemented + }; + + delete: handleUnaryCall = ( + call: ServerUnaryCall, + callback: sendUnaryData + ) => { + // not implemented + }; + + + update: handleUnaryCall = ( + call: ServerUnaryCall, + callback: sendUnaryData + ) => { + LegacyUploadDomain.update(call.request) + .then((response) => callback(null, response)) + .catch((err) => callback(err, null)); + }; +} + +export { LegacyUploadServerImpl as LegacyUploadServer, LegacyUploadService };