-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathreport-sent.js
More file actions
89 lines (78 loc) · 2.77 KB
/
report-sent.js
File metadata and controls
89 lines (78 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import constants from '../utils/constants.js'
import { questionSets } from '../utils/question-sets.js'
import config from '../utils/config.js'
const mediaUploadBaseUrl = `${config.mediaUploadUrl}/upload-photo`
const journeyMap = {
100: 'water pollution',
200: 'smell',
300: 'blockage',
1800: 'illegal fishing'
}
const journeyConfigMap = {
100: {
contactDetailsKey: constants.redisKeys.WATER_POLLUTION_CONTACT_DETAILS,
imagesOrVideoKey: constants.redisKeys.WATER_POLLUTION_IMAGES_OR_VIDEO,
imagesQuestion: questionSets.WATER_POLLUTION.questions.WATER_POLLUTION_IMAGES_OR_VIDEO
},
200: {
contactDetailsKey: constants.redisKeys.SMELL_CONTACT_DETAILS,
imagesOrVideoKey: constants.redisKeys.SMELL_IMAGES_OR_VIDEO,
imagesQuestion: questionSets.SMELL.questions.SMELL_IMAGES_OR_VIDEO
},
300: {
contactDetailsKey: constants.redisKeys.BLOCKAGE_CONTACT_DETAILS,
imagesOrVideoKey: constants.redisKeys.BLOCKAGE_IMAGES_OR_VIDEO,
imagesQuestion: questionSets.BLOCKAGE.questions.BLOCKAGE_IMAGES_OR_VIDEO
},
1800: {
contactDetailsKey: constants.redisKeys.ILLEGAL_FISHING_CONTACT_DETAILS,
imagesOrVideoKey: constants.redisKeys.ILLEGAL_FISHING_IMAGES_OR_VIDEO,
imagesQuestion: questionSets.ILLEGAL_FISHING.questions.ILLEGAL_FISHING_IMAGES_OR_VIDEO
}
}
const handlers = {
get: async (request, h) => {
const questionSetID = request.yar.get(constants.redisKeys.QUESTION_SET_ID)
const submissionTimestamp = request.yar.get(constants.redisKeys.SUBMISSION_TIMESTAMP)
const journey = journeyMap[questionSetID]
const sessionId = request.yar.id
const journeyConfig = journeyConfigMap[questionSetID]
const contactDetails = journeyConfig
? request.yar.get(journeyConfig.contactDetailsKey)
: null
const imagesOrVideoAnswer = journeyConfig
? request.yar.get(journeyConfig.imagesOrVideoKey)
: null
const reportersEmail = contactDetails?.reporterEmailAddress || ''
const userAgreedForImages = journeyConfig
? imagesOrVideoAnswer?.[0]?.answerId === journeyConfig.imagesQuestion.answers.yes.answerId
: false
await request.server.app.mediaUploadCache.set(sessionId, {
journey,
dateTime: submissionTimestamp
})
const mediaUploadLink = `${mediaUploadBaseUrl}?sirid=${sessionId}`
request.yar.reset()
const context = _getContext({
reportersEmail,
userAgreedForImages,
mediaUploadLink
// mediaUploadLink: config.mediaUploadUrl
})
return h.view(constants.views.REPORT_SENT, context)
}
}
const _getContext = (photoUploadDetails) => {
return {
hideBackLink: true,
photoUploadDetails
// mediaUploadLink: config.mediaUploadUrl
}
}
export default [
{
method: 'GET',
path: constants.routes.REPORT_SENT,
handler: handlers.get
}
]