Skip to content

Commit 1396509

Browse files
committed
Adding copilot payment resource info
1 parent a291b91 commit 1396509

File tree

4 files changed

+32
-31
lines changed

4 files changed

+32
-31
lines changed

config/default.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,6 @@ module.exports = {
5858
},
5959

6060
LEGACY_REVIEWER_ROLE_ID: process.env.LEGACY_REVIEWER_ROLE_ID || 4,
61-
LEGACY_REVIEW_PHASE_ID: process.env.LEGACY_REVIEW_PHASE_ID || 4
61+
LEGACY_REVIEW_PHASE_ID: process.env.LEGACY_REVIEW_PHASE_ID || 4,
62+
COPILOT_PAYMENT_TYPE: process.env.COPILOT_PAYMENT_TYPE || 'copilot'
6263
}

src/dao/RegistrationDAO.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
const helper = require('../common/helper')
22
const moment = require('moment')
3-
// const logger = require('../common/logger')
3+
const logger = require('../common/logger')
44

55
const RESOURCE_TYPE_EXT_REF_ID = 1
66
const RESOURCE_TYPE_HANDLE_ID = 2
77
const RESOURCE_TYPE_REG_DATE = 6
88
const RESOURCE_TYPE_APPEALS_COMPLETED = 13
99

10+
const RESOURCE_TYPE_COPILOT_PAYMENT_ID = 7
11+
const COPILOT_RESOURCE_ROLE_ID = 14
12+
1013
const QUERY_GET_USER_RELIABILITY = `
1114
SELECT rating
1215
FROM user_reliability
@@ -39,7 +42,7 @@ INSERT INTO resource
3942
VALUES
4043
(?, ?, ?, ?, ?, ?, CURRENT, ?, CURRENT)`
4144

