mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-19 16:03:02 +00:00
Fixed deserialisation of DSpaceObjects in browse-item-response-parsing-service
This commit is contained in:
@@ -15,6 +15,7 @@ import { ResponseParsingService } from './parsing.service';
|
|||||||
import { RestRequest } from './request.models';
|
import { RestRequest } from './request.models';
|
||||||
import { Item } from '../shared/item.model';
|
import { Item } from '../shared/item.model';
|
||||||
import { DSpaceObject } from '../shared/dspace-object.model';
|
import { DSpaceObject } from '../shared/dspace-object.model';
|
||||||
|
import { NormalizedDSpaceObject } from '../cache/models/normalized-dspace-object.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A ResponseParsingService used to parse DSpaceRESTV2Response coming from the REST API to Browse Items (DSpaceObject[])
|
* A ResponseParsingService used to parse DSpaceRESTV2Response coming from the REST API to Browse Items (DSpaceObject[])
|
||||||
@@ -42,7 +43,7 @@ export class BrowseItemsResponseParsingService extends BaseResponseParsingServic
|
|||||||
parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse {
|
parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse {
|
||||||
if (isNotEmpty(data.payload) && isNotEmpty(data.payload._embedded)
|
if (isNotEmpty(data.payload) && isNotEmpty(data.payload._embedded)
|
||||||
&& Array.isArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]])) {
|
&& Array.isArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]])) {
|
||||||
const serializer = new DSpaceRESTv2Serializer(DSpaceObject);
|
const serializer = new DSpaceRESTv2Serializer(NormalizedDSpaceObject);
|
||||||
const items = serializer.deserializeArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]]);
|
const items = serializer.deserializeArray(data.payload._embedded[Object.keys(data.payload._embedded)[0]]);
|
||||||
return new GenericSuccessResponse(items, data.statusCode, this.processPageInfo(data.payload));
|
return new GenericSuccessResponse(items, data.statusCode, this.processPageInfo(data.payload));
|
||||||
} else if (hasValue(data.payload) && hasValue(data.payload.page)) {
|
} else if (hasValue(data.payload) && hasValue(data.payload.page)) {
|
||||||
|
Reference in New Issue
Block a user