Skip to content

Commit

Permalink
filterParamsForRoute params as obj
Browse files Browse the repository at this point in the history
  • Loading branch information
enguerranws committed Oct 10, 2024
1 parent e30aa5e commit 6507028
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,7 @@ import { useEffect } from "react";
import { objectToDependencyList } from "shared";
import { useDebounce } from "src/app/hooks/useDebounce";
import { ConventionParamsInUrl } from "src/app/routes/routeParams/convention";
import {
conventionForExternalParams,
conventionParams,
routes,
useRoute,
} from "src/app/routes/routes";
import { conventionParams, routes, useRoute } from "src/app/routes/routes";
import {
filterParamsForRoute,
getUrlParameters,
Expand Down Expand Up @@ -35,11 +30,11 @@ export const useUpdateConventionValuesInUrl = (
route.name === "conventionCustomAgency" ||
route.name === "conventionMiniStage"
) {
const filteredParams = filterParamsForRoute(
const filteredParams = filterParamsForRoute({
urlParams,
conventionParams,
["fedId", "fedIdProvider"],
);
matchingParams: conventionParams,
forceExcludeParams: ["fedId", "fedIdProvider"],
});
const {
fedId: _,
fedIdProvider: __,
Expand All @@ -52,11 +47,11 @@ export const useUpdateConventionValuesInUrl = (
}

if (route.name === "conventionImmersionForExternals") {
const filteredParams = filterParamsForRoute(
const filteredParams = filterParamsForRoute({
urlParams,
conventionForExternalParams,
["fedId", "fedIdProvider"],
);
matchingParams: conventionParams,
forceExcludeParams: ["fedId", "fedIdProvider"],
});
routes
.conventionImmersionForExternals({
...filteredParams,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -249,10 +249,10 @@ export const EstablishmentForm = ({ mode }: EstablishmentFormProps) => {

useEffect(() => {
if (isEstablishmentCreation) {
const filteredParams = filterParamsForRoute(
initialUrlParams.current,
establishmentParams,
);
const filteredParams = filterParamsForRoute({
urlParams: initialUrlParams.current,
matchingParams: establishmentParams,
});
routes
.formEstablishment(
formEstablishmentDtoToFormEstablishmentWithAcquisitionQueryParams({
Expand Down
8 changes: 4 additions & 4 deletions front/src/app/hooks/search.hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ export const useSearchUseCase = ({
dispatch(
searchSlice.actions.searchRequested({ ...values, appellationCodes }),
);
const updatedUrlParams = filterParamsForRoute(
{
const updatedUrlParams = filterParamsForRoute({
urlParams: {
...urlParams,
...values,
},
searchParams,
);
matchingParams: searchParams,
});
const updatedUrlParamsWithEncodedUriValues = {
...updatedUrlParams,
...encodedSearchUriParams.reduce((acc, currentKey) => {
Expand Down
14 changes: 9 additions & 5 deletions front/src/app/utils/url.utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@ export const getUrlParameters: (location: Location) => {
} = (location) =>
Object.fromEntries(new URLSearchParams(location.search).entries());

export const filterParamsForRoute = (
urlParams: Record<string, unknown>,
matchingParams: Record<string, unknown>,
forceExcludeParams?: string[],
) =>
export const filterParamsForRoute = ({
urlParams,
matchingParams,
forceExcludeParams,
}: {
urlParams: Record<string, unknown>;
matchingParams: Record<string, unknown>;
forceExcludeParams?: string[];
}) =>
Object.fromEntries(
Object.entries(urlParams).filter(
([key]) => key in matchingParams && !forceExcludeParams?.includes(key),
Expand Down
2 changes: 1 addition & 1 deletion front/src/app/utils/url.utils.unit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ describe("url.utils", () => {
param1: "value1",
};

const result = filterParamsForRoute(urlParams, matchingParams);
const result = filterParamsForRoute({ urlParams, matchingParams });
expect(result).toEqual({
param1: "value1",
});
Expand Down

0 comments on commit 6507028

Please sign in to comment.