|
|
@@ -57,8 +57,8 @@ class HydraNormalizer {
|
|
|
hydraData: AnyJson,
|
|
|
model?: typeof ApiResource
|
|
|
): AnyJson {
|
|
|
- if (hydraData['@type'] === 'hydra:Collection') {
|
|
|
- const members = hydraData['hydra:member']
|
|
|
+ if (hydraData['@type'] === 'Collection') {
|
|
|
+ const members = hydraData.member
|
|
|
return members.map((item: AnyJson) =>
|
|
|
HydraNormalizer.denormalizeItem(item, model)
|
|
|
)
|
|
|
@@ -74,32 +74,30 @@ class HydraNormalizer {
|
|
|
* @protected
|
|
|
*/
|
|
|
protected static getMetadata(data: AnyJson): HydraMetadata {
|
|
|
- if (data['@type'] !== 'hydra:Collection') {
|
|
|
+ if (data['@type'] !== 'Collection') {
|
|
|
// A single item, no metadata
|
|
|
return { type: METADATA_TYPE.ITEM }
|
|
|
}
|
|
|
|
|
|
const metadata: HydraMetadata = {
|
|
|
- totalItems: data['hydra:totalItems'],
|
|
|
+ totalItems: data.totalItems,
|
|
|
}
|
|
|
|
|
|
- if (data['hydra:view']) {
|
|
|
+ if (data.view) {
|
|
|
/**
|
|
|
- * Extract the page number from the IRIs in the hydra:view section
|
|
|
+ * Extract the page number from the IRIs in the view section
|
|
|
*/
|
|
|
const extractPageNumber = (
|
|
|
pos: string,
|
|
|
default_: number | undefined = undefined
|
|
|
): number | undefined => {
|
|
|
- const iri = data['hydra:view']['hydra:' + pos]
|
|
|
+ const iri = data.view['' + pos]
|
|
|
if (!iri) {
|
|
|
return default_
|
|
|
}
|
|
|
- return UrlUtils.getParameter(
|
|
|
- data['hydra:view']['hydra:' + pos],
|
|
|
- 'page',
|
|
|
- default_
|
|
|
- ) as number | undefined
|
|
|
+ return UrlUtils.getParameter(data.view['' + pos], 'page', default_) as
|
|
|
+ | number
|
|
|
+ | undefined
|
|
|
}
|
|
|
|
|
|
// TODO: utile d'ajouter la page en cours?
|