Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EES-5684 rename release to releaseVersion #5594

Merged
merged 1 commit into from
Feb 19, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ const ReleaseContentHubContext = createContext<

interface ReleaseContentHubContextProviderProps {
children: ReactNode | ((value: HubState<ReleaseContentHub>) => ReactNode);
releaseId: string;
releaseVersionId: string;
}

export function ReleaseContentHubContextProvider({
children,
releaseId,
releaseVersionId,
}: ReleaseContentHubContextProviderProps) {
const hubState = useHubState(releaseContentHub);

Expand All @@ -37,25 +37,25 @@ export function ReleaseContentHubContextProvider({
joinStateRef.current = 'joining';

hub
.joinReleaseGroup(releaseId)
.joinReleaseGroup(releaseVersionId)
.then(() => {
joinStateRef.current = 'joined';
})
.catch(() => {
joinStateRef.current = '';
});
}
}, [hub, hubState, isMountedRef, releaseId, status]);
}, [hub, hubState, isMountedRef, releaseVersionId, status]);

useEffect(() => {
return () => {
if (hub.status() === 'Connected' && joinStateRef.current === 'joined') {
hub.leaveReleaseGroup(releaseId);
hub.leaveReleaseGroup(releaseVersionId);
}
};
// We only want this to run when the component unmounts.
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [releaseId]);
}, [releaseVersionId]);

