Skip to content

Commit 4009c68

Browse files
authored
Merge pull request #1471 from navikt/tech/remove-formio-from-bygger
Remove formio api
2 parents f2ddffa + 8a5c681 commit 4009c68

File tree

21 files changed

+14
-141
lines changed

21 files changed

+14
-141
lines changed

.nais/bygger/nais.yaml

-6
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,6 @@ spec:
4848
value: {{skjemabygging-proxy-url}}
4949
- name: SKJEMABYGGING_PROXY_CLIENT_ID
5050
value: {{skjemabygging-proxy-client-id}}
51-
- name: FORMIO_API_SERVICE
52-
value: http://formio-api
53-
- name: FORMIO_PROJECT_NAME
54-
value: jvcemxwcpghcqjn
5551
- name: FORMS_API_URL
5652
value: http://forms-api.fyllut-sendinn
5753
{{#each environmentVars}}
@@ -93,9 +89,7 @@ spec:
9389
cluster: {{this.cluster}}
9490
{{/each}}
9591
external:
96-
- host: formio-api-server.ekstern.dev.nav.no
9792
- host: api.github.com
98-
- host: formio-api.nav.no
9993
- host: api-eu.pusher.com
10094
{{#each accessPolicy.outbound.external}}
10195
- host: {{this.host}}

.nais/bygger/preprod-alt.yaml

+1-11
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,16 @@ accessPolicy:
1515
- application: skjemabygging-proxy
1616
namespace: skjemadigitalisering
1717
cluster: dev-fss
18-
- application: formio-api
19-
namespace: skjemadigitalisering
20-
cluster: dev-gcp
21-
- application: formio-enterprise-server
22-
namespace: skjemadigitalisering
23-
cluster: dev-gcp
2418
- application: skjemautfylling-preprod-alt
2519
namespace: skjemadigitalisering
2620
cluster: dev-gcp
2721
external:
2822
- host: skjemabygging-proxy.dev-fss-pub.nais.io
23+
- host: forms-api.nav.no
2924
secrets:
30-
- formio-server-access-dev
3125
- bygger-pusher-dev
3226
- github-app-installation
3327
environmentVars:
34-
- name: FORMIO_API_SERVICE_PROD
35-
value: http://formio-enterprise-server
36-
- name: FORMIO_PROJECT_NAME_PROD
37-
value: jvcemxwcpghcqjn
3828
- name: FORMS_API_URL_PROD
3929
value: https://forms-api.nav.no
4030
azure:

.nais/bygger/preprod.yaml

+1-11
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,16 @@ accessPolicy:
1818
- application: skjemabygging-proxy
1919
namespace: skjemadigitalisering
2020
cluster: dev-fss
21-
- application: formio-api
22-
namespace: skjemadigitalisering
23-
cluster: dev-gcp
24-
- application: formio-enterprise-server
25-
namespace: skjemadigitalisering
26-
cluster: dev-gcp
2721
- application: skjemautfylling-preprod
2822
namespace: skjemadigitalisering
2923
cluster: dev-gcp
3024
external:
3125
- host: skjemabygging-proxy.dev-fss-pub.nais.io
26+
- host: forms-api.nav.no
3227
secrets:
33-
- formio-server-access-dev
3428
- bygger-pusher-dev
3529
- github-app-installation
3630
environmentVars:
37-
- name: FORMIO_API_SERVICE_PROD
38-
value: http://formio-enterprise-server
39-
- name: FORMIO_PROJECT_NAME_PROD
40-
value: jvcemxwcpghcqjn
4131
- name: FORMS_API_URL_PROD
4232
value: https://forms-api.nav.no
4333
azure:

.nais/bygger/prod.yaml

-4
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,9 @@ accessPolicy:
1717
- application: skjemabygging-proxy
1818
namespace: skjemadigitalisering
1919
cluster: prod-fss
20-
- application: formio-api
21-
namespace: skjemadigitalisering
22-
cluster: prod-gcp
2320
external:
2421
- host: skjemabygging-proxy.prod-fss-pub.nais.io
2522
secrets:
26-
- formio-server-access
2723
- bygger-pusher
2824
- github-app-installation
2925
environmentVars: []

packages/bygger-backend/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
"express-rate-limit": "^7.5.0",
2828
"http-proxy": "^1.18.1",
2929
"jose": "^5.9.6",
30-
"jsonwebtoken": "^9.0.2",
3130
"luxon": "^3.5.0",
3231
"node-fetch": "^3.3.2",
3332
"node-jose": "^2.2.0",
@@ -47,6 +46,7 @@
4746
"@types/node-fetch": "^2.6.12",
4847
"@types/node-jose": "^1.1.13",
4948
"@types/uuid": "^10.0.0",
49+
"jsonwebtoken": "^9.0.2",
5050
"memorystream": "^0.3.1",
5151
"nock": "^13.5.6",
5252
"vite-plugin-node": "^4.0.0",

packages/bygger-backend/src/config/development.ts

-16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {
22
AzureConfig,
3-
FormioConfig,
43
FormsApiConfig,
54
FyllutConfig,
65
GithubAppConfig,
@@ -20,21 +19,6 @@ export const devSkjemabyggingProxy: Partial<SkjemabyggingProxyConfig> = {
2019
clientId: '95170319-b4d7-4190-8271-118ed19bafbf',
2120
};
2221

23-
export const devFormio: Partial<FormioConfig> = {
24-
apiService: 'https://formio-api.intern.dev.nav.no',
25-
projectName: 'jvcemxwcpghcqjn',
26-
roleIds: {
27-
administrator: '628ca77305690db58c974d04',
28-
authenticated: '628ca77305690db58c974d09',
29-
everyone: '000000000000000000000000',
30-
},
31-
};
32-
33-
export const prodFormio: Pick<FormioConfig, 'apiService' | 'projectName'> = {
34-
apiService: 'https://formio-api-server.ekstern.dev.nav.no',
35-
projectName: 'jvcemxwcpghcqjn',
36-
};
37-
3822
export const devFyllut: Partial<FyllutConfig> = {
3923
baseUrl: 'https://skjemadelingslenke.ekstern.dev.nav.no/fyllut',
4024
};

packages/bygger-backend/src/config/index.ts

-23
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@ import dotenv from 'dotenv';
33
import {
44
devAzure,
55
devEnabledFeatures,
6-
devFormio,
76
devFormsApi,
87
devFyllut,
98
devGithub,
109
devGithubApp,
1110
devPusher,
1211
devSkjemabyggingProxy,
13-
prodFormio,
1412
prodFormsApi,
1513
} from './development';
1614
import { ConfigType, NodeEnv } from './types';
@@ -67,27 +65,6 @@ const config: ConfigType = {
6765
clientSecret: env('GITHUB_CLIENT_SECRET'),
6866
installationId: env('GITHUB_APP_INSTALLATION_ID'),
6967
},
70-
formio: {
71-
apiService: env('FORMIO_API_SERVICE', devFormio.apiService),
72-
projectName: env('FORMIO_PROJECT_NAME', devFormio.projectName),
73-
projectId: env('FORMIO_PROJECT_ID'),
74-
roleIds: {
75-
administrator: env('FORMIO_ROLE_ID_ADMINISTRATOR', devFormio.roleIds?.administrator),
76-
authenticated: env('FORMIO_ROLE_ID_AUTHENTICATED', devFormio.roleIds?.authenticated),
77-
everyone: env('FORMIO_ROLE_ID_EVERYONE', devFormio.roleIds?.everyone),
78-
},
79-
formIds: {
80-
userResource: env('FORMIO_FORM_ID_USER'),
81-
},
82-
jwtSecret: env('FORMIO_JWT_SECRET'),
83-
},
84-
prodFormio:
85-
naisClusterName !== 'prod-gcp'
86-
? {
87-
apiService: env('FORMIO_API_SERVICE_PROD', prodFormio.apiService),
88-
projectName: env('FORMIO_PROJECT_NAME_PROD', prodFormio.projectName),
89-
}
90-
: undefined,
9168
fyllut: {
9269
baseUrl: env('FYLLUT_BASE_URL', devFyllut.baseUrl),
9370
skjemadelingslenkeUrl: 'https://skjemadelingslenke.ekstern.dev.nav.no/fyllut',

packages/bygger-backend/src/config/types.d.ts

-11
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,6 @@ export type PublishRepoConfig = {
2020
base: string;
2121
};
2222

23-
export type FormioConfig = {
24-
apiService: string;
25-
projectName: string;
26-
projectId: string;
27-
roleIds: Record<string, string>;
28-
formIds: Record<string, string>;
29-
jwtSecret: string;
30-
};
31-
3223
export type FyllutConfig = {
3324
baseUrl: string;
3425
skjemadelingslenkeUrl: string;
@@ -64,8 +55,6 @@ export type ConfigType = {
6455
azure: AzureConfig;
6556
skjemabyggingProxy: SkjemabyggingProxyConfig;
6657
publishRepo: PublishRepoConfig;
67-
formio: FormioConfig;
68-
prodFormio?: Pick<FormioConfig, 'apiService' | 'projectName'>;
6958
fyllut: FyllutConfig;
7059
formsApi: FormsApiConfig;
7160
prodFormsApi?: Pick<FormsApiConfig, 'url'>;

packages/bygger-backend/src/middleware/authHandler.ts

-22
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { NextFunction, Request, Response } from 'express';
22
import { FlattenedJWSInput, JWSHeaderParameters, createRemoteJWKSet, jwtVerify } from 'jose';
33
import { GetKeyFunction } from 'jose/dist/types/types';
4-
import jwt from 'jsonwebtoken';
54
import config from '../config';
65
import { logger } from '../logging/logger';
76
import { AzureAdTokenPayload, User } from '../types/custom';
@@ -73,25 +72,4 @@ const authHandler = async (req: Request, res: Response, next: NextFunction) => {
7372
next();
7473
};
7574

76-
export const createFormioJwt = (user: User) => {
77-
const { formio } = config;
78-
const tokenPayload = {
79-
external: true,
80-
form: {
81-
_id: formio.formIds.userResource,
82-
},
83-
project: {
84-
_id: formio.projectId,
85-
},
86-
user: {
87-
_id: user.NAVident,
88-
data: {
89-
name: user.name,
90-
},
91-
roles: [formio.roleIds.authenticated],
92-
},
93-
};
94-
return jwt.sign(tokenPayload, formio.jwtSecret, { expiresIn: '9h' });
95-
};
96-
9775
export default authHandler;

packages/bygger-backend/src/routers/api/config.ts

-6
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,17 @@
11
import { Response } from 'express';
22
import appConfig from '../../config';
3-
import { createFormioJwt } from '../../middleware/authHandler';
43
import { ByggerRequest } from '../../types';
54
import { getByggerUrl } from '../../util/url';
65

76
const config = (req: ByggerRequest, res: Response) => {
87
const user = appConfig.isDevelopment ? undefined : req.getUser?.();
9-
if (user) {
10-
res.header('Bygger-Formio-Token', createFormioJwt(user));
11-
}
128
res.json({
13-
formioProjectUrl: `${getByggerUrl(req)}/${appConfig.formio.projectName}`,
149
fyllutBaseUrl: `${getByggerUrl(req)}/fyllut`,
1510
skjemadelingslenkeUrl: appConfig.fyllut.skjemadelingslenkeUrl,
1611
pusherCluster: appConfig.pusher.cluster,
1712
pusherKey: appConfig.pusher.key,
1813
isDevelopment: appConfig.isDevelopment,
1914
featureToggles: appConfig.featureToggles,
20-
formioRoleIds: appConfig.formio.roleIds,
2115
loggerConfig: appConfig.frontendLoggerConfig,
2216
isProdGcp: appConfig.naisClusterName === 'prod-gcp',
2317
user,

packages/bygger-backend/src/test/test.env

-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
FORMIO_PROJECT_URL=http://formio-api-server.unittest.nav.no
2-
FORMIO_PROJECT_NAME=abcd1234
3-
FORMIO_API_SERVICE=http://formio-api-server.unittest.nav.no
41
FORMS_API_URL=http://forms-api.unittest.nav.no
52

63
AZURE_APP_CLIENT_ID=a123456789

packages/bygger-backend/src/types.d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,4 @@ interface User {
88

99
export type ByggerRequest = Request & {
1010
getUser?: () => User;
11-
getFormioToken?: () => string;
1211
};

packages/bygger-backend/src/types/express/index.d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ declare global {
44
namespace Express {
55
export interface Request {
66
getUser: () => User;
7-
getFormioToken: () => string;
87
}
98
}
109
}

packages/bygger-backend/src/util/formio.ts

-11
This file was deleted.

packages/bygger/cypress/fixtures/config.json

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
2-
"formioProjectUrl": "http://127.0.0.1",
32
"fyllutBaseUrl": "http://127.0.0.1",
43
"isDevelopment": true,
54
"user": { "name": "Test", "preferredUsername": "[email protected]", "NAVident": "K100", "isAdmin": true },

packages/bygger/src/migration/MigrationPage.test.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ describe('MigrationPage', () => {
266266
include: ['form3'],
267267
},
268268
}),
269-
headers: { 'Bygger-Formio-Token': '', 'content-type': 'application/json' },
269+
headers: { 'content-type': 'application/json' },
270270
method: 'POST',
271271
});
272272
});

packages/bygger/src/migration/MigrationPage.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Button, Heading, Pagination, ToggleGroup } from '@navikt/ds-react';
2-
import { makeStyles, NavFormioJs } from '@navikt/skjemadigitalisering-shared-components';
2+
import { makeStyles } from '@navikt/skjemadigitalisering-shared-components';
33
import { Form, MigrationLevel, paginationUtils } from '@navikt/skjemadigitalisering-shared-domain';
44
import { useEffect, useMemo, useReducer, useState } from 'react';
55
import { useNavigate, useSearchParams } from 'react-router-dom';
@@ -132,7 +132,7 @@ const MigrationPage = () => {
132132
};
133133

134134
const onConfirm = async () => {
135-
const updatedForms = await runMigrationWithUpdate(NavFormioJs.Formio.getToken(), {
135+
const updatedForms = await runMigrationWithUpdate({
136136
formSearchFilters: searchFiltersAsParams(formSearchFilters),
137137
searchFilters: searchFiltersAsParams(searchFilters),
138138
dependencyFilters: searchFiltersAsParams(dependencyFilters),

packages/bygger/src/migration/api.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ import { MigrationLevel } from '@navikt/skjemadigitalisering-shared-domain';
22
import { MigrationOptions } from '../../types/migration';
33
import { createUrlParams } from './utils';
44

5-
async function postJson(url, bodyAsJSON, token) {
5+
async function postJson(url, bodyAsJSON) {
66
const result = await fetch(url, {
77
method: 'POST',
88
headers: {
99
'content-type': 'application/json',
10-
'Bygger-Formio-Token': token,
1110
},
1211
body: JSON.stringify(bodyAsJSON),
1312
});
@@ -52,18 +51,18 @@ export async function runMigrationDryRun(
5251
}
5352
}
5453

55-
export async function runMigrationWithUpdate(token, payload) {
54+
export async function runMigrationWithUpdate(payload) {
5655
try {
57-
return postJson('/api/migrate/update', { payload }, token);
56+
return postJson('/api/migrate/update', { payload });
5857
} catch (error) {
5958
console.error(error);
6059
return [];
6160
}
6261
}
6362

64-
export async function bulkPublish(token, payload) {
63+
export async function bulkPublish(payload) {
6564
try {
66-
return postJson('/api/form-publications', { payload }, token);
65+
return postJson('/api/form-publications', { payload });
6766
} catch (error) {
6867
console.error(error);
6968
throw error;

packages/bygger/src/migration/components/BulkPublishPanel.test.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ describe('BulkPublishPanel', () => {
104104
it('bulk publishes selected forms when bulk publish is confirmed', async () => {
105105
fireEvent.click(screen.getByRole('button', { name: 'Bekreft publisering' }));
106106
await waitFor(() => expect(bulkPublish).toHaveBeenCalledTimes(1));
107-
expect(bulkPublish).toHaveBeenCalledWith('', { formPaths: ['form1', 'form3'] });
107+
expect(bulkPublish).toHaveBeenCalledWith({ formPaths: ['form1', 'form3'] });
108108
});
109109
});
110110
});

packages/bygger/src/migration/components/BulkPublishPanel.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Alert, BodyShort, Box, Button, Checkbox, Heading, Table } from '@navikt/ds-react';
2-
import { ConfirmationModal, makeStyles, NavFormioJs } from '@navikt/skjemadigitalisering-shared-components';
2+
import { ConfirmationModal, makeStyles } from '@navikt/skjemadigitalisering-shared-components';
33
import { Form } from '@navikt/skjemadigitalisering-shared-domain';
44
import { useReducer, useState } from 'react';
55
import FormStatus from '../../Forms/status/FormStatus';
@@ -66,7 +66,7 @@ const BulkPublishPanel = ({ forms }: Props) => {
6666
const [statusState, dispatchStatus] = useReducer(statusReducer, {});
6767

6868
const onBulkPublish = async (formPaths: string[]) => {
69-
return await bulkPublish(NavFormioJs.Formio.getToken(), { formPaths });
69+
return await bulkPublish({ formPaths });
7070
};
7171

7272
const willBePublished = forms.filter((form) => state[form.path]);

packages/shared-components/src/api/util/http/http.ts

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ interface FetchHeader {
1313
'Content-Type'?: MimeType;
1414
Accept?: MimeType;
1515
'Fyllut-Submission-Method'?: SubmissionMethodType;
16-
'Bygger-Formio-Token'?: string;
1716
'x-jwt-token'?: string; // formio token when invoking formio api directly
1817
'x-innsendingsid'?: string;
1918
}

0 commit comments

Comments
 (0)