Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ FROM node:lts-alpine@sha256:19eaf41f3b8c2ac2f609ac8103f9246a6a6d46716cdbe49103fd

USER root

RUN apk update && apk upgrade --no-cache
RUN apk update && apk upgrade --no-cache && \
apk add postgresql

# Setup nodejs group & nodejs user
RUN addgroup --system nodejs --gid 998 && \
Expand Down
4 changes: 4 additions & 0 deletions apps/ima/behaviours/check-email-token.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ module.exports = superclass => class extends superclass {
req.sessionModel.set('user-email', skipEmail);
req.sessionModel.set('cepr', id);
req.sessionModel.set('date-of-birth', _.get(req.session['hof-wizard-verify'], 'date-of-birth'));
req.sessionModel.set('duty-to-remove-alert', _.get(req.session['hof-wizard-verify'], 'duty-to-remove-alert'));
return super.saveValues(req, res, next);
}

Expand All @@ -27,13 +28,16 @@ module.exports = superclass => class extends superclass {
// returns a Promise
return getToken.read(token)
.then(user => {
console.log("user: " + JSON.stringify(user));
if (user.valid) {
// this is so a user can go back without requesting a new token
req.sessionModel.set('valid-token', true);
// store email to send to caseworker later
req.sessionModel.set('user-email', user.email);
req.sessionModel.set('cepr', user.cepr);
req.sessionModel.set('date-of-birth', user['date-of-birth']);
req.sessionModel.set('duty-to-remove-alert', user['duty-to-remove-alert']);
console.log("abc: " + req.sessionModel.get('duty-to-remove-alert'));
return super.saveValues(req, res, next);
}
return res.redirect(config.login.invalidTokenPath);
Expand Down
2 changes: 2 additions & 0 deletions apps/ima/behaviours/continue-report.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ module.exports = superclass => class extends superclass {
getValues(req, res, next) {
const cepr = req.sessionModel.get('cepr');

console.log("DTR Value (continue report): " + req.sessionModel.get('duty-to-remove-alert'));

if (!cepr) {
return res.redirect('/ima/continue-form');
}
Expand Down
15 changes: 14 additions & 1 deletion apps/ima/behaviours/resume-form-session.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ module.exports = superclass => class extends superclass {
}
// GET lifecycle
configure(req, res, next) {
console.log("xyz: " + req.sessionModel.get('duty-to-remove-alert'));
// reset session but keeping login fields, csrf and preexisting cases garnered from API
this.cleanSession(req);
// skip requesting data service api when running in local and test mode
Expand All @@ -43,6 +44,8 @@ module.exports = superclass => class extends superclass {

const cases = _.unionBy(parsedBody, sessionCases, 'id');

cases

const cepr = req.sessionModel.get('cepr');
const singleCase = cases.length < 2;
const isSameCase = _.get(cases, "[0].session['cepr']") === cepr;
Expand All @@ -51,9 +54,10 @@ module.exports = superclass => class extends superclass {

if (singleCase && noCaseOrSameCase && !multipleCasesInSession) {
if (cases[0]) {
console.log("cases" + cases[0]);
this.setupSession(req, cases[0].session);
}
req.sessionModel.set('multipleCases', false);
req.sessionModel.set(' multipleCases', false);
return res.redirect(super.getNextStep(req, res, next));
}

Expand All @@ -68,6 +72,9 @@ module.exports = superclass => class extends superclass {
addCasesToSession(req, cases, cepr) {
const caseAlreadyInSession = cases.find(obj => obj.session.cepr === cepr);

console.log("sessionCase" + caseAlreadyInSession);
console.log("CASES:" + cases);

if (!caseAlreadyInSession) {
this.addSessionCaseToList(req, cases);
}
Expand Down Expand Up @@ -111,11 +118,14 @@ module.exports = superclass => class extends superclass {
}
// POST lifecycle
saveValues(req, res, next) {
console.log("reached here");
const cases = req.sessionModel.get('user-cases');
const ceprCase = cases.find(obj => obj.session.cepr === req.form.values.cepr);
console.log("ceprCase: " + JSON.stringify(ceprCase));

if (ceprCase) {
req.sessionModel.set('id', ceprCase.id);
req.sessionModel.set('duty-to-remove-alert', ceprCase['duty-to-remove-alert']);
}

this.setupSession(req, ceprCase.session);
Expand All @@ -132,6 +142,8 @@ module.exports = superclass => class extends superclass {
options: cases.map(obj => {
const cepr = obj.session.cepr;
const dob = obj.session['date-of-birth'];
const dutyToRemoveAlert = obj.session['duty-to-remove-alert'];
console.log("Resume form dtr: " + dutyToRemoveAlert);
return {
label: `CEPR: ${cepr}`,
value: cepr,
Expand All @@ -145,6 +157,7 @@ module.exports = superclass => class extends superclass {
setupSession(req, ceprCase) {
const session = ceprCase;
const cases = req.sessionModel.get('user-cases');
console.log("CASES: " + cases);
// ensure no /edit steps are add to the steps property when session resumed
session.steps = session.steps.filter(step => !step.match(/\/change|edit$/));

Expand Down
13 changes: 11 additions & 2 deletions apps/ima/behaviours/save-form-session.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ const utilities = require('../../../lib/utilities');
const applicationsUrl = `${config.saveService.host}:${config.saveService.port}/saved_applications`;

module.exports = superclass => class extends superclass {
configure(req, res, next) {
console.log(req.sessionModel);
console.log(req.sessionModel.get('email'));
console.log(req.sessionModel.get('duty-to-remove-alert'));
next();

}

saveValues(req, res, next) {
return super.saveValues(req, res, async err => {
if (err) {
Expand All @@ -38,17 +46,18 @@ module.exports = superclass => class extends superclass {

const id = req.sessionModel.get('id');
const email = req.sessionModel.get('user-email');
const cepr = req.sessionModel.get('cepr');
const CEPR = req.sessionModel.get('cepr');
const date_of_birth = req.sessionModel.get('date-of-birth');
const duty_to_remove_alert = req.sessionModel.get('duty-to-remove-alert');
console.log("Values: " + email + " " + CEPR + " " + date_of_birth+ " " + duty_to_remove_alert)

req.log('info', `Saving Form Session: ${id}`);

try {
const response = await axios({
url: id ? applicationsUrl + `/${id}` : applicationsUrl,
method: id ? 'PATCH' : 'POST',
data: id ? { session } : { session, email, cepr, date_of_birth, duty_to_remove_alert }
data: id ? { session } : { session, email, CEPR, date_of_birth, duty_to_remove_alert }
});

const resBody = response.data;
Expand Down
6 changes: 6 additions & 0 deletions apps/ima/translations/src/en/pages.json
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@
"temporary-permission-to-stay": {
"header": "Are there any other reasons you should be granted temporary permission to stay in the UK?"
},
"temporary-permission": {
"header": "Why should you be granted temporary permission to stay in the UK?"
},
"evidence-upload": {
"header": "Upload evidence"
},
Expand Down Expand Up @@ -202,6 +205,9 @@
"temporary-permission": {
"label": "Request temporary permission to stay"
},
"temporary-permission-details-ban-only": {
"label": "Request for temporary permission to stay"
},
"images": {
"label": "Files uploaded"
}
Expand Down
1 change: 1 addition & 0 deletions apps/verify/behaviours/send-verification-email.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ module.exports = superclass => class extends superclass {
}
const response = await axios.get(baseUrl + '/cepr/' + req.sessionModel.get('cepr'));
const claimantRecords = response.data;
console.log("CR: " + claimantRecords);
const recordEmail = claimantRecords.map(f => { return f.email; });
const unSubmittedCase = _.filter(response.data, record => !record.submitted_at);
const unSubmittedCaseEmail = unSubmittedCase.map(record => { return record.email; });
Expand Down
4 changes: 4 additions & 0 deletions apps/verify/behaviours/validate-case-details.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,11 @@ module.exports = superclass => class extends superclass {

const imaResult = casesJson.find(
obj => obj.cepr === cepr && obj['date-of-birth'] === dob);
req.form.values['duty-to-remove-alert'] = imaResult['duty-to-remove-alert'];
req.sessionModel.set('duty-to-remove-alert', imaResult['duty-to-remove-alert']);
console.log("dtr: " + req.sessionModel.get('duty-to-remove-alert'));
req.sessionModel.set('service', 'ima');
console.log("IMA Result: " + imaResult['duty-to-remove-alert']);
return imaResult;
}
};
2 changes: 1 addition & 1 deletion config.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ module.exports = {
},
sessionDefaults: {
steps: ['/start', '/continue-form', '/summary', '/who-are-you'],
fields: ['user-email', 'cepr', 'date-of-birth', 'csrf-secret', 'errorValues', 'errors']
fields: ['user-email', 'cepr', 'date-of-birth', 'duty-to-remove-alert', 'csrf-secret', 'errorValues', 'errors']
},
ceprUpload: {
recordScanLimit: 1,
Expand Down
2 changes: 2 additions & 0 deletions db/get-token.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ const read = async token => {
user['date-of-birth'] = await redis.get(`${token}:date-of-birth`);
user['duty-to-remove-alert'] = await redis.get(`${token}:duty-to-remove-alert`);

console.log("USER: " + JSON.stringify(user));

return user;
};

Expand Down
2 changes: 2 additions & 0 deletions db/save-token.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ module.exports = {
redis.expire(`${token}:date-of-birth`, tokenExpiry);
redis.expire(`${token}:duty-to-remove-alert`, tokenExpiry);

console.log("REDIS" + redis.get(`${token}`));

return token;
}
};
4 changes: 2 additions & 2 deletions kube/hof-rds-api/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ spec:
containers:
- name: data-service
# release v2.0.1
image: quay.io/ukhomeofficedigital/hof-rds-api:ee9ea8ca6881fa8e50b1e8945a3f4d13bb355c5e
image: quay.io/ukhomeofficedigital/hof-rds-api:f0fe62e70a22fbc28004b0d57f900b57e977d1de
imagePullPolicy: Always
envFrom:
- configMapRef:
Expand All @@ -46,7 +46,7 @@ spec:
- name: SERVICE_NAME
value: "ima"
- name: LATEST_MIGRATION
# value: TO BE UPDATED WITH LATEST MIGRATION
# value: "20240202143333_rename_uan_column_to_cepr"
- name: MAX_PAYLOAD_SIZE
value: "30mb"
- name: REQUEST_TIMEOUT
Expand Down