if (!hubState) {
return <LoadingSpinner />;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import React, { FC, ReactNode } from 'react';
jest.mock('@admin/services/hubs/utils/createConnection');

const wrapper: FC = ({ children }: { children?: ReactNode }) => (
<ReleaseContentHubContextProvider releaseId="release-1">
<ReleaseContentHubContextProvider releaseVersionId="release-1">
{children}
</ReleaseContentHubContextProvider>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import releaseChartFileService from '@admin/services/releaseChartFileService';
import { useCallback } from 'react';

export default function useGetChartFile(releaseId: string) {
export default function useGetChartFile(releaseVersionId: string) {
return useCallback(
(fileId: string) => releaseChartFileService.getChartFile(releaseId, fileId),
[releaseId],
(fileId: string) =>
releaseChartFileService.getChartFile(releaseVersionId, fileId),
[releaseVersionId],
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ const AdminDashboardPage = () => {
data: draftReleases = [],
isLoading: isLoadingDraftReleases,
refetch: reloadDraftReleases,
} = useQuery(releaseQueries.listDraftReleases);
} = useQuery(releaseQueries.listDraftReleaseVersions);

const {
data: scheduledReleases = [],
isLoading: isLoadingScheduledReleases,
} = useQuery(releaseQueries.listScheduledReleases);
} = useQuery(releaseQueries.listScheduledReleaseVersions);

const { data: releaseApprovals = [], isLoading: isLoadingReleaseApprovals } =
useQuery({
...releaseQueries.listReleasesForApproval,
...releaseQueries.listReleaseVersionsForApproval,
enabled: isApprover,
});

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import ApprovalsTable from '@admin/pages/admin-dashboard/components/ApprovalsTable';
import { DashboardReleaseSummary } from '@admin/services/releaseService';
import { DashboardReleaseVersionSummary } from '@admin/services/releaseVersionService';
import { MethodologyVersion } from '@admin/services/methodologyService';
import LoadingSpinner from '@common/components/LoadingSpinner';
import React from 'react';

interface Props {
isLoading: boolean;
methodologyApprovals: MethodologyVersion[];
releaseApprovals: DashboardReleaseSummary[];
releaseApprovals: DashboardReleaseVersionSummary[];
}

export default function ApprovalsTab({
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Link from '@admin/components/Link';
import { MethodologyVersion } from '@admin/services/methodologyService';
import { DashboardReleaseSummary } from '@admin/services/releaseService';
import { DashboardReleaseVersionSummary } from '@admin/services/releaseVersionService';
import {
MethodologyRouteParams,
methodologyContentRoute,
Expand All @@ -18,25 +18,25 @@ import merge from 'lodash/merge';

interface Props {
methodologyApprovals: MethodologyVersion[];
releaseApprovals: DashboardReleaseSummary[];
releaseApprovals: DashboardReleaseVersionSummary[];
}

export default function ApprovalsTable({
methodologyApprovals,
releaseApprovals,
}: Props) {
const releasesByPublication: Dictionary<{
releases: DashboardReleaseSummary[];
releases: DashboardReleaseVersionSummary[];
}> = useMemo(() => {
return releaseApprovals.reduce<
Dictionary<{ releases: DashboardReleaseSummary[] }>
>((acc, release) => {
if (acc[release.publication.title]) {
acc[release.publication.title].releases.push(release);
Dictionary<{ releases: DashboardReleaseVersionSummary[] }>
>((acc, releaseVersion) => {
if (acc[releaseVersion.publication.title]) {
acc[releaseVersion.publication.title].releases.push(releaseVersion);
} else {
acc[release.publication.title] = {
...acc[release.publication.title],
releases: [release],
acc[releaseVersion.publication.title] = {
...acc[releaseVersion.publication.title],
releases: [releaseVersion],
};
}
return acc;
Expand Down Expand Up @@ -104,7 +104,7 @@ export default function ApprovalsTable({
interface PublicationRowProps {
publication: string;
methodologies: MethodologyVersion[];
releases: DashboardReleaseSummary[];
releases: DashboardReleaseVersionSummary[];
}

function PublicationRow({
Expand All @@ -119,22 +119,22 @@ function PublicationRow({
{publication}
</th>
</tr>
{releases?.map(release => (
{releases?.map(releaseVersion => (
<tr
key={release.id}
data-testid={`release-${publication} - ${release.title}`}
key={releaseVersion.id}
data-testid={`release-${publication} - ${releaseVersion.title}`}
>
<td>{release.title}</td>
<td>{releaseVersion.title}</td>
<td>Release</td>
<td>
<Link
to={generatePath<ReleaseRouteParams>(releaseContentRoute.path, {
publicationId: release.publication.id,
releaseId: release.id,
publicationId: releaseVersion.publication.id,
releaseVersionId: releaseVersion.id,
})}
>
Review this page
<VisuallyHidden> for {release.title}</VisuallyHidden>
<VisuallyHidden> for {releaseVersion.title}</VisuallyHidden>
</Link>
</td>
</tr>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import Link from '@admin/components/Link';
import DraftReleaseRowIssues from '@admin/pages/admin-dashboard/components/DraftReleaseRowIssues';
import { getReleaseApprovalStatusLabel } from '@admin/pages/release/utils/releaseSummaryUtil';
import releaseService, {
ReleaseSummaryWithPermissions,
DashboardReleaseSummary,
import releaseVersionService, {
ReleaseVersionSummaryWithPermissions,
DashboardReleaseVersionSummary,
DeleteReleasePlan,
} from '@admin/services/releaseService';
} from '@admin/services/releaseVersionService';
import {
ReleaseRouteParams,
releaseSummaryRoute,
Expand All @@ -19,14 +19,15 @@ import CancelAmendmentModal from './CancelAmendmentModal';

interface Props {
isBauUser: boolean;
release: DashboardReleaseSummary & ReleaseSummaryWithPermissions;
release: DashboardReleaseVersionSummary &
ReleaseVersionSummaryWithPermissions;
onChangeRelease: () => void;
}

const DraftReleaseRow = ({ isBauUser, release, onChangeRelease }: Props) => {
const [deleteReleasePlan, setDeleteReleasePlan] = useState<
DeleteReleasePlan & {
releaseId: string;
releaseVersionId: string;
}
>();
return (
Expand All @@ -39,13 +40,13 @@ const DraftReleaseRow = ({ isBauUser, release, onChangeRelease }: Props) => {
}`}
</Tag>
</td>
{!isBauUser && <DraftReleaseRowIssues releaseId={release.id} />}
{!isBauUser && <DraftReleaseRowIssues releaseVersionId={release.id} />}
<td>
<Link
className="govuk-!-margin-right-4 govuk-!-display-inline-block"
to={generatePath<ReleaseRouteParams>(releaseSummaryRoute.path, {
publicationId: release.publication.id,
releaseId: release.id,
releaseVersionId: release.id,
})}
>
{release.permissions?.canUpdateRelease ? 'Edit' : 'View'}
Expand All @@ -57,7 +58,7 @@ const DraftReleaseRow = ({ isBauUser, release, onChangeRelease }: Props) => {
className="govuk-!-margin-right-4 govuk-!-display-inline-block"
to={generatePath<ReleaseRouteParams>(releaseSummaryRoute.path, {
publicationId: release.publication.id,
releaseId: release.previousVersionId,
releaseVersionId: release.previousVersionId,
})}
>
View existing version
Expand All @@ -73,8 +74,10 @@ const DraftReleaseRow = ({ isBauUser, release, onChangeRelease }: Props) => {
variant="warning"
onClick={async () => {
setDeleteReleasePlan({
...(await releaseService.getDeleteReleasePlan(release.id)),
releaseId: release.id,
...(await releaseVersionService.getDeleteReleaseVersionPlan(
release.id,
)),
releaseVersionId: release.id,
});
}}
>
Expand All @@ -84,7 +87,9 @@ const DraftReleaseRow = ({ isBauUser, release, onChangeRelease }: Props) => {
}
onConfirm={async () => {
if (deleteReleasePlan) {
await releaseService.deleteRelease(deleteReleasePlan.releaseId);
await releaseVersionService.deleteReleaseVersion(
deleteReleasePlan.releaseVersionId,
);
setDeleteReleasePlan(undefined);
onChangeRelease();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import releaseService from '@admin/services/releaseService';
import releaseVersionService from '@admin/services/releaseVersionService';
import Details from '@common/components/Details';
import LoadingSpinner from '@common/components/LoadingSpinner';
import Tag from '@common/components/Tag';
Expand All @@ -7,12 +7,14 @@ import React from 'react';
import TagGroup from '@common/components/TagGroup';

interface Props {
releaseId: string;
releaseVersionId: string;
}

const DraftReleaseRowIssues = ({ releaseId }: Props) => {
const DraftReleaseRowIssues = ({ releaseVersionId }: Props) => {
const { value: checklist, isLoading: isLoadingChecklist } =
useAsyncHandledRetry(() => releaseService.getReleaseChecklist(releaseId));
useAsyncHandledRetry(() =>
releaseVersionService.getReleaseVersionChecklist(releaseVersionId),
);

const totalIssues = checklist
? checklist.errors.length + checklist.warnings.length
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import DraftReleasesTable from '@admin/pages/admin-dashboard/components/DraftReleasesTable';
import { DashboardReleaseSummary } from '@admin/services/releaseService';
import { DashboardReleaseVersionSummary } from '@admin/services/releaseVersionService';
import LoadingSpinner from '@common/components/LoadingSpinner';
import React from 'react';

interface Props {
isBauUser: boolean;
isLoading: boolean;
releases: DashboardReleaseSummary[];
releases: DashboardReleaseVersionSummary[];
onChangeRelease: () => void;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ import {
DraftStatusGuidanceModal,
IssuesGuidanceModal,
} from '@admin/pages/publication/components/PublicationGuidance';
import { DashboardReleaseSummary } from '@admin/services/releaseService';
import { DashboardReleaseVersionSummary } from '@admin/services/releaseVersionService';
import { Dictionary } from '@common/types';
import orderBy from 'lodash/orderBy';
import React, { useMemo } from 'react';

interface PublicationRowProps {
isBauUser: boolean;
publication: string;
releases: DashboardReleaseSummary[];
releases: DashboardReleaseVersionSummary[];
onChangeRelease: () => void;
}

Expand Down Expand Up @@ -43,7 +43,7 @@ const PublicationRow = ({

interface DraftReleasesTableProps {
isBauUser: boolean;
releases: DashboardReleaseSummary[];
releases: DashboardReleaseVersionSummary[];
onChangeRelease: () => void;
}

Expand All @@ -52,9 +52,9 @@ const DraftReleasesTable = ({
releases,
onChangeRelease,
}: DraftReleasesTableProps) => {
const releasesByPublication: Dictionary<DashboardReleaseSummary[]> =
const releasesByPublication: Dictionary<DashboardReleaseVersionSummary[]> =
useMemo(() => {
return releases.reduce<Dictionary<DashboardReleaseSummary[]>>(
return releases.reduce<Dictionary<DashboardReleaseVersionSummary[]>>(
(acc, release) => {
if (acc[release.publication.title]) {
acc[release.publication.title].push(release);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import ScheduledReleasesTable from '@admin/pages/admin-dashboard/components/ScheduledReleasesTable';
import { DashboardReleaseSummary } from '@admin/services/releaseService';
import { DashboardReleaseVersionSummary } from '@admin/services/releaseVersionService';
import LoadingSpinner from '@common/components/LoadingSpinner';
import React from 'react';

interface Props {
isLoading: boolean;
releases: DashboardReleaseSummary[];
releases: DashboardReleaseVersionSummary[];
}

const ScheduledReleasesTab = ({ isLoading, releases }: Props) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ import {
ScheduledStagesGuidanceModal,
ScheduledStatusGuidanceModal,
} from '@admin/pages/publication/components/PublicationGuidance';
import { DashboardReleaseSummary } from '@admin/services/releaseService';
import { DashboardReleaseVersionSummary } from '@admin/services/releaseVersionService';
import { Dictionary } from '@common/types';
import orderBy from 'lodash/orderBy';
import React, { useMemo } from 'react';

interface PublicationRowProps {
publication: string;
releases: DashboardReleaseSummary[];
releases: DashboardReleaseVersionSummary[];
}

const PublicationRow = ({ publication, releases }: PublicationRowProps) => {
Expand All @@ -33,13 +33,13 @@ const PublicationRow = ({ publication, releases }: PublicationRowProps) => {
};

interface ScheduledReleasesTableProps {
releases: DashboardReleaseSummary[];
releases: DashboardReleaseVersionSummary[];
}

const ScheduledReleasesTable = ({ releases }: ScheduledReleasesTableProps) => {
const releasesByPublication: Dictionary<DashboardReleaseSummary[]> =
const releasesByPublication: Dictionary<DashboardReleaseVersionSummary[]> =
useMemo(() => {
return releases.reduce<Dictionary<DashboardReleaseSummary[]>>(
return releases.reduce<Dictionary<DashboardReleaseVersionSummary[]>>(
(acc, release) => {
if (acc[release.publication.title]) {
acc[release.publication.title].push(release);
Expand Down
Loading