Skip to content

Commit 9501599

Browse files
author
James Cori
committed
Merge branch 'develop'
2 parents 0c1a8e6 + 8a00869 commit 9501599

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

app-constants.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ const challengeTextSortField = {
8585
TypeId: 'typeId'
8686
}
8787

88+
const reviewTypes = {
89+
Community: 'COMMUNITY',
90+
Internal: 'INTERNAL'
91+
}
92+
8893
module.exports = {
8994
UserRoles,
9095
prizeSetTypes,
@@ -95,5 +100,6 @@ module.exports = {
95100
Topics,
96101
challengeTracks,
97102
challengeTextSortField,
98-
DiscussionTypes
103+
DiscussionTypes,
104+
reviewTypes
99105
}

docs/swagger.yaml

+8-3
Original file line numberDiff line numberDiff line change
@@ -2550,6 +2550,10 @@ definitions:
25502550
reviewType:
25512551
type: string
25522552
description: the review type
2553+
enum:
2554+
- 'INTERNAL'
2555+
- 'COMMUNITY'
2556+
default: 'INTERNAL'
25532557
forumId:
25542558
type: integer
25552559
description: the forum id
@@ -2718,7 +2722,6 @@ definitions:
27182722
- prizeSets
27192723
- created
27202724
- createdBy
2721-
- reviewType
27222725
- tags
27232726
- status
27242727
Attachment:
@@ -2962,13 +2965,16 @@ definitions:
29622965
type: string
29632966
reviewType:
29642967
type: string
2968+
enum:
2969+
- 'INTERNAL'
2970+
- 'COMMUNITY'
2971+
default: 'INTERNAL'
29652972
confidentialityType:
29662973
type: string
29672974
forumId:
29682975
type: number
29692976
required:
29702977
- track
2971-
- reviewType
29722978
name:
29732979
type: string
29742980
description:
@@ -3246,7 +3252,6 @@ definitions:
32463252
- prizeSets
32473253
- created
32483254
- createdBy
3249-
- reviewType
32503255
- tags
32513256
- projectId
32523257
- forumId

src/services/ChallengeService.js

+9-3
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,9 @@ async function populatePhases (phases, startDate, timelineTemplateId) {
817817
* @returns {Object} the created challenge
818818
*/
819819
async function createChallenge (currentUser, challenge, userToken) {
820+
if (!_.isUndefined(_.get(challenge, 'legacy.reviewType'))) {
821+
_.set(challenge, 'legacy.reviewType', _.toUpper(_.get(challenge, 'legacy.reviewType')))
822+
}
820823
challenge.name = xss(challenge.name)
821824
challenge.description = xss(challenge.description)
822825
if (challenge.status === constants.challengeStatuses.Active) {
@@ -959,7 +962,7 @@ createChallenge.schema = {
959962
typeId: Joi.id(),
960963
trackId: Joi.id(),
961964
legacy: Joi.object().keys({
962-
reviewType: Joi.string().required(),
965+
reviewType: Joi.string().valid(_.values(constants.reviewTypes)).insensitive().default(constants.reviewTypes.Internal),
963966
confidentialityType: Joi.string().default(config.DEFAULT_CONFIDENTIALITY_TYPE),
964967
forumId: Joi.number().integer(),
965968
directProjectId: Joi.number().integer(),
@@ -1178,6 +1181,9 @@ async function validateWinners (winners, challengeId) {
11781181
* @returns {Object} the updated challenge
11791182
*/
11801183
async function update (currentUser, challengeId, data, userToken, isFull) {
1184+
if (!_.isUndefined(_.get(data, 'legacy.reviewType'))) {
1185+
_.set(data, 'legacy.reviewType', _.toUpper(_.get(data, 'legacy.reviewType')))
1186+
}
11811187
if (data.projectId) {
11821188
await helper.ensureProjectExist(data.projectId, userToken)
11831189
}
@@ -1703,7 +1709,7 @@ fullyUpdateChallenge.schema = {
17031709
challengeId: Joi.id(),
17041710
data: Joi.object().keys({
17051711
legacy: Joi.object().keys({
1706-
reviewType: Joi.string().required(),
1712+
reviewType: Joi.string().valid(_.values(constants.reviewTypes)).insensitive().default(constants.reviewTypes.Internal),
17071713
confidentialityType: Joi.string().default(config.DEFAULT_CONFIDENTIALITY_TYPE),
17081714
forumId: Joi.number().integer(),
17091715
directProjectId: Joi.number().integer(),
@@ -1802,7 +1808,7 @@ partiallyUpdateChallenge.schema = {
18021808
legacy: Joi.object().keys({
18031809
track: Joi.string(),
18041810
subTrack: Joi.string(),
1805-
reviewType: Joi.string(),
1811+
reviewType: Joi.string().valid(_.values(constants.reviewTypes)).insensitive().default(constants.reviewTypes.Internal),
18061812
confidentialityType: Joi.string().default(config.DEFAULT_CONFIDENTIALITY_TYPE),
18071813
directProjectId: Joi.number(),
18081814
forumId: Joi.number().integer(),

0 commit comments

Comments
 (0)