diff --git a/api.planx.uk/editor/publish.test.ts b/api.planx.uk/editor/publish.test.ts index 41f6165887..58a9bb4033 100644 --- a/api.planx.uk/editor/publish.test.ts +++ b/api.planx.uk/editor/publish.test.ts @@ -67,6 +67,20 @@ it("requires a user to have the 'teamEditor' role", async () => { }); describe("publish", () => { + it("publishes for the first time", async () => { + queryMock.mockQuery({ + name: "GetMostRecentPublishedFlow", + matchOnVariables: false, + data: { + flow: { + publishedFlows: [], + }, + }, + }); + + await supertest(app).post("/flows/1/publish").set(auth).expect(200); + }); + it("does not update if there are no new changes", async () => { await supertest(app) .post("/flows/1/publish") diff --git a/api.planx.uk/helpers.ts b/api.planx.uk/helpers.ts index 9075fc891b..585c922c63 100644 --- a/api.planx.uk/helpers.ts +++ b/api.planx.uk/helpers.ts @@ -101,7 +101,7 @@ interface PublishedFlows { // Get the most recent version of a published flow's data (flattened, with external portal nodes) const getMostRecentPublishedFlow = async ( id: string, -): Promise => { +): Promise => { const { flow } = await $public.client.request( gql` query GetMostRecentPublishedFlow($id: uuid!) { @@ -119,8 +119,6 @@ const getMostRecentPublishedFlow = async ( ); const mostRecent = flow?.publishedFlows?.[0]?.data; - if (!mostRecent) throw Error(`Published flow not found for flow ${id}`); - return mostRecent; }; diff --git a/api.planx.uk/saveAndReturn/validateSession.ts b/api.planx.uk/saveAndReturn/validateSession.ts index 374ad2d7e7..0c95d08cfd 100644 --- a/api.planx.uk/saveAndReturn/validateSession.ts +++ b/api.planx.uk/saveAndReturn/validateSession.ts @@ -138,6 +138,8 @@ async function reconcileSessionData({ const alteredSectionIds = new Set(); const currentFlow = await getMostRecentPublishedFlow(sessionData.id); + if (!currentFlow) + throw Error(`Unable to find published flow for flow ${sessionData.id}`); // create ordered breadcrumbs to be able to look up section IDs later const orderedBreadcrumbs: OrderedBreadcrumbs = sortBreadcrumbs( diff --git a/doc/how-to/how-to-setup-custom-subdomains.md b/doc/how-to/how-to-setup-custom-subdomains.md index 52e50c18b4..c75b3b2782 100644 --- a/doc/how-to/how-to-setup-custom-subdomains.md +++ b/doc/how-to/how-to-setup-custom-subdomains.md @@ -33,8 +33,8 @@ This guide will walk through the process of setting a custom domain for a new te 4. **PlanX** - Format certificates if provided with PKCS #12 ```shell - openssl pkcs12 -nocerts -nodes -in -out council.key [ -password pass: ] - openssl pkcs12 -nokeys -in -out council.cert [ -password pass: ] + openssl pkcs12 -nocerts -nodes -in -out council.key [ -password 'pass:' ] + openssl pkcs12 -nokeys -in -out council.cert [ -password 'pass:' ] ``` The `.cert` file might contain the certificate chain inside it, so please separate the first certificate in the file (the certificate body) from the rest of the certificates in the file (the certificate chain). diff --git a/editor.planx.uk/src/@planx/components/PlanningConstraints/Public.tsx b/editor.planx.uk/src/@planx/components/PlanningConstraints/Public.tsx index 0fd9e20269..587b3d4dde 100644 --- a/editor.planx.uk/src/@planx/components/PlanningConstraints/Public.tsx +++ b/editor.planx.uk/src/@planx/components/PlanningConstraints/Public.tsx @@ -263,7 +263,7 @@ export function PlanningConstraintsContent( refreshConstraints={refreshConstraints} /> )} - {positiveConstraints.length > 0 && ( + {!showError && positiveConstraints.length > 0 && ( <> These are the planning constraints we think apply to this property @@ -283,31 +283,33 @@ export function PlanningConstraintsContent( )} - {positiveConstraints.length === 0 && negativeConstraints.length > 0 && ( - <> - - It looks like there are no constraints on this property - - - Based on the information you've given it looks like there are no - planning constraints on your property that might limit what you can - do. - - - Continue with your application to tell us more about your project. - - - - - - - )} + {!showError && + positiveConstraints.length === 0 && + negativeConstraints.length > 0 && ( + <> + + It looks like there are no constraints on this property + + + Based on the information you've given it looks like there are no + planning constraints on your property that might limit what you + can do. + + + Continue with your application to tell us more about your project. + + + + + + + )} ); } diff --git a/editor.planx.uk/src/airbrake.ts b/editor.planx.uk/src/airbrake.ts index 05e513f1c1..3c8715035e 100644 --- a/editor.planx.uk/src/airbrake.ts +++ b/editor.planx.uk/src/airbrake.ts @@ -15,6 +15,7 @@ function getEnvForAllowedHosts(host: string) { case "planningservices.lambeth.gov.uk": case "planningservices.southwark.gov.uk": case "planningservices.buckinghamshire.gov.uk": + case "planningservices.stalbans.gov.uk": case "editor.planx.uk": return "production"; diff --git a/hasura.planx.uk/metadata/tables.yaml b/hasura.planx.uk/metadata/tables.yaml index c458b88e8a..08721faad7 100644 --- a/hasura.planx.uk/metadata/tables.yaml +++ b/hasura.planx.uk/metadata/tables.yaml @@ -1003,6 +1003,16 @@ - destination_url - session_id - created_at + select_permissions: + - role: api + permission: + columns: + - id + - response + - destination_url + - session_id + - created_at + filter: {} - table: schema: public name: project_types diff --git a/hasura.planx.uk/tests/planning_constraints_requests.test.js b/hasura.planx.uk/tests/planning_constraints_requests.test.js index b1c5648db5..8f0c2627ff 100644 --- a/hasura.planx.uk/tests/planning_constraints_requests.test.js +++ b/hasura.planx.uk/tests/planning_constraints_requests.test.js @@ -66,8 +66,8 @@ describe("planning_constraints_requests", () => { i = await introspectAs("api"); }); - test("cannot query planning_constraints_requests", () => { - expect(i.queries).not.toContain("planning_constraints_requests"); + test("can query planning_constraints_requests", () => { + expect(i.queries).toContain("planning_constraints_requests"); }) test("can insert planning_constraints_requests", () => { diff --git a/infrastructure/application/Pulumi.production.yaml b/infrastructure/application/Pulumi.production.yaml index 7d3b2ea301..fba6914bcb 100644 --- a/infrastructure/application/Pulumi.production.yaml +++ b/infrastructure/application/Pulumi.production.yaml @@ -66,6 +66,10 @@ config: secure: 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 application:ssl-southwark-key: secure: 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 + application:ssl-stalbans-cert: + secure: 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 + application:ssl-stalbans-key: + secure: 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 application:uniform-client-aylesbury-vale: secure: AAABAHxwbY4U8XoELAdk0UlRW+Li9z/3nLVzAnYlwffqGDWePb5kkmYKzRlGZjNyXd4jG7Cgwj+qXdOubcDl application:uniform-client-chiltern: diff --git a/infrastructure/application/index.ts b/infrastructure/application/index.ts index 001df50335..faa298711e 100644 --- a/infrastructure/application/index.ts +++ b/infrastructure/application/index.ts @@ -52,6 +52,10 @@ const CUSTOM_DOMAINS = domain: "planningservices.newcastle.gov.uk", name: "newcastle", }, + { + domain: "planningservices.stalbans.gov.uk", + name: "stalbans", + }, ] : [];