Skip to content

Commit 26e6e32

Browse files
authored
Merge pull request #60 from topcoder-platform/PLAT-3368
Plat 3368
2 parents 1b27c93 + 5b1adf7 commit 26e6e32

File tree

5 files changed

+153
-23
lines changed

5 files changed

+153
-23
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
"@aws-sdk/util-utf8-node": "^3.259.0",
2424
"@grpc/grpc-js": "^1.7.1",
2525
"@opensearch-project/opensearch": "^2.2.0",
26-
"@topcoder-framework/domain-acl": "^0.21.0",
27-
"@topcoder-framework/lib-common": "^0.21.0",
28-
"topcoder-interface": "github:topcoder-platform/plat-interface-definition#v0.0.57-beta-1",
26+
"@topcoder-framework/domain-acl": "^0.22.0",
27+
"@topcoder-framework/lib-common": "^0.22.0",
28+
"topcoder-interface": "github:topcoder-platform/plat-interface-definition#v0.0.58-beta-1",
2929
"@types/uuid": "^9.0.1",
3030
"aws-sdk": "^2.1339.0",
3131
"axios": "^1.2.2",

src/domain/Challenge.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,7 @@ class ChallengeDomain extends CoreOperations<Challenge, CreateChallengeInput> {
327327
totalPrizesInCents,
328328
} : undefined,
329329
legacyId: legacyId != null ? legacyId : undefined,
330+
constraints: input.constraints != null ? input.constraints : undefined,
330331
},
331332
metadata
332333
);

src/models/domain-layer/challenge/challenge.ts

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export interface Challenge {
3636
created: number;
3737
updated?: number | undefined;
3838
overview?: Challenge_Overview;
39+
constraints?: Challenge_Constraint | undefined;
3940
}
4041

4142
export interface Challenge_Legacy {
@@ -136,6 +137,10 @@ export interface Challenge_Overview {
136137
totalPrizes?: number | undefined;
137138
}
138139

140+
export interface Challenge_Constraint {
141+
allowedRegistrants: string[];
142+
}
143+
139144
export interface ChallengeList {
140145
items: Challenge[];
141146
}
@@ -164,6 +169,7 @@ export interface CreateChallengeInput {
164169
attachments: string[];
165170
groups: string[];
166171
discussions: Challenge_Discussion[];
172+
constraints?: Challenge_Constraint | undefined;
167173
}
168174

169175
export interface UpdateChallengeInput {
@@ -197,6 +203,7 @@ export interface UpdateChallengeInput_UpdateInput {
197203
endDate?: string | undefined;
198204
status?: string | undefined;
199205
overview?: Challenge_Overview | undefined;
206+
constraints?: Challenge_Constraint | undefined;
200207
}
201208

202209
export interface UpdateChallengeInput_UpdateInput_WinnerUpdate {
@@ -322,6 +329,7 @@ function createBaseChallenge(): Challenge {
322329
created: 0,
323330
updated: undefined,
324331
overview: undefined,
332+
constraints: undefined,
325333
};
326334
}
327335

@@ -420,6 +428,9 @@ export const Challenge = {
420428
if (message.overview !== undefined) {
421429
Challenge_Overview.encode(message.overview, writer.uint32(250).fork()).ldelim();
422430
}
431+
if (message.constraints !== undefined) {
432+
Challenge_Constraint.encode(message.constraints, writer.uint32(258).fork()).ldelim();
433+
}
423434
return writer;
424435
},
425436

@@ -647,6 +658,13 @@ export const Challenge = {
647658

648659
message.overview = Challenge_Overview.decode(reader, reader.uint32());
649660
continue;
661+
case 32:
662+
if (tag !== 258) {
663+
break;
664+
}
665+
666+
message.constraints = Challenge_Constraint.decode(reader, reader.uint32());
667+
continue;
650668
}
651669
if ((tag & 7) === 4 || tag === 0) {
652670
break;
@@ -693,6 +711,7 @@ export const Challenge = {
693711
created: isSet(object.created) ? Number(object.created) : 0,
694712
updated: isSet(object.updated) ? Number(object.updated) : undefined,
695713
overview: isSet(object.overview) ? Challenge_Overview.fromJSON(object.overview) : undefined,
714+
constraints: isSet(object.constraints) ? Challenge_Constraint.fromJSON(object.constraints) : undefined,
696715
};
697716
},
698717

@@ -771,6 +790,8 @@ export const Challenge = {
771790
message.updated !== undefined && (obj.updated = Math.round(message.updated));
772791
message.overview !== undefined &&
773792
(obj.overview = message.overview ? Challenge_Overview.toJSON(message.overview) : undefined);
793+
message.constraints !== undefined &&
794+
(obj.constraints = message.constraints ? Challenge_Constraint.toJSON(message.constraints) : undefined);
774795
return obj;
775796
},
776797

@@ -819,6 +840,9 @@ export const Challenge = {
819840
message.overview = (object.overview !== undefined && object.overview !== null)
820841
? Challenge_Overview.fromPartial(object.overview)
821842
: undefined;
843+
message.constraints = (object.constraints !== undefined && object.constraints !== null)
844+
? Challenge_Constraint.fromPartial(object.constraints)
845+
: undefined;
822846
return message;
823847
},
824848
};
@@ -2142,6 +2166,70 @@ export const Challenge_Overview = {
21422166
},
21432167
};
21442168

