@@ -2,7 +2,7 @@ import { Logger } from '@hmcts/nodejs-logging';
2
2
import autobind from 'autobind-decorator' ;
3
3
import { Response } from 'express' ;
4
4
5
- import { APPLICANT_2 , HOME_URL , SIGN_OUT_URL } from '../../steps/urls' ;
5
+ import { APPLICANT_2 , HOME_URL , RESPONDENT , SIGN_OUT_URL } from '../../steps/urls' ;
6
6
import { getSystemUser } from '../auth/user/oidc' ;
7
7
import { getCaseApi } from '../case/case-api' ;
8
8
import { SYSTEM_LINK_APPLICANT_1 , SYSTEM_LINK_APPLICANT_2 , SYSTEM_UNLINK_APPLICANT , State } from '../case/definition' ;
@@ -26,7 +26,7 @@ export class AccessCodePostController {
26
26
const { saveAndSignOut, saveBeforeSessionTimeout, _csrf, ...formData } = form . getParsedBody ( req . body ) ;
27
27
28
28
//Set app2 name in form data only when state is AwaitingApplicant2Response
29
- if ( req . path . includes ( APPLICANT_2 ) ) {
29
+ if ( this . joiningCaseAsApplicant2 ( req ) ) {
30
30
formData . applicant2Email = req . session . user . email ;
31
31
formData . respondentUserId = req . session . user . id ;
32
32
const caseState = req . session . userCase ?. state ;
@@ -47,7 +47,9 @@ export class AccessCodePostController {
47
47
48
48
logger . info ( `AccessCodePostController invoked for case ID: ${ caseReference } ` ) ;
49
49
50
- const expectedAccessCode = req . path . includes ( APPLICANT_2 ) ? caseData . accessCode : caseData . accessCodeApplicant1 ;
50
+ const expectedAccessCode = this . joiningCaseAsApplicant2 ( req )
51
+ ? caseData . accessCode
52
+ : caseData . accessCodeApplicant1 ;
51
53
if ( expectedAccessCode !== formData . accessCode ?. replace ( / \s / g, '' ) . toUpperCase ( ) ) {
52
54
req . session . errors . push ( { errorType : 'invalidAccessCode' , propertyName : 'accessCode' } ) ;
53
55
const formattedAccessCode = formData . accessCode ?. replace ( / \s / g, '' ) . toUpperCase ( ) ;
@@ -65,17 +67,12 @@ export class AccessCodePostController {
65
67
}
66
68
67
69
if ( req . session . errors . length === 0 ) {
68
- const systemEvent = req . path . includes ( APPLICANT_2 ) ? SYSTEM_LINK_APPLICANT_2 : SYSTEM_LINK_APPLICANT_1 ;
70
+ const systemEvent = this . joiningCaseAsApplicant2 ( req ) ? SYSTEM_LINK_APPLICANT_2 : SYSTEM_LINK_APPLICANT_1 ;
69
71
70
72
logger . info ( `Calling to link ${ systemEvent } to case ID: ${ caseReference } ` ) ;
71
73
try {
72
74
req . session . userCase = await caseworkerUserApi . triggerEvent ( caseReference as string , formData , systemEvent ) ;
73
-
74
- if ( req . path . includes ( APPLICANT_2 ) ) {
75
- req . session . isApplicant2 = true ;
76
- } else {
77
- req . session . isApplicant2 = false ;
78
- }
75
+ req . session . isApplicant2 = this . joiningCaseAsApplicant2 ( req ) ;
79
76
} catch ( err ) {
80
77
req . locals . logger . error ( `Error linking applicant/respondent to case ${ caseReference } , ${ err } ` ) ;
81
78
req . session . errors . push ( { errorType : 'errorSaving' , propertyName : '*' } ) ;
@@ -112,4 +109,8 @@ export class AccessCodePostController {
112
109
res . redirect ( nextStep ) ;
113
110
} ) ;
114
111
}
112
+
113
+ private joiningCaseAsApplicant2 ( req : AppRequest < AnyObject > ) : boolean {
114
+ return req . path . includes ( APPLICANT_2 ) || req . path . includes ( RESPONDENT ) ;
115
+ }
115
116
}
0 commit comments