42-
async function persistResourceWithRoleId (userId, challengeId, resourceId, roleId, handle, projectPhaseId) {
45+
async function persistResourceWithRoleId (userId, challengeId, resourceId, roleId, handle, projectPhaseId, copilotPaymentAmount) {
4346
const regDate = moment().format('MM[.]DD[.]YYYY h:mm A')
4447
// logger.debug(`persistResourceWithRoleId - projectPhaseId: ${projectPhaseId} - ${JSON.stringify([resourceId, roleId, projectPhaseId, challengeId, userId, userId, userId])}`)
4548
await helper.executeSQLonDB(QUERY_INSERT_RESOURCE_WITH_ROLE, [resourceId, roleId, projectPhaseId, challengeId, userId, userId, userId])
@@ -48,6 +51,10 @@ async function persistResourceWithRoleId (userId, challengeId, resourceId, roleI
4851
await persistResourceInfo(userId, resourceId, RESOURCE_TYPE_HANDLE_ID, handle)
4952
await persistResourceInfo(userId, resourceId, RESOURCE_TYPE_REG_DATE, regDate)
5053
await persistResourceInfo(userId, resourceId, RESOURCE_TYPE_APPEALS_COMPLETED, 'NO')
54+
if (roleId === COPILOT_RESOURCE_ROLE_ID) {
55+
logger.debug(`Copilot Payment Amount Set on Resource Info Table: ${copilotPaymentAmount}`)
56+
await persistResourceInfo(userId, resourceId, RESOURCE_TYPE_COPILOT_PAYMENT_ID, copilotPaymentAmount || 0)
57+
}
5158
}
5259

5360
const QUERY_INSERT_RESOURCE = `

src/services/ProcessorService.js

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -75,50 +75,42 @@ async function _updateChallengeResource (message, isDelete) {
7575
const resourceRoleId = resourceRole.legacyId
7676
const legacyChallengeID = _.get(v5Challenge, 'legacyId')
7777
const isStudioChallenge = isStudio(v5Challenge.type)
78-
const forumId = _.get(v5Challenge, 'legacy.forumId', 0)
78+
// const forumId = _.get(v5Challenge, 'legacy.forumId', 0)
7979
const isTask = _.get(v5Challenge, 'task.isTask', false)
8080

81+
const prizeSets = _.get(v5Challenge, 'prizeSets')
82+
const copilotPaymentAmount = _.get(_.find(prizeSets, p => p.type === config.COPILOT_PAYMENT_TYPE), 'prizes[0].value', null)
83+
8184
const body = {
8285
roleId: resourceRoleId,
8386
resourceUserId: userId,
8487
isStudio: isStudioChallenge
8588
}
8689

87-
let response = null
90+
// let response = null
8891
const resources = await ProjectServices.searchResources(legacyChallengeID, resourceRoleId)
8992
const existingResource = _.find(resources, r => _.toString(r.userid) === _.toString(userId))
9093
// if the resource already exists, skip it
9194
if (!isDelete && existingResource) {
9295
logger.debug(`Will skip creating resource ${userId} with role ${resourceRoleId} for challenge ${legacyChallengeID}`)
9396
return
9497
}
95-
if (isTask || !forumId || forumId <= 0) {
98+
99+
if (resourceRole.id === config.SUBMITTER_ROLE_ID && !isTask) {
96100
if (isDelete) {
97-
logger.debug(`Deleting Challenge Resource ${userId} from challenge ${legacyChallengeID} with roleID ${resourceRoleId}`)
98-
await ResourceDirectManager.removeResource(legacyChallengeID, resourceRoleId, userId)
101+
logger.debug(`v4 Unregistering Submitter ${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/unregister?userId=${userId} - ${JSON.stringify(body)}`)
102+
await helper.postRequest(`${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/unregister?userId=${userId}`, {}, m2mToken)
99103
} else {
100-
logger.debug(`Creating Challenge Resource ${userId} to challenge ${legacyChallengeID} with roleID ${resourceRoleId}`)
101-
await ResourceDirectManager.addResource(legacyChallengeID, resourceRoleId, userId, handle)
104+
logger.debug(`v4 Registering Submitter ${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/register?userId=${userId} - ${JSON.stringify(body)}`)
105+
await helper.postRequest(`${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/register?userId=${userId}`, {}, m2mToken)
102106
}
103-
// logger.debug(`Update Challenge Response ${JSON.stringify(response)}`)
104107
} else {
105-
if (resourceRole.id === config.SUBMITTER_ROLE_ID) {
106-
if (isDelete) {
107-
logger.debug(`v4 Unregistering Submitter ${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/unregister?userId=${userId} - ${JSON.stringify(body)}`)
108-
response = await helper.postRequest(`${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/unregister?userId=${userId}`, {}, m2mToken)
109-
} else {
110-
logger.debug(`v4 Registering Submitter ${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/register?userId=${userId} - ${JSON.stringify(body)}`)
111-
response = await helper.postRequest(`${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/register?userId=${userId}`, {}, m2mToken)
112-
}
108+
if (isDelete) {
109+
logger.debug(`Deleting Challenge Resource ${userId} from challenge ${legacyChallengeID} with roleID ${resourceRoleId}`)
110+
await ResourceDirectManager.removeResource(legacyChallengeID, resourceRoleId, userId)
113111
} else {
114-
if (isDelete) {
115-
logger.debug(`v4 Deleting Challenge Resource ${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/resources - ${JSON.stringify(body)}`)
116-
response = await helper.deleteRequest(`${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/resources`, body, m2mToken)
117-
} else {
118-
logger.debug(`v4 Creating Challenge Resource ${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/resources - ${JSON.stringify(body)}`)
119-
response = await helper.postRequest(`${config.CHALLENGE_API_V4_URL}/${_.get(v5Challenge, 'legacyId')}/resources`, body, m2mToken)
120-
}
121-
logger.debug(`v4 Update Challenge Response ${JSON.stringify(response)}`)
112+
logger.debug(`Creating Challenge Resource ${userId} to challenge ${legacyChallengeID} with roleID ${resourceRoleId}`)
113+
await ResourceDirectManager.addResource(legacyChallengeID, resourceRoleId, userId, handle, copilotPaymentAmount)
122114
}
123115
}
124116
}

src/services/ResourceDirectManager.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const { find, toString } = require('lodash')
1414
* the id of the user.
1515
* @param handle
1616
*/
17-
async function assignRole (legacyChallengeId, roleId, userId, handle) {
17+
async function assignRole (legacyChallengeId, roleId, userId, handle, copilotPaymentAmount) {
1818
let found = await ProjectServices.resourceExists(legacyChallengeId, roleId, userId)
1919
const termChecking = true
2020
const eligible = true
@@ -41,7 +41,7 @@ async function assignRole (legacyChallengeId, roleId, userId, handle) {
4141
projectPhaseId = await RegistrationDAO.getPhaseIdForPhaseTypeId(legacyChallengeId, config.LEGACY_REVIEW_PHASE_ID)
4242
}
4343
const resourceId = await SequenceDAO.getResourceSeqNextId()
44-
await RegistrationDAO.persistResourceWithRoleId(userId, legacyChallengeId, resourceId, roleId, handle, projectPhaseId)
44+
await RegistrationDAO.persistResourceWithRoleId(userId, legacyChallengeId, resourceId, roleId, handle, projectPhaseId, copilotPaymentAmount)
4545

4646
// only check notification setting for observer, else always add
4747
// if (roleId !== Constants.RESOURCE_ROLE_OBSERVER_ID || addNotification) {
@@ -78,9 +78,10 @@ async function removeRole (legacyChallengeId, roleId, userId) {
7878
* @param resourceRoleId
7979
* @param userId
8080
* @param handle
81+
* @param copilotPaymentAmount
8182
*/
82-
async function addResource (challengeId, resourceRoleId, userId, handle) {
83-
await assignRole(challengeId, resourceRoleId, userId, handle)
83+
async function addResource (challengeId, resourceRoleId, userId, handle, copilotPaymentAmount) {
84+
await assignRole(challengeId, resourceRoleId, userId, handle, copilotPaymentAmount)
8485
}
8586

8687
/**

0 commit comments

Comments
 (0)