2169+
function createBaseChallenge_Constraint(): Challenge_Constraint {
2170+
return { allowedRegistrants: [] };
2171+
}
2172+
2173+
export const Challenge_Constraint = {
2174+
encode(message: Challenge_Constraint, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
2175+
for (const v of message.allowedRegistrants) {
2176+
writer.uint32(10).string(v!);
2177+
}
2178+
return writer;
2179+
},
2180+
2181+
decode(input: _m0.Reader | Uint8Array, length?: number): Challenge_Constraint {
2182+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
2183+
let end = length === undefined ? reader.len : reader.pos + length;
2184+
const message = createBaseChallenge_Constraint();
2185+
while (reader.pos < end) {
2186+
const tag = reader.uint32();
2187+
switch (tag >>> 3) {
2188+
case 1:
2189+
if (tag !== 10) {
2190+
break;
2191+
}
2192+
2193+
message.allowedRegistrants.push(reader.string());
2194+
continue;
2195+
}
2196+
if ((tag & 7) === 4 || tag === 0) {
2197+
break;
2198+
}
2199+
reader.skipType(tag & 7);
2200+
}
2201+
return message;
2202+
},
2203+
2204+
fromJSON(object: any): Challenge_Constraint {
2205+
return {
2206+
allowedRegistrants: Array.isArray(object?.allowedRegistrants)
2207+
? object.allowedRegistrants.map((e: any) => String(e))
2208+
: [],
2209+
};
2210+
},
2211+
2212+
toJSON(message: Challenge_Constraint): unknown {
2213+
const obj: any = {};
2214+
if (message.allowedRegistrants) {
2215+
obj.allowedRegistrants = message.allowedRegistrants.map((e) => e);
2216+
} else {
2217+
obj.allowedRegistrants = [];
2218+
}
2219+
return obj;
2220+
},
2221+
2222+
create<I extends Exact<DeepPartial<Challenge_Constraint>, I>>(base?: I): Challenge_Constraint {
2223+
return Challenge_Constraint.fromPartial(base ?? {});
2224+
},
2225+
2226+
fromPartial<I extends Exact<DeepPartial<Challenge_Constraint>, I>>(object: I): Challenge_Constraint {
2227+
const message = createBaseChallenge_Constraint();
2228+
message.allowedRegistrants = object.allowedRegistrants?.map((e) => e) || [];
2229+
return message;
2230+
},
2231+
};
2232+
21452233
function createBaseChallengeList(): ChallengeList {
21462234
return { items: [] };
21472235
}
@@ -2227,6 +2315,7 @@ function createBaseCreateChallengeInput(): CreateChallengeInput {
22272315
attachments: [],
22282316
groups: [],
22292317
discussions: [],
2318+
constraints: undefined,
22302319
};
22312320
}
22322321

