Skip to content

Commit 0a7ee53

Browse files
committed
Merge branch 'dev' into feat/GAT-9195
2 parents 8d03494 + 1a855e9 commit 0a7ee53

94 files changed

Lines changed: 4763 additions & 951 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/e2e-isolated.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,10 @@ env:
100100

101101
jobs:
102102
e2e-tests:
103-
if: github.event_name != 'pull_request' || github.event.pull_request.state == 'open' && github.event.pull_request.draft == false
103+
if: >-
104+
(github.event_name != 'pull_request' ||
105+
(github.event.pull_request.state == 'open' && github.event.pull_request.draft == false))
106+
&& github.actor != 'dependabot[bot]'
104107
runs-on: ubuntu-latest
105108
environment: cypress_dev
106109

@@ -143,8 +146,9 @@ jobs:
143146
uses: actions/checkout@v4
144147

145148
- name: Generate GitHub App token
149+
if: ${{ github.actor != 'dependabot[bot]' }}
146150
id: generate-deployment-token
147-
uses: actions/create-github-app-token@v2
151+
uses: actions/create-github-app-token@v3
148152
with:
149153
app-id: ${{ secrets.DEPLOY_APP_ID }}
150154
private-key: ${{ secrets.DEPLOY_APP_PRIVATE_KEY }}

.github/workflows/semantic-release-workflow.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ jobs:
1414

1515
setup-preprod:
1616
uses: ./.github/workflows/build-args.yaml
17+
needs: semantic
1718
with:
1819
environment: preprod
1920

