Skip to content

Commit b491207

Browse files
feat: Use static endpoints for /resources and /entitlementOptions in Poppy Compatible release
Includes change to use "page" param instead of offset for useInfiniteFetch (loadmore works differently than prev-next) ERM-3248
1 parent 8d4e5d6 commit b491207

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

src/constants/endpoints.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export const AGREEMENTS_ENDPOINT = 'erm/sas';
77
export const AGREEMENT_ENDPOINT = (agreementId) => `${AGREEMENTS_ENDPOINT}/${agreementId}`;
88

99
export const AGREEMENT_ERESOURCES_ENDPOINT = (agreementId, filterPath) => `${AGREEMENT_ENDPOINT(agreementId)}/resources/${filterPath}`;
10+
export const AGREEMENT_ERESOURCES_ENDPOINT_STATIC = (agreementId, filterPath) => `${AGREEMENT_ENDPOINT(agreementId)}/resources/static/${filterPath}`;
1011

1112
export const AGREEMENT_LINES_ENDPOINT = 'erm/entitlements';
1213
export const AGREEMENT_LINES_EXTERNAL_ENDPOINT = 'erm/entitlements/external';

src/routes/AgreementViewRoute/AgreementViewRoute.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import { joinRelatedAgreements } from '../utilities/processRelatedAgreements';
2525

2626
import {
2727
AGREEMENT_ENDPOINT,
28-
AGREEMENT_ERESOURCES_ENDPOINT,
28+
AGREEMENT_ERESOURCES_ENDPOINT_STATIC,
2929
AGREEMENT_LINES_ENDPOINT,
3030
httpStatuses
3131
} from '../../constants';
@@ -58,7 +58,7 @@ const AgreementViewRoute = ({
5858
} = useAgreementsHelperApp();
5959

6060
const agreementPath = AGREEMENT_ENDPOINT(agreementId);
61-
const agreementEresourcesPath = AGREEMENT_ERESOURCES_ENDPOINT(agreementId, eresourcesFilterPath);
61+
const agreementEresourcesPath = AGREEMENT_ERESOURCES_ENDPOINT_STATIC(agreementId, eresourcesFilterPath);
6262

6363
const { agreement, isAgreementLoading } = useAgreement({ agreementId });
6464

@@ -114,14 +114,15 @@ const AgreementViewRoute = ({
114114
);
115115

116116
// AGREEMENT ERESOURCES INFINITE FETCH
117+
const agreementEresourcesPerPage = useMemo(() => parseMclPageSize(settings, 'agreementEresources'), [settings]);
117118
const agreementEresourcesQueryParams = useMemo(() => (
118119
generateKiwtQueryParams({
119120
sort: [
120121
{ path: 'pti.titleInstance.name' }
121122
],
122-
perPage: parseMclPageSize(settings, 'agreementEresources')
123+
perPage: agreementEresourcesPerPage
123124
}, {})
124-
), [settings]);
125+
), [agreementEresourcesPerPage]);
125126

126127
const {
127128
infiniteQueryObject: {
@@ -133,7 +134,7 @@ const AgreementViewRoute = ({
133134
} = useInfiniteFetch(
134135
[agreementEresourcesPath, agreementEresourcesQueryParams, 'ui-agreements', 'AgreementViewRoute', 'getEresources'],
135136
({ pageParam = 0 }) => {
136-
const params = [...agreementEresourcesQueryParams, `offset=${pageParam}`];
137+
const params = [...agreementEresourcesQueryParams, `page=${(pageParam / agreementEresourcesPerPage) + 1}`];
137138
return ky.get(`${agreementEresourcesPath}?${params?.join('&')}`).json();
138139
}
139140
);

src/routes/EResourceViewRoute/EResourceViewRoute.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,15 @@ const EResourceViewRoute = ({
4949
const entitlementOptionsPath = ERESOURCE_ENTITLEMENT_OPTIONS_ENDPOINT(eresourceId);
5050

5151
// AGREEMENTS FOR ERESOURCE INFINITE FETCH
52+
const eresourceAgreementPerPage = useMemo(() => parseMclPageSize(settings, 'entitlements'), [settings]);
5253
const eresourceAgreementParams = useMemo(() => (
5354
generateKiwtQueryParams(
5455
{
55-
perPage: parseMclPageSize(settings, 'entitlements')
56+
perPage: eresourceAgreementPerPage
5657
},
5758
{}
5859
)
59-
), [settings]);
60+
), [eresourceAgreementPerPage]);
6061

6162
const {
6263
infiniteQueryObject: {
@@ -68,7 +69,7 @@ const EResourceViewRoute = ({
6869
} = useInfiniteFetch(
6970
[entitlementsPath, eresourceAgreementParams, 'ui-agreements', 'EresourceViewRoute', 'getEntitlements'],
7071
({ pageParam = 0 }) => {
71-
const params = [...eresourceAgreementParams, `offset=${pageParam}`];
72+
const params = [...eresourceAgreementParams, `page=${(pageParam / eresourceAgreementPerPage) + 1}`];
7273
return ky.get(`${entitlementsPath}?${params?.join('&')}`).json();
7374
}
7475
);

0 commit comments

Comments
 (0)