@@ -2301,6 +2390,9 @@ export const CreateChallengeInput = {
23012390
for (const v of message.discussions) {
23022391
Challenge_Discussion.encode(v!, writer.uint32(186).fork()).ldelim();
23032392
}
2393+
if (message.constraints !== undefined) {
2394+
Challenge_Constraint.encode(message.constraints, writer.uint32(194).fork()).ldelim();
2395+
}
23042396
return writer;
23052397
},
23062398

@@ -2472,6 +2564,13 @@ export const CreateChallengeInput = {
24722564

24732565
message.discussions.push(Challenge_Discussion.decode(reader, reader.uint32()));
24742566
continue;
2567+
case 24:
2568+
if (tag !== 194) {
2569+
break;
2570+
}
2571+
2572+
message.constraints = Challenge_Constraint.decode(reader, reader.uint32());
2573+
continue;
24752574
}
24762575
if ((tag & 7) === 4 || tag === 0) {
24772576
break;
@@ -2510,6 +2609,7 @@ export const CreateChallengeInput = {
25102609
discussions: Array.isArray(object?.discussions)
25112610
? object.discussions.map((e: any) => Challenge_Discussion.fromJSON(e))
25122611
: [],
2612+
constraints: isSet(object.constraints) ? Challenge_Constraint.fromJSON(object.constraints) : undefined,
25132613
};
25142614
},
25152615

@@ -2575,6 +2675,8 @@ export const CreateChallengeInput = {
25752675
} else {
25762676
obj.discussions = [];
25772677
}
2678+
message.constraints !== undefined &&
2679+
(obj.constraints = message.constraints ? Challenge_Constraint.toJSON(message.constraints) : undefined);
25782680
return obj;
25792681
},
25802682

@@ -2613,6 +2715,9 @@ export const CreateChallengeInput = {
26132715
message.attachments = object.attachments?.map((e) => e) || [];
26142716
message.groups = object.groups?.map((e) => e) || [];
26152717
message.discussions = object.discussions?.map((e) => Challenge_Discussion.fromPartial(e)) || [];
2718+
message.constraints = (object.constraints !== undefined && object.constraints !== null)
2719+
? Challenge_Constraint.fromPartial(object.constraints)
2720+
: undefined;
26162721
return message;
26172722
},
26182723
};
@@ -2728,6 +2833,7 @@ function createBaseUpdateChallengeInput_UpdateInput(): UpdateChallengeInput_Upda
27282833
endDate: undefined,
27292834
status: undefined,
27302835
overview: undefined,
2836+
constraints: undefined,
27312837
};
27322838
}
27332839

@@ -2812,6 +2918,9 @@ export const UpdateChallengeInput_UpdateInput = {
28122918
if (message.overview !== undefined) {
28132919
Challenge_Overview.encode(message.overview, writer.uint32(202).fork()).ldelim();
28142920
}
2921+
if (message.constraints !== undefined) {
2922+
Challenge_Constraint.encode(message.constraints, writer.uint32(210).fork()).ldelim();
2923+
}
28152924
return writer;
28162925
},
28172926