2021
setup-prod:
2122
uses: ./.github/workflows/build-args.yaml
23+
needs: semantic
2224
with:
2325
environment: prod
2426

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,33 @@
1+
## [2.41.0](https://github.com/HDRUK/gateway-web/compare/v2.40.0...v2.41.0) (2026-07-28)
2+
3+
### ✨ Features
4+
5+
* **GAT-9190:** add History tab to integration detail page ([e4e964f](https://github.com/HDRUK/gateway-web/commit/e4e964fcb8be6b3a900093fbce55a56479f92df1)), closes [GAT-9190](undefinedGAT-9190)
6+
* **GAT-9202:** Typesense search and superadmin panel (#1575) ([19b201e](https://github.com/HDRUK/gateway-web/commit/19b201e5c517b109f4e9a76f4282bfa8d40a447f)), closes [GAT-9202](undefinedGAT-9202)
7+
* **GAT-9287:** copy update (#1586) ([d630ba0](https://github.com/HDRUK/gateway-web/commit/d630ba00862a55c3c3aa4d51ab8764d485dbd3f1)), closes [GAT-9287](undefinedGAT-9287)
8+
9+
## [2.40.0](https://github.com/HDRUK/gateway-web/compare/v2.39.0...v2.40.0) (2026-07-24)
10+
11+
### ✨ Features
12+
13+
* **GAT-7563:** Data Custodian Network = Split owned/associated content (#1569) ([7e462ff](https://github.com/HDRUK/gateway-web/commit/7e462ff8d1589d2a3d34ebefed1a225211c0c4cf)), closes [GAT-7563](undefinedGAT-7563)
14+
* **GAT-7564:** Data custodian associated resources (#1567) ([45e9c1d](https://github.com/HDRUK/gateway-web/commit/45e9c1da229c5c4e03694d102575c7ffda8c7297)), closes [GAT-7564](undefinedGAT-7564)
15+
* **GAT-7604:** Data custodian display tweaks (#1562) ([82b222c](https://github.com/HDRUK/gateway-web/commit/82b222c3e7430d1ff6e0dc65a465ff145ae348cd)), closes [GAT-7604](undefinedGAT-7604)
16+
* **GAT-8094:** Display dataset aliases (#1566) ([65e819a](https://github.com/HDRUK/gateway-web/commit/65e819a05c9440a3834ec22f307488721aac5764)), closes [GAT-8094](undefinedGAT-8094)
17+
* **GAT-8131:** Widget test harness (#1573) ([ac6fda3](https://github.com/HDRUK/gateway-web/commit/ac6fda325a3166df8975e951e5304539048a1992)), closes [GAT-8131](undefinedGAT-8131)
18+
* **GAT-8478:** Add support link (#1571) ([c51fa80](https://github.com/HDRUK/gateway-web/commit/c51fa800ec87edd22ff07fa8105b6fb8dd182e9b)), closes [GAT-8478](undefinedGAT-8478)
19+
* **GAT-8709:** Fix confusing naming for running a fedaration test. ([6aedd84](https://github.com/HDRUK/gateway-web/commit/6aedd84ab0c888eaeed13cc5ff33dbc09b11508c))
20+
* **GAT-8724:** Update dataset filter order (#1576) ([71843f9](https://github.com/HDRUK/gateway-web/commit/71843f9890af782f7ea5689e28690d2b37d5336b)), closes [GAT-8724](undefinedGAT-8724)
21+
* **GAT-8798:** Added run now button for integrations ([f944277](https://github.com/HDRUK/gateway-web/commit/f9442777ae9e20efb06cd2bcf11630845b30a5ff)), closes [GAT-8798](undefinedGAT-8798)
22+
* **GAT-8821:** Correct DAR dialog & save draft logic (#1578) ([04eace6](https://github.com/HDRUK/gateway-web/commit/04eace6b2831d47b077ffe34d22130e479b3b985)), closes [GAT-8821](undefinedGAT-8821)
23+
* **GAT-9193:** Update sign-in modal design (#1581) ([ee76b95](https://github.com/HDRUK/gateway-web/commit/ee76b95c2305e36e0752fbe1a00cb6357bcdfdb1)), closes [GAT-9193](undefinedGAT-9193)
24+
* **GAT-9193:** Update wording (#1582) ([68ae7bb](https://github.com/HDRUK/gateway-web/commit/68ae7bb1b84cc4433e4dbf342e9f5bf71d0b2296)), closes [GAT-9193](undefinedGAT-9193)
25+
26+
### 🐛 Bug Fixes
27+
28+
* **GAT-8754:** Fix empty widget preview state (#1577) ([a827c08](https://github.com/HDRUK/gateway-web/commit/a827c086bb5da4403d3b7cd7eb79493644df4af2))
29+
* **GAT-9237:** bug in the onboarding form for tools (#1579) ([2071ecb](https://github.com/HDRUK/gateway-web/commit/2071ecb6e692d70fcf5219678310e2cb8ecb0cf9)), closes [GAT-9237](undefinedGAT-9237)
30+
131
## [2.39.0](https://github.com/HDRUK/gateway-web/compare/v2.38.0...v2.39.0) (2026-07-06)
232

333
### ✨ Features

chart/gateway-web/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ version: 2.0.1
2121
# incremented each time you make changes to the application. Versions are not expected to
2222
# follow Semantic Versioning. They should reflect the version the application is using.
2323
# It is recommended to use it with quotes.
24-
appVersion: "2.39.0"
24+
appVersion: "2.41.0"

mocks/data/integration/v1/integration.data.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
FederationType,
66
AuthType,
77
} from "@/interfaces/Integration";
8+
import { IntegrationHistory } from "@/interfaces/IntegrationHistory";
89

910
const generateIntegrationV1 = (data = {}): Integration => {
1011
return {
@@ -21,13 +22,18 @@ const generateIntegrationV1 = (data = {}): Integration => {
2122
created_at: faker.date
2223
.between("2020-01-01T00:00:00.000Z", "2020-03-01T00:00:00.000Z")
2324
.toISOString(),
25+
last_run_at: faker.date
26+
.between("2020-01-01T00:00:00.000Z", "2020-03-01T00:00:00.000Z")
27+
.toISOString(),
2428
auth_secret_key: faker.datatype.string(),
2529
endpoint_baseurl: faker.datatype.string(),
2630
endpoint_datasets: faker.datatype.string(),
2731
endpoint_dataset: faker.datatype.string(),
2832
run_time_hour: faker.datatype.number(),
2933
enabled: faker.datatype.boolean(),
3034
tested: faker.datatype.boolean(),
35+
error: false,
36+
error_text: null,
3137
notifications: [],
3238
id: faker.datatype.number(),
3339
...data,
@@ -50,14 +56,46 @@ const generateIntegrationsV1 = (n = 3): Integration[] => {
5056
return Array.from({ length: n }).map(() => generateIntegrationV1());
5157
};
5258

59+
const generateIntegrationHistoryV1 = (data = {}): IntegrationHistory => {
60+
const status = faker.helpers.arrayElement([
61+
"success",
62+
"failed",
63+
]) as IntegrationHistory["status"];
64+
65+
return {
66+
job_uuid: faker.datatype.uuid(),
67+
started_at: faker.date
68+
.between("2020-01-01T00:00:00.000Z", "2020-03-01T00:00:00.000Z")
69+
.toISOString(),
70+
finished_at: faker.date
71+
.between("2020-01-01T00:00:00.000Z", "2020-03-01T00:00:00.000Z")
72+
.toISOString(),
73+
status,
74+
message: status === "failed" ? faker.lorem.sentence() : null,
75+
failed_datasets:
76+
status === "failed"
77+
? [{ pid: faker.datatype.uuid(), message: faker.lorem.sentence() }]
78+
: [],
79+
...data,
80+
};
81+
};
82+
83+
const generateIntegrationHistoriesV1 = (n = 3): IntegrationHistory[] => {
84+
return Array.from({ length: n }).map(() => generateIntegrationHistoryV1());
85+
};
86+
5387
const integrationV1 = generateIntegrationV1();
5488
const federationTestResponseV1 = generateFederationTestResponseV1();
5589
const integrationsV1 = generateIntegrationsV1();
90+
const integrationHistoriesV1 = generateIntegrationHistoriesV1();
5691

5792
export {
5893
generateIntegrationsV1,
5994
generateIntegrationV1,
95+
generateIntegrationHistoryV1,
96+
generateIntegrationHistoriesV1,
6097
integrationsV1,
6198
integrationV1,
99+
integrationHistoriesV1,
62100
federationTestResponseV1,
63101
};

mocks/handlers/integration/v1/integration.handler.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import { rest } from "msw";
22
import { FederationTestResponse } from "@/interfaces/Federation";
33
import { Integration } from "@/interfaces/Integration";
4+
import { IntegrationHistory } from "@/interfaces/IntegrationHistory";
45
import { PaginationType } from "@/interfaces/Pagination";
56
import apis from "@/config/apis";
67
import {
78
federationTestResponseV1,
9+
integrationHistoriesV1,
810
integrationV1,
911
integrationsV1,
1012
} from "@/mocks/data/integration";
@@ -150,10 +152,52 @@ const getFederationRunV1 = ({
150152
);
151153
};
152154

155+
interface getFederationHistoryProps {
156+
data?: IntegrationHistory[];
157+
teamId?: number;
158+
federationId?: number;
159+
status?: number;
160+
pagination?: Omit<PaginationType<IntegrationHistory>, "list">;
161+
}
162+
163+
const getFederationHistoryV1 = ({
164+
data = integrationHistoriesV1,
165+
teamId = teamV1.id,
166+
federationId = integrationV1.id,
167+
status = 200,
168+
pagination,
169+
}: getFederationHistoryProps = {}) => {
170+
return rest.get(
171+
`${apis.teamsV1Url}/${teamId}/federations/${federationId}/history`,
172+
(req, res, ctx) => {
173+
if (status !== 200) {
174+
return res(
175+
ctx.status(status),
176+
ctx.json(`Request failed with status code ${status}`)
177+
);
178+
}
179+
if (pagination) {
180+
return res(
181+
ctx.status(status),
182+
ctx.json<PaginationType<IntegrationHistory>>({
183+
list: data,
184+
...pagination,
185+
})
186+
);
187+
}
188+
return res(
189+
ctx.status(status),
190+
ctx.json<{ data: IntegrationHistory[] }>({ data })
191+
);
192+
}
193+
);
194+
};
195+
153196
export {
154197
getIntegrationV1,
155198
getIntegrationsV1,
156199
postIntegrationV1,
157200
postFederationsTestV1,
158201
getFederationRunV1,
202+
getFederationHistoryV1,
159203
};

0 commit comments

Comments
 (0)