diff --git a/domains/domain-acl/src/domains/LongComponentStateService.ts b/domains/domain-acl/src/domains/LongComponentStateService.ts new file mode 100644 index 0000000..3917a80 --- /dev/null +++ b/domains/domain-acl/src/domains/LongComponentStateService.ts @@ -0,0 +1,69 @@ +import { Metadata } from "@grpc/grpc-js"; +import { promisify } from "util"; + +import { LegacyLongComponentStateClient } from "../models/domain-layer/legacy/services/long_component_state"; + +import { GrpcClient } from "../common/GrpcClient"; + +import { + CreateResult, + LookupCriteria, + ScanRequest, + ScanResult, + UpdateResult, +} from "@topcoder-framework/lib-common"; +import { + CreateLongComponentStateInput, + LongComponentState, + UpdateLongComponentStateInput, +} from "src/models/domain-layer/legacy/long_component_state"; + +export class LegacyLongComponentStateDomain { + constructor( + protected grpcServerHost: string, + protected grpcServerPort: string + ) {} + + protected readonly client: LegacyLongComponentStateClient = + new LegacyLongComponentStateClient( + `${this.grpcServerHost}:${this.grpcServerPort}`, + GrpcClient.credentials, + GrpcClient.clientOptions + ); + + public async scan( + param: ScanRequest, + metadata: Metadata = new Metadata() + ): Promise { + return promisify( + this.client.scan.bind(this.client) + )(param, metadata); + } + + public async lookup( + param: LookupCriteria, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.lookup.bind(this.client) + )(param, metadata); + } + + public async create( + param: CreateLongComponentStateInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.create.bind(this.client) + )(param, metadata); + } + + public async update( + param: UpdateLongComponentStateInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.update.bind(this.client) + )(param, metadata); + } +} diff --git a/domains/domain-acl/src/domains/LongSubmissionService.ts b/domains/domain-acl/src/domains/LongSubmissionService.ts new file mode 100644 index 0000000..416275e --- /dev/null +++ b/domains/domain-acl/src/domains/LongSubmissionService.ts @@ -0,0 +1,45 @@ +import { Metadata } from "@grpc/grpc-js"; +import { promisify } from "util"; + +import { LegacyLongSubmissionClient } from "../models/domain-layer/legacy/services/long_submission"; + +import { GrpcClient } from "../common/GrpcClient"; + +import { + CreateResult, + ScanRequest, + ScanResult, +} from "@topcoder-framework/lib-common"; +import { CreateLongSubmissionInput } from "src/models/domain-layer/legacy/long_submission"; + +export class LegacyLongSubmissionDomain { + constructor( + protected grpcServerHost: string, + protected grpcServerPort: string + ) {} + + protected readonly client: LegacyLongSubmissionClient = + new LegacyLongSubmissionClient( + `${this.grpcServerHost}:${this.grpcServerPort}`, + GrpcClient.credentials, + GrpcClient.clientOptions + ); + + public async scan( + param: ScanRequest, + metadata: Metadata = new Metadata() + ): Promise { + return promisify( + this.client.scan.bind(this.client) + )(param, metadata); + } + + public async create( + param: CreateLongSubmissionInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.create.bind(this.client) + )(param, metadata); + } +} diff --git a/domains/domain-acl/src/domains/ResourceSubmissionService.ts b/domains/domain-acl/src/domains/ResourceSubmissionService.ts new file mode 100644 index 0000000..73b3d43 --- /dev/null +++ b/domains/domain-acl/src/domains/ResourceSubmissionService.ts @@ -0,0 +1,58 @@ +import { Metadata } from "@grpc/grpc-js"; +import { promisify } from "util"; + +import { LegacyResourceSubmissionClient } from "../models/domain-layer/legacy/services/resource_submission"; + +import { GrpcClient } from "../common/GrpcClient"; + +import { + CreateResult, + LookupCriteria, + ScanRequest, + ScanResult, +} from "@topcoder-framework/lib-common"; +import { + CreateResourceSubmissionInput, + ResourceSubmission, +} from "src/models/domain-layer/legacy/resource_submission"; + +export class LegacyResourceSubmissionDomain { + constructor( + protected grpcServerHost: string, + protected grpcServerPort: string + ) {} + + protected readonly client: LegacyResourceSubmissionClient = + new LegacyResourceSubmissionClient( + `${this.grpcServerHost}:${this.grpcServerPort}`, + GrpcClient.credentials, + GrpcClient.clientOptions + ); + + public async scan( + param: ScanRequest, + metadata: Metadata = new Metadata() + ): Promise { + return promisify( + this.client.scan.bind(this.client) + )(param, metadata); + } + + public async lookup( + param: LookupCriteria, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.lookup.bind(this.client) + )(param, metadata); + } + + public async create( + param: CreateResourceSubmissionInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.create.bind(this.client) + )(param, metadata); + } +} diff --git a/domains/domain-acl/src/domains/RoundRegistrationService.ts b/domains/domain-acl/src/domains/RoundRegistrationService.ts new file mode 100644 index 0000000..7ee255a --- /dev/null +++ b/domains/domain-acl/src/domains/RoundRegistrationService.ts @@ -0,0 +1,45 @@ +import { Metadata } from "@grpc/grpc-js"; +import { promisify } from "util"; + +import { LegacyRoundRegistrationClient } from "../models/domain-layer/legacy/services/round_registration"; + +import { GrpcClient } from "../common/GrpcClient"; + +import { + CreateResult, + ScanRequest, + ScanResult, +} from "@topcoder-framework/lib-common"; +import { CreateRoundRegistrationInput } from "src/models/domain-layer/legacy/round_registration"; + +export class LegacyRoundRegistrationDomain { + constructor( + protected grpcServerHost: string, + protected grpcServerPort: string + ) {} + + protected readonly client: LegacyRoundRegistrationClient = + new LegacyRoundRegistrationClient( + `${this.grpcServerHost}:${this.grpcServerPort}`, + GrpcClient.credentials, + GrpcClient.clientOptions + ); + + public async scan( + param: ScanRequest, + metadata: Metadata = new Metadata() + ): Promise { + return promisify( + this.client.scan.bind(this.client) + )(param, metadata); + } + + public async create( + param: CreateRoundRegistrationInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.create.bind(this.client) + )(param, metadata); + } +} diff --git a/domains/domain-acl/src/domains/SubmissionService.ts b/domains/domain-acl/src/domains/SubmissionService.ts new file mode 100644 index 0000000..a97e95a --- /dev/null +++ b/domains/domain-acl/src/domains/SubmissionService.ts @@ -0,0 +1,69 @@ +import { Metadata } from "@grpc/grpc-js"; +import { promisify } from "util"; + +import { LegacySubmissionClient } from "../models/domain-layer/legacy/services/submission"; + +import { GrpcClient } from "../common/GrpcClient"; + +import { + CreateResult, + LookupCriteria, + ScanRequest, + ScanResult, + UpdateResult, +} from "@topcoder-framework/lib-common"; +import { LegacySubmission } from "src/models/domain-layer/legacy/submission"; +import { + CreateSubmissionInput, + UpdateSubmissionInput, +} from "src/models/domain-layer/legacy/submission"; + +export class LegacySubmissionDomain { + constructor( + protected grpcServerHost: string, + protected grpcServerPort: string + ) {} + + protected readonly client: LegacySubmissionClient = + new LegacySubmissionClient( + `${this.grpcServerHost}:${this.grpcServerPort}`, + GrpcClient.credentials, + GrpcClient.clientOptions + ); + + public async scan( + param: ScanRequest, + metadata: Metadata = new Metadata() + ): Promise { + return promisify( + this.client.scan.bind(this.client) + )(param, metadata); + } + + public async lookup( + param: LookupCriteria, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.lookup.bind(this.client) + )(param, metadata); + } + + public async create( + param: CreateSubmissionInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.create.bind(this.client) + )(param, metadata); + } + + public async update( + param: UpdateSubmissionInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.update.bind(this.client) + )(param, metadata); + } +} diff --git a/domains/domain-acl/src/domains/UploadService.ts b/domains/domain-acl/src/domains/UploadService.ts new file mode 100644 index 0000000..62f2464 --- /dev/null +++ b/domains/domain-acl/src/domains/UploadService.ts @@ -0,0 +1,68 @@ +import { Metadata } from "@grpc/grpc-js"; +import { promisify } from "util"; + +import { LegacyUploadClient } from "../models/domain-layer/legacy/services/upload"; + +import { GrpcClient } from "../common/GrpcClient"; + +import { + CreateResult, + LookupCriteria, + ScanRequest, + ScanResult, + UpdateResult, +} from "@topcoder-framework/lib-common"; +import { + CreateUploadInput, + Upload, +} from "src/models/domain-layer/legacy/upload"; +import { UpdateUploadInput } from "src/models/domain-layer/legacy/upload"; + +export class LegacyUploadDomain { + constructor( + protected grpcServerHost: string, + protected grpcServerPort: string + ) {} + + protected readonly client: LegacyUploadClient = new LegacyUploadClient( + `${this.grpcServerHost}:${this.grpcServerPort}`, + GrpcClient.credentials, + GrpcClient.clientOptions + ); + + public async scan( + param: ScanRequest, + metadata: Metadata = new Metadata() + ): Promise { + return promisify( + this.client.scan.bind(this.client) + )(param, metadata); + } + + public async lookup( + param: LookupCriteria, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.lookup.bind(this.client) + )(param, metadata); + } + + public async create( + param: CreateUploadInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.create.bind(this.client) + )(param, metadata); + } + + public async update( + param: UpdateUploadInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.update.bind(this.client) + )(param, metadata); + } +} diff --git a/domains/domain-acl/src/index.ts b/domains/domain-acl/src/index.ts index 23249af..4d332f4 100644 --- a/domains/domain-acl/src/index.ts +++ b/domains/domain-acl/src/index.ts @@ -9,3 +9,9 @@ export * from "./domains/ResourceService"; export * from "./domains/ReviewService"; export * from "./domains/TermService"; export * from "./domains/PrizeService"; +export * from "./domains/SubmissionService"; +export * from "./domains/UploadService"; +export * from "./domains/RoundRegistrationService"; +export * from "./domains/LongComponentStateService"; +export * from "./domains/LongSubmissionService"; +export * from "./domains/ResourceSubmissionService"; diff --git a/domains/domain-acl/src/models/domain-layer/legacy/long_submission.ts b/domains/domain-acl/src/models/domain-layer/legacy/long_submission.ts index 59d524a..882e137 100644 --- a/domains/domain-acl/src/models/domain-layer/legacy/long_submission.ts +++ b/domains/domain-acl/src/models/domain-layer/legacy/long_submission.ts @@ -13,7 +13,7 @@ export interface LongSubmission { example: boolean; } -export interface CreateLongComponentStateInput { +export interface CreateLongSubmissionInput { submissionNumber: number; submissionText: string; openTime: number; @@ -170,7 +170,7 @@ export const LongSubmission = { }, }; -function createBaseCreateLongComponentStateInput(): CreateLongComponentStateInput { +function createBaseCreateLongSubmissionInput(): CreateLongSubmissionInput { return { submissionNumber: 0, submissionText: "", @@ -182,9 +182,9 @@ function createBaseCreateLongComponentStateInput(): CreateLongComponentStateInpu }; } -export const CreateLongComponentStateInput = { +export const CreateLongSubmissionInput = { encode( - message: CreateLongComponentStateInput, + message: CreateLongSubmissionInput, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.submissionNumber !== 0) { @@ -214,10 +214,10 @@ export const CreateLongComponentStateInput = { decode( input: _m0.Reader | Uint8Array, length?: number - ): CreateLongComponentStateInput { + ): CreateLongSubmissionInput { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCreateLongComponentStateInput(); + const message = createBaseCreateLongSubmissionInput(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { @@ -250,7 +250,7 @@ export const CreateLongComponentStateInput = { return message; }, - fromJSON(object: any): CreateLongComponentStateInput { + fromJSON(object: any): CreateLongSubmissionInput { return { submissionNumber: isSet(object.submissionNumber) ? Number(object.submissionNumber) @@ -268,7 +268,7 @@ export const CreateLongComponentStateInput = { }; }, - toJSON(message: CreateLongComponentStateInput): unknown { + toJSON(message: CreateLongSubmissionInput): unknown { const obj: any = {}; message.submissionNumber !== undefined && (obj.submissionNumber = Math.round(message.submissionNumber)); @@ -286,16 +286,16 @@ export const CreateLongComponentStateInput = { return obj; }, - create, I>>( + create, I>>( base?: I - ): CreateLongComponentStateInput { - return CreateLongComponentStateInput.fromPartial(base ?? {}); + ): CreateLongSubmissionInput { + return CreateLongSubmissionInput.fromPartial(base ?? {}); }, - fromPartial, I>>( + fromPartial, I>>( object: I - ): CreateLongComponentStateInput { - const message = createBaseCreateLongComponentStateInput(); + ): CreateLongSubmissionInput { + const message = createBaseCreateLongSubmissionInput(); message.submissionNumber = object.submissionNumber ?? 0; message.submissionText = object.submissionText ?? ""; message.openTime = object.openTime ?? 0; diff --git a/domains/domain-acl/src/models/domain-layer/legacy/services/long_submission.ts b/domains/domain-acl/src/models/domain-layer/legacy/services/long_submission.ts index 4a8bf57..8113720 100644 --- a/domains/domain-acl/src/models/domain-layer/legacy/services/long_submission.ts +++ b/domains/domain-acl/src/models/domain-layer/legacy/services/long_submission.ts @@ -16,7 +16,7 @@ import { ScanRequest, ScanResult, } from "@topcoder-framework/lib-common"; -import { CreateLongComponentStateInput } from "../long_submission"; +import { CreateLongSubmissionInput } from "../long_submission"; export type LegacyLongSubmissionService = typeof LegacyLongSubmissionService; export const LegacyLongSubmissionService = { @@ -35,10 +35,10 @@ export const LegacyLongSubmissionService = { path: "/topcoder.domain.service.legacy_long_submission.LegacyLongSubmission/Create", requestStream: false, responseStream: false, - requestSerialize: (value: CreateLongComponentStateInput) => - Buffer.from(CreateLongComponentStateInput.encode(value).finish()), + requestSerialize: (value: CreateLongSubmissionInput) => + Buffer.from(CreateLongSubmissionInput.encode(value).finish()), requestDeserialize: (value: Buffer) => - CreateLongComponentStateInput.decode(value), + CreateLongSubmissionInput.decode(value), responseSerialize: (value: CreateResult) => Buffer.from(CreateResult.encode(value).finish()), responseDeserialize: (value: Buffer) => CreateResult.decode(value), @@ -48,7 +48,7 @@ export const LegacyLongSubmissionService = { export interface LegacyLongSubmissionServer extends UntypedServiceImplementation { scan: handleUnaryCall; - create: handleUnaryCall; + create: handleUnaryCall; } export interface LegacyLongSubmissionClient extends Client { @@ -68,16 +68,16 @@ export interface LegacyLongSubmissionClient extends Client { callback: (error: ServiceError | null, response: ScanResult) => void ): ClientUnaryCall; create( - request: CreateLongComponentStateInput, + request: CreateLongSubmissionInput, callback: (error: ServiceError | null, response: CreateResult) => void ): ClientUnaryCall; create( - request: CreateLongComponentStateInput, + request: CreateLongSubmissionInput, metadata: Metadata, callback: (error: ServiceError | null, response: CreateResult) => void ): ClientUnaryCall; create( - request: CreateLongComponentStateInput, + request: CreateLongSubmissionInput, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: CreateResult) => void diff --git a/domains/domain-submission/src/domains/Review.ts b/domains/domain-submission/src/domains/Review.ts new file mode 100644 index 0000000..6440a26 --- /dev/null +++ b/domains/domain-submission/src/domains/Review.ts @@ -0,0 +1,76 @@ +import { promisify } from "util"; +import { Metadata } from "@grpc/grpc-js"; + +import { GrpcClient } from "../common/GrpcClient"; +import { ReviewClient } from "../models/domain-layer/submission/service/review"; +import { + CreateResult, + LookupCriteria, + ScanRequest, + ScanResult, + UpdateResult, +} from "@topcoder-framework/lib-common"; +import { + CreateReviewInput, + Review, + ReviewList, + UpdateReviewInput, +} from "src/models/domain-layer/submission/review"; + +export class ReviewDomain { + constructor( + protected grpcServerHost: string, + protected grpcServerPort: string + ) {} + + protected readonly client: ReviewClient = new ReviewClient( + `${this.grpcServerHost}:${this.grpcServerPort}`, + GrpcClient.credentials, + GrpcClient.clientOptions + ); + + public async scan( + param: ScanRequest, + metadata: Metadata = new Metadata() + ): Promise { + return promisify( + this.client.scan.bind(this.client) + )(param, metadata); + } + + public async lookup( + param: LookupCriteria, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.lookup.bind(this.client) + )(param, metadata); + } + + public async create( + param: CreateReviewInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.create.bind(this.client) + )(param, metadata); + } + + public async update( + param: UpdateReviewInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.update.bind(this.client) + )(param, metadata); + } + + public async delete( + param: LookupCriteria, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.delete.bind(this.client) + )(param, metadata); + } +} diff --git a/domains/domain-submission/src/domains/ReviewSummation.ts b/domains/domain-submission/src/domains/ReviewSummation.ts new file mode 100644 index 0000000..7727dcc --- /dev/null +++ b/domains/domain-submission/src/domains/ReviewSummation.ts @@ -0,0 +1,76 @@ +import { promisify } from "util"; +import { Metadata } from "@grpc/grpc-js"; + +import { GrpcClient } from "../common/GrpcClient"; +import { ReviewSummationClient } from "../models/domain-layer/submission/service/review_summation"; +import { + CreateResult, + LookupCriteria, + ScanRequest, + ScanResult, + UpdateResult, +} from "@topcoder-framework/lib-common"; +import { + CreateReviewSummationInput, + ReviewSummation, + ReviewSummationList, + UpdateReviewSummationInput, +} from "src/models/domain-layer/submission/review_summation"; + +export class ReviewSummationDomain { + constructor( + protected grpcServerHost: string, + protected grpcServerPort: string + ) {} + + protected readonly client: ReviewSummationClient = new ReviewSummationClient( + `${this.grpcServerHost}:${this.grpcServerPort}`, + GrpcClient.credentials, + GrpcClient.clientOptions + ); + + public async scan( + param: ScanRequest, + metadata: Metadata = new Metadata() + ): Promise { + return promisify( + this.client.scan.bind(this.client) + )(param, metadata); + } + + public async lookup( + param: LookupCriteria, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.lookup.bind(this.client) + )(param, metadata); + } + + public async create( + param: CreateReviewSummationInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.create.bind(this.client) + )(param, metadata); + } + + public async update( + param: UpdateReviewSummationInput, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.update.bind(this.client) + )(param, metadata); + } + + public async delete( + param: LookupCriteria, + metadata: Metadata = new Metadata() + ) { + return promisify( + this.client.delete.bind(this.client) + )(param, metadata); + } +} diff --git a/domains/domain-submission/src/index.ts b/domains/domain-submission/src/index.ts index bc28122..62225d6 100644 --- a/domains/domain-submission/src/index.ts +++ b/domains/domain-submission/src/index.ts @@ -1 +1,3 @@ export * from "./domains/Submission"; +export * from "./domains/Review"; +export * from "./domains/ReviewSummation";