@@ -2997,6 +3106,13 @@ export const UpdateChallengeInput_UpdateInput = {
29973106

29983107
message.overview = Challenge_Overview.decode(reader, reader.uint32());
29993108
continue;
3109+
case 26:
3110+
if (tag !== 210) {
3111+
break;
3112+
}
3113+
3114+
message.constraints = Challenge_Constraint.decode(reader, reader.uint32());
3115+
continue;
30003116
}
30013117
if ((tag & 7) === 4 || tag === 0) {
30023118
break;
@@ -3053,6 +3169,7 @@ export const UpdateChallengeInput_UpdateInput = {
30533169
endDate: isSet(object.endDate) ? String(object.endDate) : undefined,
30543170
status: isSet(object.status) ? String(object.status) : undefined,
30553171
overview: isSet(object.overview) ? Challenge_Overview.fromJSON(object.overview) : undefined,
3172+
constraints: isSet(object.constraints) ? Challenge_Constraint.fromJSON(object.constraints) : undefined,
30563173
};
30573174
},
30583175

@@ -3105,6 +3222,8 @@ export const UpdateChallengeInput_UpdateInput = {
31053222
message.status !== undefined && (obj.status = message.status);
31063223
message.overview !== undefined &&
31073224
(obj.overview = message.overview ? Challenge_Overview.toJSON(message.overview) : undefined);
3225+
message.constraints !== undefined &&
3226+
(obj.constraints = message.constraints ? Challenge_Constraint.toJSON(message.constraints) : undefined);
31083227
return obj;
31093228
},
31103229

@@ -3171,6 +3290,9 @@ export const UpdateChallengeInput_UpdateInput = {
31713290
message.overview = (object.overview !== undefined && object.overview !== null)
31723291
? Challenge_Overview.fromPartial(object.overview)
31733292
: undefined;
3293+
message.constraints = (object.constraints !== undefined && object.constraints !== null)
3294+
? Challenge_Constraint.fromPartial(object.constraints)
3295+
: undefined;
31743296
return message;
31753297
},
31763298
};

