Skip to content

Commit b426b07

Browse files
author
jeffreywescott
committed
change post-retro DM to simply link to web UI
1 parent 3f2b53b commit b426b07

File tree

4 files changed

+46
-111
lines changed

4 files changed

+46
-111
lines changed

server/actions/sendPlayerStatsSummaries.js

-108
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import config from 'src/config'
2+
import getPlayerInfo from 'src/server/actions/getPlayerInfo'
3+
import {findPlayersByIds} from 'src/server/db/player'
4+
5+
export default async function sendRetroCompletedNotification(project) {
6+
const chatService = require('src/server/services/chatService')
7+
8+
const projectPlayers = await findPlayersByIds(project.playerIds)
9+
const projectPlayerUsers = await getPlayerInfo(project.playerIds)
10+
const players = _mergePlayerUsers(projectPlayers, projectPlayerUsers)
11+
12+
return Promise.all(players.map(player => {
13+
const retroStatsMessage = _compilePlayerStatsMessage(player, project)
14+
15+
return chatService.sendDirectMessage(player.handle, retroStatsMessage).catch(err => {
16+
console.error(`\n\nThere was a problem while sending stats DM to player @${player.handle}`)
17+
console.error('Error:', err, err.stack)
18+
console.error(`Message: "${retroStatsMessage}"`)
19+
})
20+
}))
21+
}
22+
23+
function _mergePlayerUsers(players, users) {
24+
const combined = new Map()
25+
26+
players.forEach(player => combined.set(player.id, Object.assign({}, player)))
27+
28+
users.forEach(user => {
29+
const values = combined.get(user.id)
30+
if (values) {
31+
combined.set(user.id, Object.assign({}, values, user))
32+
}
33+
})
34+
35+
return Array.from(combined.values())
36+
}
37+
38+
function _compilePlayerStatsMessage(player, project) {
39+
return `**RETROSPECTIVE COMPLETE:**
40+
41+
- [View Project: ${project.name}](${config.app.baseURL}/projects/${project.name})
42+
- [View Your Stats](${config.app.baseURL}/users/${player.handle})`
43+
}

server/workers/__tests__/surveyResponseSubmitted.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ describe(testContext(__filename), function () {
9191
await processSurveyResponseSubmitted(event)
9292
expect(chatService.sendDirectMessage.callCount).to.eq(this.users.length)
9393
this.users.forEach(user => (
94-
expect(chatService.sendDirectMessage).to.have.been.calledWithMatch(user.handle, 'RETROSPECTIVE RESULTS')
94+
expect(chatService.sendDirectMessage).to.have.been.calledWithMatch(user.handle, 'RETROSPECTIVE COMPLETE')
9595
))
9696
})
9797
})

server/workers/surveyResponseSubmitted.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Promise from 'bluebird'
22

33
import {findProjectBySurveyId} from 'src/server/db/project'
44
import {getSurveyById, recordSurveyCompletedBy, surveyWasCompletedBy} from 'src/server/db/survey'
5-
import sendPlayerStatsSummaries from 'src/server/actions/sendPlayerStatsSummaries'
5+
import sendRetroCompletedNotification from 'src/server/actions/sendRetroCompletedNotification'
66
import updatePlayerStatsForProject from 'src/server/actions/updatePlayerStatsForProject'
77
import updateProjectStats from 'src/server/actions/updateProjectStats'
88
import updatePlayerCumulativeStats from 'src/server/actions/updatePlayerCumulativeStats'
@@ -84,7 +84,7 @@ async function updateStatsIfNeeded(project, survey, respondentId) {
8484
console.log(`All respondents have completed this survey [${survey.id}]. Updating stats.`)
8585
await updateProjectStats(project.id)
8686
await updatePlayerStatsForProject(project)
87-
await sendPlayerStatsSummaries(project)
87+
await sendRetroCompletedNotification(project)
8888
}
8989
}
9090

0 commit comments

Comments
 (0)