Skip to content

Commit c195de9

Browse files
committed
simpify datamodel url creation further
1 parent 2cb035d commit c195de9

File tree

2 files changed

+28
-32
lines changed

2 files changed

+28
-32
lines changed

src/features/datamodel/useBindingSchema.tsx

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,7 @@ import { useProcessTaskId } from 'src/features/instance/useProcessTaskId';
1515
import { useCurrentLanguage } from 'src/features/language/LanguageProvider';
1616
import { useAllowAnonymous } from 'src/features/stateless/getAllowAnonymous';
1717
import { useAsRef } from 'src/hooks/useAsRef';
18-
import {
19-
getAnonymousStatelessDataModelUrl,
20-
getStatefulDataModelUrl,
21-
getStatelessDataModelUrl,
22-
getStatelessDataModelUrlWithPrefill,
23-
} from 'src/utils/urls/appUrlHelper';
18+
import { getStatefulDataModelUrl, getStatelessDataModelUrl } from 'src/utils/urls/appUrlHelper';
2419
import { getUrlWithLanguage } from 'src/utils/urls/urlHelper';
2520
import type { IDataModelReference } from 'src/layout/common.generated';
2621
import type { IDataModelBindings } from 'src/layout/layout';
@@ -52,7 +47,6 @@ export function useCurrentDataModelGuid() {
5247
type DataModelDeps = {
5348
language: string;
5449
isAnonymous: boolean;
55-
isStateless: boolean;
5650
instanceId?: string;
5751
};
5852

@@ -70,25 +64,16 @@ function getDataModelUrl({
7064
includeRowIds = false,
7165
language,
7266
isAnonymous,
73-
isStateless,
7467
instanceId,
7568
prefillFromQueryParams,
7669
}: DataModelDeps & DataModelProps) {
77-
if (prefillFromQueryParams && !isAnonymous && isStateless && dataType) {
70+
if (!instanceId && dataType) {
7871
return getUrlWithLanguage(
79-
getStatelessDataModelUrlWithPrefill(dataType, includeRowIds, prefillFromQueryParams),
72+
getStatelessDataModelUrl({ dataType, includeRowIds, prefillFromQueryParams, isAnonymous }),
8073
language,
8174
);
8275
}
8376

84-
if (isStateless && isAnonymous && dataType) {
85-
return getUrlWithLanguage(getAnonymousStatelessDataModelUrl(dataType, includeRowIds), language);
86-
}
87-
88-
if (isStateless && !isAnonymous && dataType) {
89-
return getUrlWithLanguage(getStatelessDataModelUrl(dataType, includeRowIds), language);
90-
}
91-
9277
if (instanceId && dataElementId) {
9378
return getUrlWithLanguage(getStatefulDataModelUrl(instanceId, dataElementId, includeRowIds), language);
9479
}
@@ -98,7 +83,6 @@ function getDataModelUrl({
9883

9984
export function useGetDataModelUrl() {
10085
const isAnonymous = useAllowAnonymous();
101-
const isStateless = useApplicationMetadata().isStatelessApp;
10286
const instanceId = useLaxInstanceId();
10387
const currentLanguage = useAsRef(useCurrentLanguage());
10488

@@ -109,7 +93,6 @@ export function useGetDataModelUrl() {
10993
includeRowIds,
11094
language: language ?? currentLanguage.current,
11195
isAnonymous,
112-
isStateless,
11396
instanceId,
11497
prefillFromQueryParams,
11598
});

src/utils/urls/appUrlHelper.ts

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,31 @@ export const getFileTagUrl = (instanceId: string, dataGuid: string, tag: string
4848
return `${appPath}/instances/${instanceId}/data/${dataGuid}/tags`;
4949
};
5050

51-
export const getAnonymousStatelessDataModelUrl = (dataType: string, includeRowIds: boolean) =>
52-
`${appPath}/v1/data/anonymous?dataType=${dataType}&includeRowId=${includeRowIds.toString()}`;
53-
54-
export const getStatelessDataModelUrlWithPrefill = (
55-
dataType: string,
56-
includeRowIds: boolean,
57-
prefillFromQueryParams: string,
58-
) =>
59-
`${appPath}/v1/data?dataType=${dataType}&includeRowId=${includeRowIds.toString()}&prefill=${prefillFromQueryParams}`;
60-
61-
export const getStatelessDataModelUrl = (dataType: string, includeRowIds: boolean) =>
62-
`${appPath}/v1/data?dataType=${dataType}&includeRowId=${includeRowIds.toString()}`;
51+
export const getStatelessDataModelUrl = ({
52+
dataType,
53+
includeRowIds,
54+
prefillFromQueryParams,
55+
isAnonymous = false,
56+
}: {
57+
dataType: string;
58+
includeRowIds: boolean;
59+
prefillFromQueryParams?: string;
60+
isAnonymous?: boolean;
61+
}) => {
62+
const queryParams = new URLSearchParams({
63+
dataType,
64+
includeRowId: includeRowIds.toString(),
65+
});
66+
if (isAnonymous) {
67+
return `${appPath}/v1/data/anonymous?${queryParams}`;
68+
}
69+
70+
if (prefillFromQueryParams) {
71+
queryParams.append('prefill', prefillFromQueryParams);
72+
}
73+
74+
return `${appPath}/v1/data?${queryParams}`;
75+
};
6376

6477
export const getStatefulDataModelUrl = (instanceId: string, dataGuid: string, includeRowIds: boolean) =>
6578
`${appPath}/instances/${instanceId}/data/${dataGuid}?includeRowId=${includeRowIds.toString()}`;

0 commit comments

Comments
 (0)