src/schema/Challenge.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,13 @@ export const ChallengeSchema: Schema = {
153153
totalPrizesInCents: { type: DataType.DATA_TYPE_NUMBER, format: "integer" },
154154
},
155155
},
156+
constraints: {
157+
type: DataType.DATA_TYPE_MAP,
158+
itemType: DataType.DATA_TYPE_MAP,
159+
items: {
160+
allowedRegistrants: { type: DataType.DATA_TYPE_LIST, itemType: DataType.DATA_TYPE_STRING },
161+
},
162+
},
156163
},
157164
indices: {
158165
legacyId: {

yarn.lock

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -946,35 +946,35 @@
946946
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
947947
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
948948

949-
"@topcoder-framework/client-relational@^0.21.0":
950-
version "0.21.0"
951-
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com/npm/topcoder-framework/@topcoder-framework/client-relational/-/client-relational-0.21.0.tgz#93a4389b0a9f4416354d47716dafd973628fab99"
952-
integrity sha512-8wl6t0Ro/1AosmNTBW54/ySh40tE+lk/MQIXNIRIUdmvX+kt4B6ukFwdvR0qPcOAzqi3o59v08sVPLiPukhYFw==
949+
"@topcoder-framework/client-relational@^0.22.0":
950+
version "0.22.0"
951+
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com/npm/topcoder-framework/@topcoder-framework/client-relational/-/client-relational-0.22.0.tgz#0e096758ffd8c9d0eb986b2f9328ed247930abfe"
952+
integrity sha512-We0sb8pdxOZfzX8WzKxczhXl16jmZ6cN/eBgDv5jR8qpVoXhLTa2iaTLqiRYUWi9ZvHCN6vmNQ607w0IU/iRFQ==
953953
dependencies:
954954
"@grpc/grpc-js" "^1.8.0"
955-
"@topcoder-framework/lib-common" "^0.21.0"
956-
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.57-beta-1"
955+
"@topcoder-framework/lib-common" "^0.22.0"
956+
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.58-beta-1"
957957
tslib "^2.4.1"
958958

959-
"@topcoder-framework/domain-acl@^0.21.0":
960-
version "0.21.0"
961-
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com/npm/topcoder-framework/@topcoder-framework/domain-acl/-/domain-acl-0.21.0.tgz#849fb40a2517b5647ff5d910ae872b010c1997c1"
962-
integrity sha512-jN6jjywWnsIjE2GN1fdsitsc/inJP4DuXtWW+c9o/Gt4UJUTlx3Thss7aC/GTenV0wQtLaTgRldxSMdUvBadiQ==
959+
"@topcoder-framework/domain-acl@^0.22.0":
960+
version "0.22.0"
961+
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com/npm/topcoder-framework/@topcoder-framework/domain-acl/-/domain-acl-0.22.0.tgz#31b238f011a30a8c8e91f69dabb225d3d22dfae1"
962+
integrity sha512-7pQhbzAFFUKloT/Q2/btOdOKRBhLvbjviLBIyOiWLIJXJoIvPlVRAH+Ub+Bx0/1KLPSynKvEyyAw7zx+aB5jbA==
963963
dependencies:
964964
"@grpc/grpc-js" "^1.8.7"
965-
"@topcoder-framework/client-relational" "^0.21.0"
966-
"@topcoder-framework/lib-common" "^0.21.0"
967-
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.57-beta-1"
965+
"@topcoder-framework/client-relational" "^0.22.0"
966+
"@topcoder-framework/lib-common" "^0.22.0"
967+
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.58-beta-1"
968968
tslib "^2.4.1"
969969

970-
"@topcoder-framework/lib-common@^0.21.0":
971-
version "0.21.0"
972-
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com/npm/topcoder-framework/@topcoder-framework/lib-common/-/lib-common-0.21.0.tgz#01c48a9421b0eb02b86c3737de4745ec53c3c8f4"
973-
integrity sha512-yLHWy5Q3PP6fS6rwwQAmpv54C8LuGKMns+CT7DUQcRX1+OJN4ozINQ5sezjzGx22GnODxsHbk5PbjMJpG/Pc+g==
970+
"@topcoder-framework/lib-common@^0.22.0":
971+
version "0.22.0"
972+
resolved "https://topcoder-409275337247.d.codeartifact.us-east-1.amazonaws.com/npm/topcoder-framework/@topcoder-framework/lib-common/-/lib-common-0.22.0.tgz#bd3428b0199410a5151326d1d9731c404c255fb5"
973+
integrity sha512-sHdOAyCGcNaDT9esc9Q3sNaqvVAwHPv6NCTlTAt5O9dcSpdz2AyEur8mS5WccFclKhF5ZB9BM1bbWxO8i9WXGQ==
974974
dependencies:
975975
"@grpc/grpc-js" "^1.8.0"
976976
rimraf "^3.0.2"
977-
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.57-beta-1"
977+
topcoder-interface "github:topcoder-platform/plat-interface-definition#v0.0.58-beta-1"
978978
tslib "^2.4.1"
979979

980980
"@tsconfig/node10@^1.0.7":
@@ -2698,9 +2698,9 @@ topcoder-bus-api-wrapper@topcoder-platform/tc-bus-api-wrapper.git:
26982698
superagent "^3.8.3"
26992699
tc-core-library-js appirio-tech/tc-core-library-js.git#v2.6.4
27002700

2701-
"topcoder-interface@github:topcoder-platform/plat-interface-definition#v0.0.57-beta-1":
2701+
"topcoder-interface@github:topcoder-platform/plat-interface-definition#v0.0.58-beta-1":
27022702
version "1.0.0"
2703-
resolved "https://codeload.github.com/topcoder-platform/plat-interface-definition/tar.gz/af7812437904275e62f85182515764ef218ff75f"
2703+
resolved "https://codeload.github.com/topcoder-platform/plat-interface-definition/tar.gz/474bcfa1d01f0f2d0a2658de21aa835f4c824c44"
27042704

27052705
topo@3.x.x:
27062706
version "3.0.3"

0 commit comments

Comments
 (0)