Skip to content

Commit

Permalink
Migrate V4 code
Browse files Browse the repository at this point in the history
  • Loading branch information
aenciso committed May 24, 2024
1 parent 59d5302 commit 91ffe46
Show file tree
Hide file tree
Showing 12 changed files with 122 additions and 104 deletions.
40 changes: 20 additions & 20 deletions src/app.constants.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { AccountManagementEvent, UserJourney } from "./utils/state-machine";
import { EventType, UserJourney } from "./utils/state-machine";

export const PATH_DATA: {
[key: string]: { url: string; event?: string; type?: UserJourney };
[key: string]: { url: string; event?: EventType; type?: UserJourney };
} = {
CONTACT: { url: "/contact-gov-uk-one-login" },
SIGN_IN_HISTORY: { url: "/activity-history" },
Expand All @@ -13,82 +13,82 @@ export const PATH_DATA: {
ENTER_PASSWORD: { url: "/enter-password" },
ADD_MFA_METHOD: {
url: "/add-mfa-method",
event: "SELECTED_APP",
event: EventType.SelectedApp,
type: UserJourney.AddMfaMethod,
},
ADD_MFA_METHOD_APP: {
url: "/add-mfa-method-app",
event: "VALUE_UPDATED",
event: EventType.ValueUpdated,
type: UserJourney.AddMfaMethod,
},
ADD_MFA_METHOD_APP_CONFIRMATION: {
url: "/add-mfa-method-app-confirmation",
event: "CONFIRMATION",
event: EventType.Confirmation,
type: UserJourney.AddMfaMethod,
},
ADD_MFA_METHOD_SMS: {
url: "/add-mfa-method-sms",
event: "VALUE_UPDATED",
event: EventType.ValueUpdated,
type: UserJourney.AddMfaMethod,
},
CHANGE_EMAIL: {
url: "/change-email",
event: "VERIFY_CODE_SENT",
event: EventType.VerifyCodeSent,
type: UserJourney.ChangeEmail,
},
CHECK_YOUR_EMAIL: {
url: "/check-your-email",
event: "VALUE_UPDATED",
event: EventType.ValueUpdated,
type: UserJourney.ChangeEmail,
},
REQUEST_NEW_CODE_EMAIL: {
url: "/request-new-email-code",
event: "RESEND_CODE",
event: EventType.ResendCode,
type: UserJourney.ChangeEmail,
},
EMAIL_UPDATED_CONFIRMATION: {
url: "/email-updated-confirmation",
event: "CONFIRMATION",
event: EventType.Confirmation,
type: UserJourney.ChangeEmail,
},
CHANGE_PASSWORD: {
url: "/change-password",
event: "VALUE_UPDATED",
event: EventType.ValueUpdated,
type: UserJourney.ChangePassword,
},
PASSWORD_UPDATED_CONFIRMATION: {
url: "/password-updated-confirmation",
event: "CONFIRMATION",
event: EventType.Confirmation,
type: UserJourney.ChangePassword,
},
CHANGE_PHONE_NUMBER: {
url: "/change-phone-number",
event: "VERIFY_CODE_SENT",
event: EventType.VerifyCodeSent,
type: UserJourney.ChangePhoneNumber,
},
CHECK_YOUR_PHONE: {
url: "/check-your-phone",
event: "VALUE_UPDATED",
event: EventType.ValueUpdated,
type: UserJourney.ChangePhoneNumber,
},
REQUEST_NEW_CODE_OTP: {
url: "/request-new-opt-code",
event: "RESEND_CODE",
event: EventType.ResendCode,
type: UserJourney.ChangePhoneNumber,
},
PHONE_NUMBER_UPDATED_CONFIRMATION: {
url: "/phone-number-updated-confirmation",
event: "CONFIRMATION",
event: EventType.Confirmation,
type: UserJourney.ChangePhoneNumber,
},
DELETE_ACCOUNT: {
url: "/delete-account",
event: "VALUE_UPDATED",
event: EventType.ValueUpdated,
type: UserJourney.DeleteAccount,
},
ACCOUNT_DELETED_CONFIRMATION: {
url: "/account-deleted-confirmation",
event: "CONFIRMATION",
event: EventType.Confirmation,
type: UserJourney.DeleteAccount,
},
AUTH_CALLBACK: { url: "/auth/callback" },
Expand All @@ -115,12 +115,12 @@ export const MFA_METHODS = {
SMS: {
type: "sms",
path: PATH_DATA.ADD_MFA_METHOD_SMS,
event: "SELECTED_SMS" as AccountManagementEvent,
event: EventType.SelectedSms,
},
APP: {
type: "app",
path: PATH_DATA.ADD_MFA_METHOD_APP,
event: "SELECTED_APP" as AccountManagementEvent,
event: EventType.SelectedApp,
},
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Request, Response, NextFunction } from "express";
import { NextFunction, Request, Response } from "express";
import { HTTP_STATUS_CODES, PATH_DATA } from "../../app.constants";
import {
addMfaMethod,
Expand All @@ -10,7 +10,7 @@ import QRCode from "qrcode";
import assert from "node:assert";
import { splitSecretKeyIntoFragments } from "../../utils/strings";
import { formatValidationError } from "../../utils/validation";
import { getNextState } from "../../utils/state-machine";
import { EventType, getNextState } from "../../utils/state-machine";

async function renderMfaMethodAppPage(
req: Request,
Expand Down Expand Up @@ -123,9 +123,8 @@ export async function addMfaAppMethodPost(

req.session.user.state.addMfaMethod = getNextState(
req.session.user.state.addMfaMethod.value,
"VALUE_UPDATED"
EventType.ValueUpdated
);

return res.redirect(PATH_DATA.ADD_MFA_METHOD_APP_CONFIRMATION.url);
} catch (e) {
req.log.error(e);
Expand Down
6 changes: 3 additions & 3 deletions src/components/change-email/change-email-controller.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Request, Response } from "express";
import { PATH_DATA } from "../../app.constants";
import { ExpressRouteFunc } from "../../types";
import { getNextState } from "../../utils/state-machine";
// import { getNextState } from "../../utils/state-machine";
import {
formatValidationError,
renderBadRequest,
Expand Down Expand Up @@ -52,10 +52,10 @@ export function changeEmailPost(
if (emailSent) {
req.session.user.newEmailAddress = newEmailAddress;

req.session.user.state.changeEmail = getNextState(
/*req.session.user.state.changeEmail = getNextState(
req.session.user.state.changeEmail.value,
"VERIFY_CODE_SENT"
);
);*/

return res.redirect(PATH_DATA.CHECK_YOUR_EMAIL.url);
}
Expand Down
10 changes: 5 additions & 5 deletions src/components/change-password/change-password-controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { ExpressRouteFunc } from "../../types";
import { PATH_DATA, ERROR_CODES } from "../../app.constants";
import { ChangePasswordServiceInterface } from "./types";
import { changePasswordService } from "./change-password-service";
import { getNextState } from "../../utils/state-machine";
// import { getNextState } from "../../utils/state-machine";
import {
renderBadRequest,
formatValidationError,
Expand Down Expand Up @@ -39,10 +39,10 @@ export function changePasswordPost(
);

if (response.success) {
req.session.user.state.changePassword = getNextState(
req.session.user.state.changePassword.value,
"VALUE_UPDATED"
);
// req.session.user.state.changePassword = getNextState(
// req.session.user.state.changePassword.value,
// "VALUE_UPDATED"
// );

return res.redirect(PATH_DATA.PASSWORD_UPDATED_CONFIRMATION.url);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { ERROR_CODES, PATH_DATA } from "../../app.constants";
import { ExpressRouteFunc } from "../../types";
import { ChangePhoneNumberServiceInterface } from "./types";
import { changePhoneNumberService } from "./change-phone-number-service";
import { getNextState } from "../../utils/state-machine";
// import { getNextState } from "../../utils/state-machine";
import {
formatValidationError,
renderBadRequest,
Expand Down Expand Up @@ -51,10 +51,10 @@ export function changePhoneNumberPost(
if (response.success) {
req.session.user.newPhoneNumber = newPhoneNumber;

req.session.user.state.changePhoneNumber = getNextState(
req.session.user.state.changePhoneNumber.value,
"VERIFY_CODE_SENT"
);
// req.session.user.state.changePhoneNumber = getNextState(
// req.session.user.state.changePhoneNumber.value,
// "VERIFY_CODE_SENT"
// );

return res.redirect(PATH_DATA.CHECK_YOUR_PHONE.url);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {
} from "../../utils/validation";
import { checkYourEmailService } from "./check-your-email-service";
import { CheckYourEmailServiceInterface } from "./types";
import { getNextState } from "../../utils/state-machine";
import { GovUkPublishingServiceInterface } from "../common/gov-uk-publishing/types";
import { govUkPublishingService } from "../common/gov-uk-publishing/gov-uk-publishing-service";
import xss from "xss";
Expand All @@ -16,6 +15,7 @@ import {
UpdateInformationSessionValues,
} from "../../utils/types";
import { getTxmaHeader } from "../../utils/txma-header";
import { EventType, getNextState } from "../../utils/state-machine";

const TEMPLATE_NAME = "check-your-email/index.njk";

Expand Down Expand Up @@ -70,10 +70,10 @@ export function checkYourEmailPost(
req.session.user.email = newEmailAddress;
delete req.session.user.newEmailAddress;

req.session.user.state.changeEmail = getNextState(
/* req.session.user.state.changeEmail = getNextState(
req.session.user.state.changeEmail.value,
"VALUE_UPDATED"
);
);*/

return res.redirect(PATH_DATA.EMAIL_UPDATED_CONFIRMATION.url);
}
Expand All @@ -90,7 +90,7 @@ export function checkYourEmailPost(
export function requestNewCodeGet(req: Request, res: Response): void {
req.session.user.state.changeEmail = getNextState(
req.session.user.state.changeEmail.value,
"RESEND_CODE"
EventType.ResendCode
);

return res.redirect(PATH_DATA.CHANGE_EMAIL.url);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Request, Response } from "express";
import { ExpressRouteFunc } from "../../types";
import { PATH_DATA } from "../../app.constants";
import { CheckYourPhoneServiceInterface } from "./types";
import { getNextState } from "../../utils/state-machine";
import { EventType, getNextState } from "../../utils/state-machine";
import { checkYourPhoneService } from "./check-your-phone-service";
import {
formatValidationError,
Expand Down Expand Up @@ -77,7 +77,7 @@ export function checkYourPhonePost(

req.session.user.state.changePhoneNumber = getNextState(
req.session.user.state.changePhoneNumber.value,
"VALUE_UPDATED"
EventType.ValueUpdated
);

return res.redirect(PATH_DATA.PHONE_NUMBER_UPDATED_CONFIRMATION.url);
Expand All @@ -95,7 +95,7 @@ export function checkYourPhonePost(
export function requestNewOTPCodeGet(req: Request, res: Response): void {
req.session.user.state.changePhoneNumber = getNextState(
req.session.user.state.changePhoneNumber.value,
"RESEND_CODE"
EventType.ResendCode
);

return res.redirect(PATH_DATA.CHANGE_PHONE_NUMBER.url);
Expand Down
4 changes: 2 additions & 2 deletions src/components/delete-account/delete-account-controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { ExpressRouteFunc } from "../../types";
import { DeleteAccountServiceInterface } from "./types";
import { deleteAccountService } from "./delete-account-service";
import { PATH_DATA } from "../../app.constants";
import { getNextState } from "../../utils/state-machine";
import { EventType, getNextState } from "../../utils/state-machine";
import { getAppEnv, getBaseUrl, getSNSDeleteTopic } from "../../config";
import { clearCookies, destroyUserSessions } from "../../utils/session-store";
import {
Expand Down Expand Up @@ -76,7 +76,7 @@ export function deleteAccountPost(

req.session.user.state.deleteAccount = getNextState(
req.session.user.state.deleteAccount.value,
"VALUE_UPDATED"
EventType.ValueUpdated
);

const logoutUrl = req.oidc.endSessionUrl({
Expand Down
6 changes: 3 additions & 3 deletions src/components/enter-password/enter-password-controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
renderBadRequest,
} from "../../utils/validation";
import {
getInitialState,
EventType,
getNextState,
UserJourney,
} from "../../utils/state-machine";
Expand Down Expand Up @@ -56,7 +56,7 @@ export function enterPasswordGet(req: Request, res: Response): void {
return res.redirect(PATH_DATA.SETTINGS.url);
}

req.session.user.state[requestType] = getInitialState();
req.session.user.state[requestType] = { events: [], value: undefined };

res.render(`enter-password/index.njk`, {
requestType,
Expand Down Expand Up @@ -86,7 +86,7 @@ export function enterPasswordPost(
if (isAuthenticated) {
req.session.user.state[requestType] = getNextState(
req.session.user.state[requestType].value,
"AUTHENTICATED"
EventType.Authenticated
);

return res.redirect(REDIRECT_PATHS[requestType]);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Request, Response } from "express";
import { ExpressRouteFunc } from "../../types";
import xss from "xss";
import { getNextState } from "../../utils/state-machine";
import { EventType, getNextState } from "../../utils/state-machine";
import { PATH_DATA } from "../../app.constants";
import { ChangeEmailServiceInterface } from "../change-email/types";
import { changeEmailService } from "../change-email/change-email-service";
Expand Down Expand Up @@ -55,7 +55,7 @@ export function resendEmailCodePost(

req.session.user.state.changeEmail = getNextState(
req.session.user.state.changeEmail.value,
"VERIFY_CODE_SENT"
EventType.VerifyCodeSent
);

return res.redirect(PATH_DATA.CHECK_YOUR_EMAIL.url);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { ChangePhoneNumberServiceInterface } from "../change-phone-number/types"
import { changePhoneNumberService } from "../change-phone-number/change-phone-number-service";
import { BadRequestError } from "../../utils/errors";
import { getLastNDigits } from "../../utils/phone-number";
import { getNextState } from "../../utils/state-machine";
import { EventType, getNextState } from "../../utils/state-machine";
import xss from "xss";
import {
formatValidationError,
Expand Down Expand Up @@ -46,7 +46,7 @@ export function resendPhoneCodePost(

req.session.user.state.changePhoneNumber = getNextState(
req.session.user.state.changePhoneNumber.value,
"VERIFY_CODE_SENT"
EventType.VerifyCodeSent
);

return res.redirect(PATH_DATA.CHECK_YOUR_PHONE.url);
Expand Down
Loading

0 comments on commit 91ffe46

Please sign in to comment.