From e233d8a2d9436331e620492f23dd56544503e056 Mon Sep 17 00:00:00 2001 From: David Middleton Date: Fri, 10 Nov 2023 16:40:48 +0000 Subject: [PATCH 1/2] CDPS-376: Get COM from Delius --- cypress.config.ts | 3 +- feature.env | 1 + helm_deploy/values-dev.yaml | 1 + helm_deploy/values-preprod.yaml | 1 + helm_deploy/values-prod.yaml | 1 + .../mockApis/prisonerProfileDeliusApi.ts | 20 +++++++++ integration_tests/support/commands.ts | 1 + server/config.ts | 8 ++++ server/data/index.ts | 2 + .../prisonerProfileDeliusApiClient.ts | 5 +++ .../localMockData/communityManagerMock.ts | 9 ++++ server/data/localMockData/staffContacts.ts | 2 +- .../prisonerProfileDeliusApiClient.test.ts | 41 +++++++++++++++++++ server/data/prisonerProfileDeliusApiClient.ts | 19 +++++++++ .../communityManager.ts | 14 +++++++ server/services/index.ts | 2 + server/services/overviewPageService.test.ts | 7 ++++ server/services/overviewPageService.ts | 32 +++++---------- server/utils/utils.test.ts | 16 ++++++++ server/utils/utils.ts | 8 ++++ 20 files changed, 170 insertions(+), 23 deletions(-) create mode 100644 integration_tests/mockApis/prisonerProfileDeliusApi.ts create mode 100644 server/data/interfaces/prisonerProfileDeliusApiClient.ts create mode 100644 server/data/localMockData/communityManagerMock.ts create mode 100644 server/data/prisonerProfileDeliusApiClient.test.ts create mode 100644 server/data/prisonerProfileDeliusApiClient.ts create mode 100644 server/interfaces/prisonerProfileDeliusApi/communityManager.ts diff --git a/cypress.config.ts b/cypress.config.ts index 356e8dae0..43e16394d 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -15,6 +15,7 @@ import pathfinderApi from './integration_tests/mockApis/pathfinderApi' import socApi from './integration_tests/mockApis/socApi' import adjudicationsApi from './integration_tests/mockApis/adjudications' import nonAssociationsApi from './integration_tests/mockApis/nonAssociationsApi' +import prisonerProfileDeliusApi from './integration_tests/mockApis/prisonerProfileDeliusApi' export default defineConfig({ viewportWidth: 1152, @@ -26,7 +27,6 @@ export default defineConfig({ reporterOptions: { configFile: 'reporter-config.json', }, - videoUploadOnPasses: false, taskTimeout: 60000, e2e: { // We've imported your old cypress plugins here. @@ -49,6 +49,7 @@ export default defineConfig({ ...socApi, ...adjudicationsApi, ...nonAssociationsApi, + ...prisonerProfileDeliusApi, }) }, baseUrl: 'http://localhost:3007', diff --git a/feature.env b/feature.env index 4816a6a4a..794ffaa59 100644 --- a/feature.env +++ b/feature.env @@ -30,6 +30,7 @@ NON_ASSOCIATIONS_PRISONS=MDI,LGI,FNI,ISI,RSI WELCOME_PEOPLE_INTO_PRISON_UI_URL=https://welcome-dev.prison.service.justice.gov.uk MANAGE_ADJUDICATIONS_API_URL=http://localhost:9091/adjudications CALCULATE_RELEASE_DATES_UI_URL=https://localhost:9091/calculateRelease +PRISONER_PROFILE_DELIUS_API_URL=https://localhost:9091/delius FEEDBACK_DISABLED_PRISONS=LEI SYSTEM_PHASE=DEV NEURODIVERSITY_ENABLED_PRISONS=MDI diff --git a/helm_deploy/values-dev.yaml b/helm_deploy/values-dev.yaml index 31b1370cc..351a94646 100644 --- a/helm_deploy/values-dev.yaml +++ b/helm_deploy/values-dev.yaml @@ -48,6 +48,7 @@ generic-service: COMPONENT_API_URL: "https://frontend-components-dev.hmpps.service.justice.gov.uk" COMPONENT_API_LATEST: "true" PROFILE_ADD_APPOINTMENT_ENABLED: "true" + PRISONER_PROFILE_DELIUS_API_URL: "https://prisoner-profile-and-delius-dev.hmpps.service.justice.gov.uk" generic-prometheus-alerts: alertSeverity: hmpps-prisoner-profile-non-prod diff --git a/helm_deploy/values-preprod.yaml b/helm_deploy/values-preprod.yaml index 96e28f5e8..c8ac3a8fa 100644 --- a/helm_deploy/values-preprod.yaml +++ b/helm_deploy/values-preprod.yaml @@ -48,6 +48,7 @@ generic-service: COMPONENT_API_URL: "https://frontend-components-preprod.hmpps.service.justice.gov.uk" COMPONENT_API_LATEST: "true" PROFILE_ADD_APPOINTMENT_ENABLED: "true" + PRISONER_PROFILE_DELIUS_API_URL: "https://prisoner-profile-and-delius-preprod.hmpps.service.justice.gov.uk" allowlist: office: "217.33.148.210/32" diff --git a/helm_deploy/values-prod.yaml b/helm_deploy/values-prod.yaml index 6a577bc17..7a6c261af 100644 --- a/helm_deploy/values-prod.yaml +++ b/helm_deploy/values-prod.yaml @@ -52,6 +52,7 @@ generic-service: COMPONENT_API_URL: "https://frontend-components.hmpps.service.justice.gov.uk" COMPONENT_API_LATEST: "false" PROFILE_ADD_APPOINTMENT_ENABLED: "false" + PRISONER_PROFILE_DELIUS_API_URL: "https://prisoner-profile-and-delius.hmpps.service.justice.gov.uk" allowlist: office: "217.33.148.210/32" diff --git a/integration_tests/mockApis/prisonerProfileDeliusApi.ts b/integration_tests/mockApis/prisonerProfileDeliusApi.ts new file mode 100644 index 000000000..889dfcd66 --- /dev/null +++ b/integration_tests/mockApis/prisonerProfileDeliusApi.ts @@ -0,0 +1,20 @@ +import { stubFor } from './wiremock' +import { communityManagerMock } from '../../server/data/localMockData/communityManagerMock' + +export default { + stubGetCommunityManager: () => { + return stubFor({ + request: { + method: 'GET', + urlPattern: `/delius/probation-cases/G6123VU/community-manager`, + }, + response: { + status: 200, + headers: { + 'Content-Type': 'application/json;charset=UTF-8', + }, + jsonBody: communityManagerMock, + }, + }) + }, +} diff --git a/integration_tests/support/commands.ts b/integration_tests/support/commands.ts index c7b731b99..1b92e6ff3 100644 --- a/integration_tests/support/commands.ts +++ b/integration_tests/support/commands.ts @@ -40,6 +40,7 @@ Cypress.Commands.add( cy.task('stubGetLearnerNeurodivergence', prisonerNumber) cy.task('stubInmateDetail', bookingId) cy.task('stubMovements', prisonerNumber) + cy.task('stubGetCommunityManager') }, ) diff --git a/server/config.ts b/server/config.ts index fe502ea3d..24a9c353a 100755 --- a/server/config.ts +++ b/server/config.ts @@ -172,6 +172,14 @@ export default { agent: new AgentConfig(Number(get('COMPONENT_API_TIMEOUT_SECONDS', 20000))), latest: get('COMPONENT_API_LATEST', 'false') === 'true', }, + prisonerProfileDeliusApi: { + url: get('PRISONER_PROFILE_DELIUS_API_URL', 'http://localhost:8082', requiredInProduction), + timeout: { + response: Number(get('PRISONER_PROFILE_DELIUS_API_TIMEOUT_RESPONSE', 20000)), + deadline: Number(get('PRISONER_PROFILE_DELIUS_API_TIMEOUT_DEADLINE', 20000)), + }, + agent: new AgentConfig(Number(get('PRISONER_PROFILE_DELIUS_API_TIMEOUT_DEADLINE', 20000))), + }, }, serviceUrls: { offenderCategorisation: get('OFFENDER_CATEGORISATION_UI_URL', 'http://localhost:3001', requiredInProduction), diff --git a/server/data/index.ts b/server/data/index.ts index ac1d9eb74..80e3a9a17 100644 --- a/server/data/index.ts +++ b/server/data/index.ts @@ -21,6 +21,7 @@ import AdjudicationsApiRestClient from './adjudicationsApiClient' import NonAssociationsApiRestClient from './nonAssociationsApiClient' import ComponentApiRestClient from './componentApiClient' import WhereaboutsRestApiClient from './whereaboutsClient' +import PrisonerProfileDeliusApiRestClient from './prisonerProfileDeliusApiClient' initialiseAppInsights() buildAppInsightsClient() @@ -44,6 +45,7 @@ export const dataAccess = { nonAssociationsApiClientBuilder: (token: string) => new NonAssociationsApiRestClient(token), componentApiClientBuilder: (token: string) => new ComponentApiRestClient(token), whereaboutsApiClientBuilder: (token: string) => new WhereaboutsRestApiClient(token), + prisonerProfileDeliusApiClientBuilder: (token: string) => new PrisonerProfileDeliusApiRestClient(token), } export type DataAccess = typeof dataAccess diff --git a/server/data/interfaces/prisonerProfileDeliusApiClient.ts b/server/data/interfaces/prisonerProfileDeliusApiClient.ts new file mode 100644 index 000000000..4761577f8 --- /dev/null +++ b/server/data/interfaces/prisonerProfileDeliusApiClient.ts @@ -0,0 +1,5 @@ +import { CommunityManager } from '../../interfaces/prisonerProfileDeliusApi/communityManager' + +export interface PrisonerProfileDeliusApiClient { + getCommunityManager(prisonerNumber: string): Promise +} diff --git a/server/data/localMockData/communityManagerMock.ts b/server/data/localMockData/communityManagerMock.ts new file mode 100644 index 000000000..27b3e4088 --- /dev/null +++ b/server/data/localMockData/communityManagerMock.ts @@ -0,0 +1,9 @@ +import { CommunityManager } from '../../interfaces/prisonerProfileDeliusApi/communityManager' + +// eslint-disable-next-line import/prefer-default-export +export const communityManagerMock: CommunityManager = { + code: 'ABC', + name: { forename: 'Terry', surname: 'Scott', email: 'terry@email.com' }, + team: { code: 'XYZ', description: 'Probation Team', email: 'team@email.com' }, + unallocated: false, +} diff --git a/server/data/localMockData/staffContacts.ts b/server/data/localMockData/staffContacts.ts index 1847bb4d0..a9d91d163 100644 --- a/server/data/localMockData/staffContacts.ts +++ b/server/data/localMockData/staffContacts.ts @@ -8,7 +8,7 @@ export const StaffContactsMock = { }, prisonOffenderManager: 'Andy Marke', coworkingPrisonOffenderManager: 'Andy Hudson', - communityOffenderManager: 'Not assigned', + communityOffenderManager: 'Terry Scott', } export default { diff --git a/server/data/prisonerProfileDeliusApiClient.test.ts b/server/data/prisonerProfileDeliusApiClient.test.ts new file mode 100644 index 000000000..6531c6d4c --- /dev/null +++ b/server/data/prisonerProfileDeliusApiClient.test.ts @@ -0,0 +1,41 @@ +import nock from 'nock' +import config from '../config' +import PrisonerProfileDeliusApiRestClient from './prisonerProfileDeliusApiClient' +import { PrisonerProfileDeliusApiClient } from './interfaces/prisonerProfileDeliusApiClient' +import { communityManagerMock } from './localMockData/communityManagerMock' + +jest.mock('./tokenStore') + +const token = { access_token: 'token-1', expires_in: 300 } + +describe('prisonerProfileDeliusApiClient', () => { + let fakePrisonerProfileDeliusApi: nock.Scope + let prisonerProfileDeliusApiClient: PrisonerProfileDeliusApiClient + + beforeEach(() => { + fakePrisonerProfileDeliusApi = nock(config.apis.prisonerProfileDeliusApi.url) + prisonerProfileDeliusApiClient = new PrisonerProfileDeliusApiRestClient(token.access_token) + }) + + afterEach(() => { + jest.resetAllMocks() + nock.cleanAll() + }) + + const mockSuccessfulApiCall = (url: string, returnData: TReturnData) => { + fakePrisonerProfileDeliusApi + .get(url) + .matchHeader('authorization', `Bearer ${token.access_token}`) + .reply(200, returnData) + } + + describe('getCommunityManager', () => { + it('Should return data from the API', async () => { + const prisonerNumber = 'AB1234Y' + mockSuccessfulApiCall(`/probation-cases/${prisonerNumber}/community-manager`, communityManagerMock) + + const output = await prisonerProfileDeliusApiClient.getCommunityManager(prisonerNumber) + expect(output).toEqual(communityManagerMock) + }) + }) +}) diff --git a/server/data/prisonerProfileDeliusApiClient.ts b/server/data/prisonerProfileDeliusApiClient.ts new file mode 100644 index 000000000..d8a79ddf4 --- /dev/null +++ b/server/data/prisonerProfileDeliusApiClient.ts @@ -0,0 +1,19 @@ +import RestClient from './restClient' +import config from '../config' +import { CommunityManager } from '../interfaces/prisonerProfileDeliusApi/communityManager' +import { PrisonerProfileDeliusApiClient } from './interfaces/prisonerProfileDeliusApiClient' + +export default class PrisonerProfileDeliusApiRestClient implements PrisonerProfileDeliusApiClient { + private readonly restClient: RestClient + + constructor(token: string) { + this.restClient = new RestClient('Prisoner Profile Delius API', config.apis.prisonerProfileDeliusApi, token) + } + + async getCommunityManager(prisonerNumber: string): Promise { + return this.restClient.get({ + path: `/probation-cases/${prisonerNumber}/community-manager`, + ignore404: true, + }) + } +} diff --git a/server/interfaces/prisonerProfileDeliusApi/communityManager.ts b/server/interfaces/prisonerProfileDeliusApi/communityManager.ts new file mode 100644 index 000000000..9bc995940 --- /dev/null +++ b/server/interfaces/prisonerProfileDeliusApi/communityManager.ts @@ -0,0 +1,14 @@ +export interface CommunityManager { + code: string + name: { + forename: string + surname: string + email?: string + } + team: { + code: string + description: string + email?: string + } + unallocated: boolean +} diff --git a/server/services/index.ts b/server/services/index.ts index edcacd6e8..7c65dab82 100644 --- a/server/services/index.ts +++ b/server/services/index.ts @@ -30,6 +30,7 @@ export const services = () => { nonAssociationsApiClientBuilder, componentApiClientBuilder, whereaboutsApiClientBuilder, + prisonerProfileDeliusApiClientBuilder, } = dataAccess const userService = new UserService(hmppsAuthClientBuilder, prisonApiClientBuilder) @@ -48,6 +49,7 @@ export const services = () => { offencesPageService, curiousApiClientBuilder, nonAssociationsApiClientBuilder, + prisonerProfileDeliusApiClientBuilder, ) const personalPageService = new PersonalPageService(prisonApiClientBuilder, curiousApiClientBuilder) const workAndSkillsPageService = new WorkAndSkillsPageService(curiousApiClientBuilder, prisonApiClientBuilder) diff --git a/server/services/overviewPageService.test.ts b/server/services/overviewPageService.test.ts index 8f3f5f057..9f780b242 100644 --- a/server/services/overviewPageService.test.ts +++ b/server/services/overviewPageService.test.ts @@ -61,6 +61,8 @@ import { LearnerGoalsMock } from '../data/localMockData/learnerGoalsMock' import { NonAssociationsApiClient } from '../data/interfaces/nonAssociationsApiClient' import movementsMock from '../data/localMockData/movementsData' import config from '../config' +import { PrisonerProfileDeliusApiClient } from '../data/interfaces/prisonerProfileDeliusApiClient' +import { communityManagerMock } from '../data/localMockData/communityManagerMock' describe('OverviewPageService', () => { let prisonApiClient: PrisonApiClient @@ -92,6 +94,10 @@ describe('OverviewPageService', () => { getNonAssociationDetails: jest.fn(async () => nonAssociationDetailsDummyData), } + const prisonerProfileDeliusApiClient: PrisonerProfileDeliusApiClient = { + getCommunityManager: jest.fn(async () => communityManagerMock), + } + const overviewPageServiceConstruct = jest.fn(() => { return new OverviewPageService( () => prisonApiClient, @@ -102,6 +108,7 @@ describe('OverviewPageService', () => { new OffencesPageService(null), () => curiousApiClient, () => nonAssociationsApiClient, + () => prisonerProfileDeliusApiClient, ) }) diff --git a/server/services/overviewPageService.ts b/server/services/overviewPageService.ts index 174445279..f7f7c6fb4 100644 --- a/server/services/overviewPageService.ts +++ b/server/services/overviewPageService.ts @@ -11,6 +11,7 @@ import { PrisonApiClient } from '../data/interfaces/prisonApiClient' import { convertToTitleCase, formatCategoryCodeDescription, + formatCommunityManager, formatMoney, formatName, formatPrivilegedVisitsSummary, @@ -23,7 +24,7 @@ import { Assessment } from '../interfaces/prisonApi/assessment' import { AssessmentCode } from '../data/enums/assessmentCode' import { Prisoner } from '../interfaces/prisoner' import { PersonalDetails } from '../interfaces/personalDetails' -import { ContactDetail, StaffContacts } from '../interfaces/staffContacts' +import { StaffContacts } from '../interfaces/staffContacts' import AllocationManagerClient from '../data/interfaces/allocationManagerClient' import KeyWorkerClient from '../data/interfaces/keyWorkerClient' import { Pom } from '../interfaces/pom' @@ -56,6 +57,8 @@ import { NonAssociationDetails } from '../interfaces/nonAssociationDetails' import { KeyWorker } from '../interfaces/keyWorker' import { CaseNote } from '../interfaces/caseNote' import { FullStatus } from '../interfaces/prisonApi/fullStatus' +import { CommunityManager } from '../interfaces/prisonerProfileDeliusApi/communityManager' +import { PrisonerProfileDeliusApiClient } from '../data/interfaces/prisonerProfileDeliusApiClient' export default class OverviewPageService { constructor( @@ -67,6 +70,7 @@ export default class OverviewPageService { private readonly offencesPageService: OffencesPageService, private readonly curiousApiClientBuilder: RestClientBuilder, private readonly nonAssociationsApiClientBuilder: RestClientBuilder, + private readonly prisonerProfileDeliusApiClientBuilder: RestClientBuilder, ) {} public async get( @@ -86,6 +90,7 @@ export default class OverviewPageService { const adjudicationsApiClient = this.adjudicationsApiClientBuilder(clientToken) const curiousApiClient = this.curiousApiClientBuilder(clientToken) const nonAssociationsApiClient = this.nonAssociationsApiClientBuilder(clientToken) + const prisonerProfileDeliusApiClient = this.prisonerProfileDeliusApiClientBuilder(clientToken) const [ inmateDetail, @@ -93,26 +98,26 @@ export default class OverviewPageService { learnerNeurodivergence, movements, nonAssociationDetails, - offenderContacts, allocationManager, offenderKeyWorker, keyWorkerSessions, mainOffence, courtCaseData, fullStatus, + communityManager, ] = await Promise.all([ prisonApiClient.getInmateDetail(prisonerData.bookingId), prisonApiClient.getStaffRoles(staffId, prisonerData.prisonId), curiousApiClient.getLearnerNeurodivergence(prisonerData.prisonerNumber), prisonApiClient.getMovements([prisonerData.prisonerNumber], [MovementType.Transfer]), nonAssociationsApiClient.getNonAssociationDetails(prisonerNumber), - prisonApiClient.getBookingContacts(prisonerData.bookingId), allocationManagerClient.getPomByOffenderNo(prisonerData.prisonerNumber), keyWorkerClient.getOffendersKeyWorker(prisonerData.prisonerNumber), prisonApiClient.getCaseNoteSummaryByTypes({ type: 'KA', subType: 'KS', numMonths: 38, bookingId }), prisonApiClient.getMainOffence(bookingId), prisonApiClient.getCourtCases(bookingId), prisonApiClient.getFullStatus(prisonerNumber), + prisonerProfileDeliusApiClient.getCommunityManager(prisonerNumber), ]) const [miniSummaryGroupA, miniSummaryGroupB, personalDetails, schedule, offencesOverview] = await Promise.all([ @@ -147,7 +152,7 @@ export default class OverviewPageService { personalDetails, staffContacts: this.getStaffContacts( prisonerData, - offenderContacts, + communityManager, allocationManager, offenderKeyWorker, keyWorkerSessions, @@ -211,21 +216,11 @@ export default class OverviewPageService { public getStaffContacts( prisonerData: Prisoner, - offenderContacts: ContactDetail, + communityManager: CommunityManager, allocationManager: Pom, offenderKeyWorker: KeyWorker, keyWorkerSessions: CaseNote[], ): StaffContacts { - const communityOffenderManager = - offenderContacts && offenderContacts.otherContacts !== undefined - ? offenderContacts.otherContacts - .filter(contact => contact && contact.contactType === 'COM') - .map(contact => ({ - firstName: contact ? contact?.firstName : undefined, - lastName: contact ? contact?.lastName : undefined, - })) - : [] - const prisonOffenderManager = allocationManager && (allocationManager as Pom).primary_pom && @@ -255,12 +250,7 @@ export default class OverviewPageService { coworkingPrisonOffenderManager: coworkingPrisonOffenderManager ? `${coworkingPrisonOffenderManager[0]} ${coworkingPrisonOffenderManager[1]}` : 'Not assigned', - communityOffenderManager: - communityOffenderManager && communityOffenderManager[0] !== undefined - ? `${convertToTitleCase(communityOffenderManager[0].firstName)} ${convertToTitleCase( - communityOffenderManager[0].lastName, - )}` - : 'Not assigned', + communityOffenderManager: formatCommunityManager(communityManager), linkUrl: `${config.serviceUrls.digitalPrison}/prisoner/${prisonerData.prisonerNumber}/professional-contacts`, } } diff --git a/server/utils/utils.test.ts b/server/utils/utils.test.ts index 03f72283e..530e131cc 100644 --- a/server/utils/utils.test.ts +++ b/server/utils/utils.test.ts @@ -5,6 +5,7 @@ import { convertToTitleCase, findError, formatCategoryCodeDescription, + formatCommunityManager, formatLocation, formatMoney, formatName, @@ -42,6 +43,7 @@ import { xrayCareNeedsMock, } from '../data/localMockData/personalCareNeedsMock' import { ReferenceCode } from '../interfaces/prisonApi/referenceCode' +import { CommunityManager } from '../interfaces/prisonerProfileDeliusApi/communityManager' describe('convert to title case', () => { it.each([ @@ -558,3 +560,17 @@ describe('objectToSelectOptions', () => { ]) }) }) + +describe('format community manager', () => { + it.each([ + ['Staff recorded', { name: { forename: 'JOHN', surname: 'SMITH' } } as CommunityManager, 'John Smith'], + [ + 'Staff unallocated', + { team: { description: 'Probation Team' }, unallocated: true }, + 'Probation Team (COM not yet allocated)', + ], + ['undefined', undefined, 'Not assigned'], + ])('%s: formatCommunityManager(%s, %s, %s)', (_: string, communityManager: CommunityManager, expected: string) => { + expect(formatCommunityManager(communityManager)).toEqual(expected) + }) +}) diff --git a/server/utils/utils.ts b/server/utils/utils.ts index b79a1a59b..b7e05e03e 100644 --- a/server/utils/utils.ts +++ b/server/utils/utils.ts @@ -12,6 +12,7 @@ import config from '../config' import { type OverviewNonAssociation } from '../interfaces/overviewPage' import { ScheduledEvent } from '../interfaces/scheduledEvent' import { ReferenceCode } from '../interfaces/prisonApi/referenceCode' +import { CommunityManager } from '../interfaces/prisonerProfileDeliusApi/communityManager' const properCase = (word: string): string => word.length >= 1 ? word[0].toUpperCase() + word.toLowerCase().slice(1) : word @@ -568,3 +569,10 @@ export const objectToSelectOptions = (array: object[], id: string, description: value: obj[id], })) } + +export const formatCommunityManager = (communityManager: CommunityManager): string => { + if (!communityManager) return 'Not assigned' + if (communityManager.unallocated) return `${communityManager.team.description} (COM not yet allocated)` + + return formatName(communityManager.name.forename, null, communityManager.name.surname) +} From e318bb6b0b4d9f30359e31ae96d690f28bc20234 Mon Sep 17 00:00:00 2001 From: David Middleton Date: Mon, 13 Nov 2023 10:37:07 +0000 Subject: [PATCH 2/2] Fixed Cypress config --- feature.env | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/feature.env b/feature.env index 794ffaa59..fc6d67f86 100644 --- a/feature.env +++ b/feature.env @@ -27,10 +27,9 @@ PATHFINDER_UI_URL=http://localhost:9091/pathfinderui MANAGE_SOC_CASES_UI_URL=http://localhost:9091/managesoccasesui NON_ASSOCIATIONS_UI_URL=http://localhost:9091/nonassociationsui NON_ASSOCIATIONS_PRISONS=MDI,LGI,FNI,ISI,RSI -WELCOME_PEOPLE_INTO_PRISON_UI_URL=https://welcome-dev.prison.service.justice.gov.uk MANAGE_ADJUDICATIONS_API_URL=http://localhost:9091/adjudications -CALCULATE_RELEASE_DATES_UI_URL=https://localhost:9091/calculateRelease -PRISONER_PROFILE_DELIUS_API_URL=https://localhost:9091/delius +CALCULATE_RELEASE_DATES_UI_URL=http://localhost:9091/calculateRelease +PRISONER_PROFILE_DELIUS_API_URL=http://localhost:9091/delius FEEDBACK_DISABLED_PRISONS=LEI SYSTEM_PHASE=DEV NEURODIVERSITY_ENABLED_PRISONS=MDI