From 80678f8839dbb8d411014ac1495c874a30293a1d Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Tue, 19 Dec 2023 21:19:58 +0100 Subject: [PATCH 01/51] Expanding fetching system for FBI to handle multiple urls In that way we can change FBI graphql url depending on which query that is being executed. We need that because DDF wants to change profile name depending on which query that is being run. --- src/core/dbc-gateway/graphql-fetcher.ts | 13 ++++---- src/core/dbc-gateway/helper.ts | 33 +++++++++++++++++++ src/core/storybook/serviceUrlArgs.ts | 10 ++++++ .../reduxMiddleware/extractServiceBaseUrls.ts | 24 +++++++++++--- src/core/utils/types/global-url-props.ts | 2 ++ 5 files changed, 71 insertions(+), 11 deletions(-) create mode 100644 src/core/dbc-gateway/helper.ts diff --git a/src/core/dbc-gateway/graphql-fetcher.ts b/src/core/dbc-gateway/graphql-fetcher.ts index 167f41e766..b016bc9d67 100644 --- a/src/core/dbc-gateway/graphql-fetcher.ts +++ b/src/core/dbc-gateway/graphql-fetcher.ts @@ -1,16 +1,17 @@ +import { QueryFunctionContext } from "react-query"; import FetchFailedCriticalError from "../fetchers/FetchFailedCriticalError"; import { getToken, TOKEN_LIBRARY_KEY, TOKEN_USER_KEY } from "../token"; -import { - getServiceBaseUrl, - serviceUrlKeys -} from "../utils/reduxMiddleware/extractServiceBaseUrls"; import DbcGateWayHttpError from "./DbcGateWayHttpError"; +import { getQueryUrlFromContext } from "./helper"; export const fetcher = ( query: string, variables?: TVariables ) => { - return (): Promise => { + return (context?: QueryFunctionContext): Promise => { + // Resolve the url based on the query name if present. + const url = getQueryUrlFromContext(context); + // The whole concept of agency id, profile and and bearer token needs to be refined. // First version is with a library token. const token = getToken(TOKEN_USER_KEY) || getToken(TOKEN_LIBRARY_KEY); @@ -22,7 +23,7 @@ export const fetcher = ( ? ({ Authorization: `Bearer ${token}` } as object) : {}; - return fetch(getServiceBaseUrl(serviceUrlKeys.fbi), { + return fetch(url, { method: "POST", ...{ headers: { diff --git a/src/core/dbc-gateway/helper.ts b/src/core/dbc-gateway/helper.ts new file mode 100644 index 0000000000..1abb846ad8 --- /dev/null +++ b/src/core/dbc-gateway/helper.ts @@ -0,0 +1,33 @@ +import { QueryFunctionContext } from "react-query"; +import { + getServiceBaseUrl, + serviceUrlKeys +} from "../utils/reduxMiddleware/extractServiceBaseUrls"; + +const map = { + searchWithPagination: serviceUrlKeys.fbiSearch, + getMaterial: serviceUrlKeys.fbiMaterial, + default: serviceUrlKeys.fbi +} as const; + +const resolveBaseUrl = (query: string | null) => { + if (!query) { + return getServiceBaseUrl(map.default); + } + return getServiceBaseUrl(map[query as keyof typeof map] || map.default); +}; + +export const getQueryUrlFromContext = ( + context: QueryFunctionContext | undefined +) => { + // Get the default base url if no context. + if (!context) { + return resolveBaseUrl(null); + } + + const { queryKey } = context; + const [queryName] = queryKey; + return resolveBaseUrl(queryName as string); +}; + +export default {}; diff --git a/src/core/storybook/serviceUrlArgs.ts b/src/core/storybook/serviceUrlArgs.ts index be76c11f76..a481c8ebfc 100644 --- a/src/core/storybook/serviceUrlArgs.ts +++ b/src/core/storybook/serviceUrlArgs.ts @@ -31,5 +31,15 @@ export default { name: "Base url for the FBI API", defaultValue: "https://fbi-api.dbc.dk/next/graphql", control: { type: "text" } + }, + [serviceUrlKeys.fbiSearch]: { + name: "Base url for the FBI API (search)", + defaultValue: "https://fbi-api.dbc.dk/next/graphql", + control: { type: "text" } + }, + [serviceUrlKeys.fbiMaterial]: { + name: "Base url for the FBI API (material)", + defaultValue: "https://fbi-api.dbc.dk/next/graphql", + control: { type: "text" } } }; diff --git a/src/core/utils/reduxMiddleware/extractServiceBaseUrls.ts b/src/core/utils/reduxMiddleware/extractServiceBaseUrls.ts index 03b1b96fb7..2969c5c83b 100644 --- a/src/core/utils/reduxMiddleware/extractServiceBaseUrls.ts +++ b/src/core/utils/reduxMiddleware/extractServiceBaseUrls.ts @@ -1,21 +1,35 @@ import { EnhancedStore } from "@reduxjs/toolkit"; import { Middleware } from "redux"; -type Api = "publizon" | "fbs" | "dplCms" | "cover" | "materialList" | "fbi"; +type Api = + | "publizon" + | "fbs" + | "dplCms" + | "cover" + | "materialList" + | "fbi" + | "fbiSearch" + | "fbiMaterial"; + export type ApiBaseUrlKey = `${Api}BaseUrl`; +export type ServiceBaseUrls = + | Record + | Record; + +type ServiceBaseUrlKey = keyof ServiceBaseUrls; + export const serviceUrlKeys: Record = { fbs: "fbsBaseUrl", publizon: "publizonBaseUrl", dplCms: "dplCmsBaseUrl", cover: "coverBaseUrl", materialList: "materialListBaseUrl", - fbi: "fbiBaseUrl" + fbi: "fbiBaseUrl", + fbiSearch: "fbiSearchBaseUrl", + fbiMaterial: "fbiMaterialBaseUrl" } as const; -type ServiceBaseUrls = Record | Record; -type ServiceBaseUrlKey = keyof typeof serviceBaseUrls; - // ServiceBaseUrls "store". We use this to store the base urls for the different services. let serviceBaseUrls: ServiceBaseUrls = {}; diff --git a/src/core/utils/types/global-url-props.ts b/src/core/utils/types/global-url-props.ts index ca5ece4086..791c001f97 100644 --- a/src/core/utils/types/global-url-props.ts +++ b/src/core/utils/types/global-url-props.ts @@ -10,6 +10,8 @@ interface GlobalUrlEntryPropsInterface { coverBaseUrl: string; materialBaseUrl: string; fbiBaseUrl: string; + fbiSearchBaseUrl: string; + fbiMaterialBaseUrl: string; authUrl: string; ereolenHomepageUrl: string; } From 7e93ff4c8513b82b193f11d627576fad42ff75f8 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 19 Dec 2023 13:39:45 +0100 Subject: [PATCH 02/51] Show fees in a single list & include non-payable ones + update wiremock ..stub. A lot of functionality was removed from the FeeList component, due to it being obsolete for the company. A lot of it revolved around the change date where municipalities switched between different ways for users to pay fees. But we no longer need to divide fees between "before" and "after" this date. --- ...-bd783b91-b464-4137-9575-b093008866df.json | 38 ++++----- src/apps/fee-list/FeeList.tsx | 83 +++---------------- src/apps/fee-list/utils/helper.ts | 29 ------- 3 files changed, 32 insertions(+), 118 deletions(-) diff --git a/.docker/wiremock/fbs/mappings/external_agencyid_patron_patronid_fees_v2-bd783b91-b464-4137-9575-b093008866df.json b/.docker/wiremock/fbs/mappings/external_agencyid_patron_patronid_fees_v2-bd783b91-b464-4137-9575-b093008866df.json index 5d55732c32..b88169000a 100644 --- a/.docker/wiremock/fbs/mappings/external_agencyid_patron_patronid_fees_v2-bd783b91-b464-4137-9575-b093008866df.json +++ b/.docker/wiremock/fbs/mappings/external_agencyid_patron_patronid_fees_v2-bd783b91-b464-4137-9575-b093008866df.json @@ -1,23 +1,23 @@ { - "id": "bd783b91-b464-4137-9575-b093008866df", - "name": "Fees (v2)", - "request": { - "url": "/external/agencyid/patron/patronid/fees/v2", - "method": "GET" + "id" : "bd783b91-b464-4137-9575-b093008866df", + "name" : "Fees (v2)", + "request" : { + "url" : "/external/agencyid/patron/patronid/fees/v2?includepaid=false&includenonpayable=true", + "method" : "GET" }, - "response": { - "status": 200, - "body": "[\n {\n \"feeId\": 434536,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 70,\n \"dueDate\": \"2022-05-08\",\n \"creationDate\": \"2022-04-06\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"5237124059\",\n \"recordId\": \"48724566\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5119382558\",\n \"recordId\": \"52518563\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5324175956\",\n \"recordId\": \"38540335\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 434537,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 70,\n \"dueDate\": \"2022-05-08\",\n \"creationDate\": \"2022-04-06\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"3275348197\",\n \"recordId\": \"23790823\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5218297864\",\n \"recordId\": \"45951685\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 434538,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 120,\n \"dueDate\": \"2022-05-08\",\n \"creationDate\": \"2022-04-06\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"5136106556\",\n \"recordId\": \"53067034\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5232011841\",\n \"recordId\": \"54058969\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 306404,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 2.56,\n \"dueDate\": \"2020-04-15\",\n \"creationDate\": \"2019-10-18\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"3839631447\",\n \"recordId\": \"26285283\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 377242,\n \"type\": \"compensation\",\n \"reasonMessage\": \"Erstatning (test)\",\n \"amount\": 1,\n \"dueDate\": \"2021-08-10\",\n \"creationDate\": \"2021-02-11\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"271358741\",\n \"recordId\": \"01484524\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 411199,\n \"type\": \"compensation\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 1.5,\n \"dueDate\": \"2021-12-24\",\n \"creationDate\": \"2021-11-24\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"262088571\",\n \"recordId\": \"06964206\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n }\n]", - "headers": { - "content-type": "application/json; charset=utf-8", - "date": "{{now format='yyyy-MM-dd HH:mm:ssZ'}}", - "strict-transport-security": "max-age=15552000" + "response" : { + "status" : 200, + "body" : "[\n {\n \"feeId\": 434536,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 70,\n \"dueDate\": \"2022-05-08\",\n \"creationDate\": \"2022-04-06\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"5237124059\",\n \"recordId\": \"48724566\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5119382558\",\n \"recordId\": \"52518563\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5324175956\",\n \"recordId\": \"38540335\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 434537,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 70,\n \"dueDate\": \"2022-05-08\",\n \"creationDate\": \"2022-04-06\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"3275348197\",\n \"recordId\": \"23790823\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5218297864\",\n \"recordId\": \"45951685\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 434538,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 120,\n \"dueDate\": \"2022-05-08\",\n \"creationDate\": \"2022-04-06\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"5136106556\",\n \"recordId\": \"53067034\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5232011841\",\n \"recordId\": \"54058969\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 306404,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 2.56,\n \"dueDate\": \"2020-04-15\",\n \"creationDate\": \"2019-10-18\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"3839631447\",\n \"recordId\": \"26285283\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 377242,\n \"type\": \"compensation\",\n \"reasonMessage\": \"Erstatning (test)\",\n \"amount\": 1,\n \"dueDate\": \"2021-08-10\",\n \"creationDate\": \"2021-02-11\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"271358741\",\n \"recordId\": \"01484524\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 411199,\n \"type\": \"compensation\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 1.5,\n \"dueDate\": \"2021-12-24\",\n \"creationDate\": \"2021-11-24\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"262088571\",\n \"recordId\": \"06964206\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n }\n]", + "headers" : { + "content-type" : "application/json; charset=utf-8", + "date" : "{{now format='yyyy-MM-dd HH:mm:ssZ'}}", + "strict-transport-security" : "max-age=15552000" }, - "transformers": ["response-template"] + "transformers" : [ "response-template" ] }, - "uuid": "bd783b91-b464-4137-9575-b093008866df", - "persistent": true, - "priority": 5, - "insertionIndex": 13, - "postServeActions": [] -} + "uuid" : "bd783b91-b464-4137-9575-b093008866df", + "persistent" : true, + "priority" : 5, + "insertionIndex" : 18, + "postServeActions" : [ ] +} \ No newline at end of file diff --git a/src/apps/fee-list/FeeList.tsx b/src/apps/fee-list/FeeList.tsx index 745c60c5b5..d6495930e8 100644 --- a/src/apps/fee-list/FeeList.tsx +++ b/src/apps/fee-list/FeeList.tsx @@ -10,10 +10,7 @@ import FeeDetailsModal from "./modal/fee-details-modal"; import MyPaymentOverviewModal from "./modal/my-payment-overview-modal"; import FeeDetailsContent from "./stackable-fees/fee-details-content"; import modalIdsConf from "../../core/configuration/modal-ids.json"; -import { - getFeeObjectByFaustId, - getFeesInRelationToPaymentChangeDate -} from "./utils/helper"; +import { getFeeObjectByFaustId } from "./utils/helper"; import ListHeader from "../../components/list-header/list-header"; import EmptyList from "../../components/empty-list/empty-list"; @@ -21,22 +18,14 @@ const FeeList: FC = () => { const t = useText(); const u = useUrls(); const viewFeesAndCompensationRatesUrl = u("viewFeesAndCompensationRatesUrl"); - const [feeDetailsModalId, setFeeDetailsModalId] = useState(""); const { open } = useModalButtonHandler(); - const { data: fbsFees = [] } = useGetFeesV2(); - const [itemsPrePaymentChange, setItemsPrePaymentChange] = useState< - FeeV2[] | null - >(null); - const [totalFeePrePaymentChange, setTotalFeePrePaymentChange] = - useState(0); - const [itemsPostPaymentChange, setItemsPostPaymentChange] = useState< - FeeV2[] | null - >(null); - const [totalFeePostPaymentChange, setTotalFeePostPaymentChange] = - useState(0); + const { data: fbsFees = [] } = useGetFeesV2({ + includepaid: false, + includenonpayable: true + }); + const [totalFeeAmount, setTotalFeeAmount] = useState(0); const [feeDetailsData, setFeeDetailsData] = useState(); - const openDetailsModalClickEvent = useCallback( (faustId: string) => { if (faustId) { @@ -51,54 +40,17 @@ const FeeList: FC = () => { ); useEffect(() => { - if (fbsFees) { - const feesPrePaymentChange = getFeesInRelationToPaymentChangeDate( - fbsFees, - true - ).length; - if (feesPrePaymentChange > 0) { - setItemsPrePaymentChange( - getFeesInRelationToPaymentChangeDate(fbsFees, true) - ); - } - const feesPostPaymentChange = getFeesInRelationToPaymentChangeDate( - fbsFees, - false - ).length; - if (feesPostPaymentChange > 0) { - setItemsPostPaymentChange( - getFeesInRelationToPaymentChangeDate(fbsFees, false) - ); - } - } - }, [fbsFees]); - - useEffect(() => { - if (totalFeePrePaymentChange > 0) { - return; - } - const totalFee = itemsPrePaymentChange?.reduce( - (accumulator, { amount }) => accumulator + amount, - 0 - ); - if (totalFee) { - setTotalFeePrePaymentChange(totalFee); - } - }, [itemsPrePaymentChange, totalFeePrePaymentChange]); - - useEffect(() => { - if (totalFeePostPaymentChange > 0) { + if (totalFeeAmount > 0 || !fbsFees.length) { return; } - const totalFee = itemsPostPaymentChange?.reduce( + const totalFee = fbsFees.reduce( (accumulator, { amount }) => accumulator + amount, 0 ); - if (totalFee) { - setTotalFeePostPaymentChange(totalFee); + setTotalFeeAmount(totalFee); } - }, [itemsPostPaymentChange, totalFeePostPaymentChange]); + }, [fbsFees, totalFeeAmount]); return ( <> @@ -112,7 +64,7 @@ const FeeList: FC = () => { {t("viewFeesAndCompensationRatesText")} - {!itemsPrePaymentChange && !itemsPostPaymentChange && ( + {!fbsFees.length && ( <> {t("unpaidFeesFirstHeadlineText")}} @@ -128,18 +80,9 @@ const FeeList: FC = () => { dataCy="fee-list-before" listHeader={t("unpaidFeesFirstHeadlineText")} openDetailsModalClickEvent={openDetailsModalClickEvent} - fees={itemsPrePaymentChange} - totalText={t("totalText", { - placeholders: { "@total": totalFeePrePaymentChange } - })} - /> - diff --git a/src/apps/fee-list/utils/helper.ts b/src/apps/fee-list/utils/helper.ts index cff26d21e0..106bce85d8 100644 --- a/src/apps/fee-list/utils/helper.ts +++ b/src/apps/fee-list/utils/helper.ts @@ -1,34 +1,5 @@ import dayjs from "dayjs"; import { FeeV2 } from "../../../core/fbs/model"; -import configuration, { getConf } from "../../../core/configuration"; - -const paymentConf = getConf("payment", configuration); -const { - paymentChangeDate -}: // paymentChangeDate should never be undefined, but the config system requires -// us to handle that case -{ paymentChangeDate?: `${number}-${number}-${number}` } = paymentConf; - -export const getFeesInRelationToPaymentChangeDate = ( - feeObj: FeeV2[], - beforePaymentChangeDate: boolean -) => { - const paymentMethodChangeDate = dayjs(paymentChangeDate); // The Date fee-payment-method changed - return feeObj.filter((fee) => { - const { dueDate } = fee; - if (dueDate) { - const feeDate = dayjs(dueDate); - if (beforePaymentChangeDate) { - if (feeDate < paymentMethodChangeDate) { - return fee; - } - } else if (feeDate > paymentMethodChangeDate) { - return fee; - } - } - return false; - }); -}; export const getFeeObjectByFaustId = (feeObj: FeeV2[], faustId: string) => { return feeObj.filter((item) => { From 088dd3c1d4d49fbd75788a9dbb08b89f4092eb0b Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 19 Dec 2023 14:03:53 +0100 Subject: [PATCH 03/51] Add feeListAlreadyPaidInfoText to the fee list dev & app entry --- src/apps/fee-list/FeeList.dev.tsx | 5 +++++ src/apps/fee-list/FeeList.entry.tsx | 1 + 2 files changed, 6 insertions(+) diff --git a/src/apps/fee-list/FeeList.dev.tsx b/src/apps/fee-list/FeeList.dev.tsx index c363d92b1a..3c131c7706 100644 --- a/src/apps/fee-list/FeeList.dev.tsx +++ b/src/apps/fee-list/FeeList.dev.tsx @@ -164,6 +164,11 @@ export default { paymentOverviewUrl: { defaultValue: "https://unsplash.com/photos/yjI3ozta2Zk", // Open source image of a fluffy floofer control: { type: "text" } + }, + feeListAlreadyPaidInfoText: { + defaultValue: + "Already paid? It can take up to 72 hours register the transaction.", + control: { type: "text" } } }, decorators: [withQuery] diff --git a/src/apps/fee-list/FeeList.entry.tsx b/src/apps/fee-list/FeeList.entry.tsx index 05d17eda3e..cae16a1d93 100644 --- a/src/apps/fee-list/FeeList.entry.tsx +++ b/src/apps/fee-list/FeeList.entry.tsx @@ -43,6 +43,7 @@ export interface FeeListProps { feeCreatedText: string; availablePaymentTypesUrl: string; paymentOverviewUrl: string; + feeListAlreadyPaidInfoText: string; } const FeeListEntry: FC< From 56a1b6270df0efc4516f58f6ffb72e021032a9a4 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 19 Dec 2023 14:05:04 +0100 Subject: [PATCH 04/51] Add feeListAlreadyPaidInfoText to the bottom of fee list page This text explains that it can take up to 72 hours to register a paid fee. --- src/apps/fee-list/list.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/apps/fee-list/list.tsx b/src/apps/fee-list/list.tsx index c530593a4d..a9d2d78d57 100644 --- a/src/apps/fee-list/list.tsx +++ b/src/apps/fee-list/list.tsx @@ -3,6 +3,7 @@ import ListHeader from "../../components/list-header/list-header"; import { FeeV2 } from "../../core/fbs/model"; import StackableFees from "./stackable-fees/stackable-fees"; import { FaustId } from "../../core/utils/types/ids"; +import { useText } from "../../core/utils/text"; interface ListProps { openDetailsModalClickEvent: (faustId: string) => void; @@ -18,6 +19,8 @@ const List: FC = ({ dataCy, totalText }) => { + const t = useText(); + return (
{fees && ( @@ -36,7 +39,10 @@ const List: FC = ({
-

{totalText}

+

+ {t("feeListAlreadyPaidInfoText")} +

+

{totalText}

From 414c7c7d45534ff7c394cd2657f9a675a7d05588 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 19 Dec 2023 14:30:00 +0100 Subject: [PATCH 05/51] Add feeLitsMaterialNumberText translation text to fee list app --- src/apps/fee-list/FeeList.dev.tsx | 4 ++++ src/apps/fee-list/FeeList.entry.tsx | 1 + 2 files changed, 5 insertions(+) diff --git a/src/apps/fee-list/FeeList.dev.tsx b/src/apps/fee-list/FeeList.dev.tsx index 3c131c7706..ce64260a58 100644 --- a/src/apps/fee-list/FeeList.dev.tsx +++ b/src/apps/fee-list/FeeList.dev.tsx @@ -169,6 +169,10 @@ export default { defaultValue: "Already paid? It can take up to 72 hours register the transaction.", control: { type: "text" } + }, + feeLitsMaterialNumberText: { + defaultValue: "#", + control: { type: "text" } } }, decorators: [withQuery] diff --git a/src/apps/fee-list/FeeList.entry.tsx b/src/apps/fee-list/FeeList.entry.tsx index cae16a1d93..798d3a1a71 100644 --- a/src/apps/fee-list/FeeList.entry.tsx +++ b/src/apps/fee-list/FeeList.entry.tsx @@ -44,6 +44,7 @@ export interface FeeListProps { availablePaymentTypesUrl: string; paymentOverviewUrl: string; feeListAlreadyPaidInfoText: string; + feeLitsMaterialNumberText: string; } const FeeListEntry: FC< From d109fe7466b52ebad54d9f5b01e6cfce3c1a566e Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 19 Dec 2023 14:31:14 +0100 Subject: [PATCH 06/51] Use feeLitsMaterialNumberText in the fee info component --- src/apps/fee-list/stackable-fees/fee-info.tsx | 5 +++-- src/apps/fee-list/stackable-fees/stackable-fees.tsx | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/apps/fee-list/stackable-fees/fee-info.tsx b/src/apps/fee-list/stackable-fees/fee-info.tsx index 6bb35bb5f4..3b0dca237c 100644 --- a/src/apps/fee-list/stackable-fees/fee-info.tsx +++ b/src/apps/fee-list/stackable-fees/fee-info.tsx @@ -3,6 +3,7 @@ import AuthorYear from "../../../components/author-year/authorYear"; import { Cover } from "../../../components/cover/cover"; import { BasicDetailsType } from "../../../core/utils/types/basic-details-type"; import { Pid } from "../../../core/utils/types/ids"; +import { useText } from "../../../core/utils/text"; interface FeeInfoProps { material: BasicDetailsType; @@ -23,7 +24,7 @@ const FeeInfo: FC = ({ pid, series = "" } = material; - + const t = useText(); return (
@@ -50,7 +51,7 @@ const FeeInfo: FC = ({

- {materialItemNumber} + {`${t("feeLitsMaterialNumberText")} ${materialItemNumber}`}

{children}
diff --git a/src/apps/fee-list/stackable-fees/stackable-fees.tsx b/src/apps/fee-list/stackable-fees/stackable-fees.tsx index 137923c47a..cdfd5b3391 100644 --- a/src/apps/fee-list/stackable-fees/stackable-fees.tsx +++ b/src/apps/fee-list/stackable-fees/stackable-fees.tsx @@ -43,7 +43,7 @@ const StackableFees: FC = ({ {stackSize > 0 && (

{t("plusXOtherMaterialsText", { From ffbc2e98b43429bd586c135dbe9a63864f55ca8a Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 19 Dec 2023 14:32:26 +0100 Subject: [PATCH 07/51] Update fee list test based on new stub --- src/apps/fee-list/fee-list.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/fee-list/fee-list.test.ts b/src/apps/fee-list/fee-list.test.ts index 1aca8b30ab..90269f7ed0 100644 --- a/src/apps/fee-list/fee-list.test.ts +++ b/src/apps/fee-list/fee-list.test.ts @@ -187,7 +187,7 @@ describe("Fee list", () => { .find(".list-reservation__deadline") .find(".text-small-caption") .should("exist") - .should("have.text", "Fees charged 18. 10. 2019"); + .should("have.text", "Fees charged 06. 04. 2022"); // 3. e Label: reason cy.get(".fee-list-page") From 7c4f3ecfb9e58b1a00085ae63488acec550b4496 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Wed, 20 Dec 2023 09:15:21 +0100 Subject: [PATCH 08/51] Use data-cy in fee list test, not fee-list-page class & update the test --- src/apps/fee-list/FeeList.tsx | 4 +-- src/apps/fee-list/fee-list.test.ts | 56 +++++++++--------------------- 2 files changed, 19 insertions(+), 41 deletions(-) diff --git a/src/apps/fee-list/FeeList.tsx b/src/apps/fee-list/FeeList.tsx index d6495930e8..bb98428659 100644 --- a/src/apps/fee-list/FeeList.tsx +++ b/src/apps/fee-list/FeeList.tsx @@ -54,7 +54,7 @@ const FeeList: FC = () => { return ( <> -

+

{t("feeListHeadlineText")}

@@ -77,7 +77,7 @@ const FeeList: FC = () => { )} { it("Fee list basics (physical loans)", () => { // 2. System shows: // 2.a. Headline "Fees & Replacement costs" - cy.get(".fee-list-page") + cy.getBySel("fee-list-page") .getBySel("fee-list-headline") .should("exist") .should("have.text", "Fees & Replacement costs"); @@ -130,7 +130,7 @@ describe("Fee list", () => { cy.getBySel("list-header").should("contain.text", "Unsettled debt"); // 2.d link “See our fees and replacement costs” - cy.get(".fee-list-page") + cy.getBySel("fee-list-page") .find("[data-cy='fee-list-body']") .find(".link-tag") .should("exist") @@ -138,11 +138,14 @@ describe("Fee list", () => { .should("have.text", "See our fees and replacement costs"); // 3.b list of intermediates - cy.get(".fee-list-page").find(".list-reservation").eq(0).should("exist"); + cy.getBySel("fee-list-page") + .find(".list-reservation") + .eq(0) + .should("exist"); // 3.c metadata // 3.c.a material type - cy.get(".fee-list-page") + cy.getBySel("fee-list-page") .find(".list-reservation") .eq(0) .should("exist") @@ -154,7 +157,7 @@ describe("Fee list", () => { .should("have.text", "Dummy bog"); // 3.c.b title - cy.get("[data-cy='fee-list-before']") + cy.get("[data-cy='fee-list']") .find(".list-reservation") .eq(0) .should("exist") @@ -163,7 +166,7 @@ describe("Fee list", () => { .should("have.text", "Dummy Some Title"); // 3.c.c author - cy.get(".fee-list-page") + cy.getBySel("fee-list-page") .find(".list-reservation") .eq(0) .should("exist") @@ -178,7 +181,7 @@ describe("Fee list", () => { ); // 3. d fees charged dd.mm.yyyy - cy.get(".fee-list-page") + cy.getBySel("fee-list-page") .find(".list-reservation") .eq(0) .should("exist") @@ -190,7 +193,7 @@ describe("Fee list", () => { .should("have.text", "Fees charged 06. 04. 2022"); // 3. e Label: reason - cy.get(".fee-list-page") + cy.getBySel("fee-list-page") .find(".list-reservation") .eq(0) .should("exist") @@ -202,7 +205,7 @@ describe("Fee list", () => { .should("have.text", "Gebyr (for sent)"); // 3. e Label: fee amount - cy.get(".fee-list-page") + cy.getBySel("fee-list-page") .find(".list-reservation") .eq(0) .should("exist") @@ -210,35 +213,10 @@ describe("Fee list", () => { .find(".list-reservation__fee") .find(".text-body-medium-regular") .should("exist") - .should("have.text", "Fee 2.56,-"); - - // 4. a List after date - // Title - cy.get("[data-cy='fee-list-after']") - .find(".list-reservation") - .eq(0) - .should("exist") - .find(".text-header-h4") - .should("exist") - .should("have.text", "Dummy Some Title"); - - // Author && year - cy.get(".fee-list-page") - .find(".list-reservation") - .eq(1) - .should("exist") - .find(".list-reservation__material") - .find(".list-reservation__information") - .find(".list-reservation__about") - .find(".text-small-caption") - .should("exist") - .should( - "have.text", - "By Dummy Jens Jensen and Dummy Some Corporation (2006)" - ); + .should("have.text", "Fee 70,-"); // 4.b +x other materials - cy.get(".fee-list-page") + cy.getBySel("fee-list-page") .find(".list-reservation") .eq(1) .should("exist") @@ -246,7 +224,7 @@ describe("Fee list", () => { .should("exist") .should("have.text", "+ 2 other materials"); - cy.get(".fee-list-page") + cy.getBySel("fee-list-page") .find(".list-reservation") .eq(1) .should("exist") @@ -258,7 +236,7 @@ describe("Fee list", () => { .find("div") .find(".counter") .find(".counter__value") - .should("have.text", "32"); + .should("have.text", "180"); // counter text cy.get("div.modal-loan__header") @@ -273,7 +251,7 @@ describe("Fee list", () => { .find("div") .find(".modal-loan__title") .should("exist") - .should("have.text", "Turned in 6. April 2022"); + .should("have.text", "Turned in 18. October 2019"); // "i accept the Terms of trade*" cy.getBySel("checkbox_id__fee_details").should("exist"); From 18faea6c913a5b6a73d38c631cddd3bb3dd2979a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:10:57 +0000 Subject: [PATCH 09/51] Bump the babel group with 2 updates Bumps the babel group with 2 updates: [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) and [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env). Updates `@babel/core` from 7.23.5 to 7.23.6 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.6/packages/babel-core) Updates `@babel/preset-env` from 7.23.5 to 7.23.6 - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.6/packages/babel-preset-env) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: babel - dependency-name: "@babel/preset-env" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: babel ... Signed-off-by: dependabot[bot] --- package.json | 4 +- yarn.lock | 138 ++++++++++++++++++++++++++++++--------------------- 2 files changed, 84 insertions(+), 58 deletions(-) diff --git a/package.json b/package.json index a32179595f..4b09a9aec6 100644 --- a/package.json +++ b/package.json @@ -45,10 +45,10 @@ "post-process-generated-graphql": "ts-node ./scripts/post-process-generated-graphql.ts" }, "devDependencies": { - "@babel/core": "^7.23.5", + "@babel/core": "^7.23.6", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/preset-env": "^7.23.5", + "@babel/preset-env": "^7.23.6", "@babel/preset-react": "^7.23.3", "@babel/preset-typescript": "^7.23.3", "@csstools/postcss-sass": "^5.0.1", diff --git a/yarn.lock b/yarn.lock index 5351c64863..3e26980780 100644 --- a/yarn.lock +++ b/yarn.lock @@ -60,7 +60,7 @@ "@babel/highlight" "^7.23.4" chalk "^2.4.2" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== @@ -87,33 +87,33 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.16.0", "@babel/core@^7.23.5", "@babel/core@^7.7.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.5.tgz#6e23f2acbcb77ad283c5ed141f824fd9f70101c7" - integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g== +"@babel/core@^7.1.0", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.16.0", "@babel/core@^7.23.6", "@babel/core@^7.7.5": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.6.tgz#8be77cd77c55baadcc1eae1c33df90ab6d2151d4" + integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.5" - "@babel/helper-compilation-targets" "^7.22.15" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.5" - "@babel/parser" "^7.23.5" + "@babel/helpers" "^7.23.6" + "@babel/parser" "^7.23.6" "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.5" - "@babel/types" "^7.23.5" + "@babel/traverse" "^7.23.6" + "@babel/types" "^7.23.6" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.14.0", "@babel/generator@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.5.tgz#17d0a1ea6b62f351d281350a5f80b87a810c4755" - integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA== +"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.14.0", "@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== dependencies: - "@babel/types" "^7.23.5" + "@babel/types" "^7.23.6" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -139,14 +139,14 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" - integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.15" - browserslist "^4.21.9" + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" lru-cache "^5.1.1" semver "^6.3.1" @@ -384,14 +384,14 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.12.5", "@babel/helpers@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.5.tgz#52f522840df8f1a848d06ea6a79b79eefa72401e" - integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg== +"@babel/helpers@^7.12.5", "@babel/helpers@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a" + integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA== dependencies: "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.5" - "@babel/types" "^7.23.5" + "@babel/traverse" "^7.23.6" + "@babel/types" "^7.23.6" "@babel/highlight@^7.23.4": version "7.23.4" @@ -402,10 +402,10 @@ chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.8", "@babel/parser@^7.22.15", "@babel/parser@^7.23.3", "@babel/parser@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.5.tgz#37dee97c4752af148e1d38c34b856b2507660563" - integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.8", "@babel/parser@^7.22.15", "@babel/parser@^7.23.3", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": version "7.23.3" @@ -821,12 +821,13 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-flow" "^7.16.7" -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz#afe115ff0fbce735e02868d41489093c63e15559" - integrity sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw== +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.23.3": version "7.23.3" @@ -1138,13 +1139,13 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.12.11", "@babel/preset-env@^7.16.0", "@babel/preset-env@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.5.tgz#350a3aedfa9f119ad045b068886457e895ba0ca1" - integrity sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A== +"@babel/preset-env@^7.12.11", "@babel/preset-env@^7.16.0", "@babel/preset-env@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.6.tgz#ad0ea799d5a3c07db5b9a172819bbd444092187a" + integrity sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ== dependencies: "@babel/compat-data" "^7.23.5" - "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.23.5" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" @@ -1184,7 +1185,7 @@ "@babel/plugin-transform-dynamic-import" "^7.23.4" "@babel/plugin-transform-exponentiation-operator" "^7.23.3" "@babel/plugin-transform-export-namespace-from" "^7.23.4" - "@babel/plugin-transform-for-of" "^7.23.3" + "@babel/plugin-transform-for-of" "^7.23.6" "@babel/plugin-transform-function-name" "^7.23.3" "@babel/plugin-transform-json-strings" "^7.23.4" "@babel/plugin-transform-literals" "^7.23.3" @@ -1312,26 +1313,26 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.5.tgz#f546bf9aba9ef2b042c0e00d245990c15508e7ec" - integrity sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w== +"@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" + integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ== dependencies: "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.5" + "@babel/generator" "^7.23.6" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.5" - "@babel/types" "^7.23.5" - debug "^4.1.0" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.12.11", "@babel/types@^7.12.7", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.6", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.5", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.5.tgz#48d730a00c95109fa4393352705954d74fb5b602" - integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w== +"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.12.11", "@babel/types@^7.12.7", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.6", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.6", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== dependencies: "@babel/helper-string-parser" "^7.23.4" "@babel/helper-validator-identifier" "^7.22.20" @@ -6629,7 +6630,7 @@ browserify@^17.0.0: vm-browserify "^1.0.0" xtend "^4.0.0" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9, browserslist@^4.22.1: +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.1: version "4.22.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== @@ -6639,6 +6640,16 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4 node-releases "^2.0.13" update-browserslist-db "^1.0.13" +browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + bser@2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" @@ -6916,6 +6927,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001538, can resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz#61a8e17caf3752e3e426d4239c549ebbb37fef0d" integrity sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA== +caniuse-lite@^1.0.30001565: + version "1.0.30001570" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz#b4e5c1fa786f733ab78fc70f592df6b3f23244ca" + integrity sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw== + capital-case@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz" @@ -8742,6 +8758,11 @@ electron-to-chromium@^1.4.535: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.554.tgz#04e09c2ee31dc0f1546174033809b54cc372740b" integrity sha512-Q0umzPJjfBrrj8unkONTgbKQXzXRrH7sVV7D9ea2yBV3Oaogz991yhbpfvo2LMNkJItmruXTEzVpP9cp7vaIiQ== +electron-to-chromium@^1.4.601: + version "1.4.612" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.612.tgz#350c6fd4201d677307519b931949fa64dae6a5cc" + integrity sha512-dM8BMtXtlH237ecSMnYdYuCkib2QHq0kpWfUnavjdYsyr/6OsAwg5ZGUfnQ9KD1Ga4QgB2sqXlB2NT8zy2GnVg== + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz" @@ -14166,6 +14187,11 @@ node-releases@^2.0.13: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" From ff484a412f47bd35c9a30ca85822c543f3bf84e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:15:31 +0000 Subject: [PATCH 10/51] Bump eslint-config-prettier from 9.0.0 to 9.1.0 Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 9.0.0 to 9.1.0. - [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-config-prettier/compare/v9.0.0...v9.1.0) --- updated-dependencies: - dependency-name: eslint-config-prettier dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4b09a9aec6..1e88c6c7ef 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "eslint": "^8.54.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-prettier": "^9.0.0", + "eslint-config-prettier": "^9.1.0", "eslint-loader": "^4.0.2", "eslint-plugin-cypress": "^2.12.1", "eslint-plugin-import": "^2.29.0", diff --git a/yarn.lock b/yarn.lock index 3e26980780..3948ae7c9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9321,10 +9321,10 @@ eslint-config-airbnb@^19.0.4: object.assign "^4.1.2" object.entries "^1.1.5" -eslint-config-prettier@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f" - integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== +eslint-config-prettier@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== eslint-import-resolver-node@^0.3.9: version "0.3.9" From 266ed468eb860b774dba041f6f79364b1518eecd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:16:52 +0000 Subject: [PATCH 11/51] Bump caniuse-lite from 1.0.30001566 to 1.0.30001570 Bumps [caniuse-lite](https://github.com/browserslist/caniuse-lite) from 1.0.30001566 to 1.0.30001570. - [Commits](https://github.com/browserslist/caniuse-lite/compare/1.0.30001566...1.0.30001570) --- updated-dependencies: - dependency-name: caniuse-lite dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1e88c6c7ef..bc8a0593ee 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "babel-plugin-istanbul": "^6.1.1", "babel-plugin-lodash": "^3.3.4", "babel-plugin-transform-react-remove-prop-types": "^0.4.24", - "caniuse-lite": "^1.0.30001566", + "caniuse-lite": "^1.0.30001570", "chokidar-cli": "^3.0.0", "concurrently": "^8.2.2", "core-js": "^3.34.0", diff --git a/yarn.lock b/yarn.lock index 3948ae7c9f..d2819df2bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6922,10 +6922,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541, caniuse-lite@^1.0.30001566: - version "1.0.30001566" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz#61a8e17caf3752e3e426d4239c549ebbb37fef0d" - integrity sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541, caniuse-lite@^1.0.30001570: + version "1.0.30001570" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz#b4e5c1fa786f733ab78fc70f592df6b3f23244ca" + integrity sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw== caniuse-lite@^1.0.30001565: version "1.0.30001570" From 92d77b3ccde8ce04e06fcae10342df40281f1311 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:17:23 +0000 Subject: [PATCH 12/51] Bump stylelint-scss from 5.3.2 to 6.0.0 Bumps [stylelint-scss](https://github.com/stylelint-scss/stylelint-scss) from 5.3.2 to 6.0.0. - [Release notes](https://github.com/stylelint-scss/stylelint-scss/releases) - [Changelog](https://github.com/stylelint-scss/stylelint-scss/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint-scss/stylelint-scss/compare/v5.3.2...v6.0.0) --- updated-dependencies: - dependency-name: stylelint-scss dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bc8a0593ee..fa5ffedcf3 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "stylelint-config-prettier": "^9.0.5", "stylelint-config-recommended-scss": "^6.0.0", "stylelint-prettier": "^2.0.0", - "stylelint-scss": "^5.3.2", + "stylelint-scss": "^6.0.0", "stylelint-webpack-plugin": "^4.1.1", "svg-url-loader": "^8.0.0", "ts-node": "^10.9.2", diff --git a/yarn.lock b/yarn.lock index d2819df2bf..870d34bd42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18179,10 +18179,10 @@ stylelint-scss@^4.0.0: postcss-selector-parser "^6.0.6" postcss-value-parser "^4.1.0" -stylelint-scss@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-5.3.2.tgz#c54564dfbd98de0c08742b9c43025cda91acf940" - integrity sha512-4LzLaayFhFyneJwLo0IUa8knuIvj+zF0vBFueQs4e3tEaAMIQX8q5th8ziKkgOavr6y/y9yoBe+RXN/edwLzsQ== +stylelint-scss@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-6.0.0.tgz#bf6be6798d71c898484b7e97007d5ed69a89308d" + integrity sha512-N1xV/Ef5PNRQQt9E45unzGvBUN1KZxCI8B4FgN/pMfmyRYbZGVN4y9qWlvOMdScU17c8VVCnjIHTVn38Bb6qSA== dependencies: known-css-properties "^0.29.0" postcss-media-query-parser "^0.2.3" From 51ed1bd3e9329ccc3a4a095886b442454f3d154b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:19:31 +0000 Subject: [PATCH 13/51] Bump @types/react from 18.2.41 to 18.2.45 Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.2.41 to 18.2.45. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) --- updated-dependencies: - dependency-name: "@types/react" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index fa5ffedcf3..9eebd01fe2 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "@testing-library/react-hooks": "^8.0.1", "@tsconfig/create-react-app": "^1.0.2", "@types/node": "^20.10.3", - "@types/react": "^18.2.41", + "@types/react": "^18.2.45", "@types/react-dom": "^18.2.17", "@types/react-redux": "^7.1.24", "@typescript-eslint/eslint-plugin": "^5.23.0", diff --git a/yarn.lock b/yarn.lock index 870d34bd42..3c7f8ab3ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4671,10 +4671,10 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^18.2.41": - version "18.2.41" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.41.tgz#9eea044246bdb10510df89ef7f8422a8b6ad8fb9" - integrity sha512-CwOGr/PiLiNBxEBqpJ7fO3kocP/2SSuC9fpH5K7tusrg4xPSRT/193rzolYwQnTN02We/ATXKnb6GqA5w4fRxw== +"@types/react@*", "@types/react@^18.2.45": + version "18.2.45" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.45.tgz#253f4fac288e7e751ab3dc542000fb687422c15c" + integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" From cc55c166814425190276c6598dab6aaa87a94019 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:18:07 +0000 Subject: [PATCH 14/51] Bump @typescript-eslint/parser from 6.13.2 to 6.14.0 Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.13.2 to 6.14.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.14.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 60 ++++++++++++++++++++++++++-------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 9eebd01fe2..37bfd46a4f 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@types/react-dom": "^18.2.17", "@types/react-redux": "^7.1.24", "@typescript-eslint/eslint-plugin": "^5.23.0", - "@typescript-eslint/parser": "^6.13.2", + "@typescript-eslint/parser": "^6.14.0", "@vitest/coverage-istanbul": "^1.0.4", "autoprefixer": "^10.4.16", "babel-loader": "^9.1.3", diff --git a/yarn.lock b/yarn.lock index 3c7f8ab3ce..30e02e801b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4818,15 +4818,15 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@^6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.13.2.tgz#390b79cc9a57a5f904d197a201cc4b6bc4f9afb9" - integrity sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg== - dependencies: - "@typescript-eslint/scope-manager" "6.13.2" - "@typescript-eslint/types" "6.13.2" - "@typescript-eslint/typescript-estree" "6.13.2" - "@typescript-eslint/visitor-keys" "6.13.2" +"@typescript-eslint/parser@^6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.14.0.tgz#a2d6a732e0d2b95c73f6a26ae7362877cc1b4212" + integrity sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA== + dependencies: + "@typescript-eslint/scope-manager" "6.14.0" + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/typescript-estree" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.23.0": @@ -4837,13 +4837,13 @@ "@typescript-eslint/types" "5.23.0" "@typescript-eslint/visitor-keys" "5.23.0" -"@typescript-eslint/scope-manager@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz#5fa4e4adace028dafac212c770640b94e7b61052" - integrity sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA== +"@typescript-eslint/scope-manager@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz#53d24363fdb5ee0d1d8cda4ed5e5321272ab3d48" + integrity sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg== dependencies: - "@typescript-eslint/types" "6.13.2" - "@typescript-eslint/visitor-keys" "6.13.2" + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" "@typescript-eslint/type-utils@5.23.0": version "5.23.0" @@ -4859,10 +4859,10 @@ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz" integrity sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw== -"@typescript-eslint/types@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.13.2.tgz#c044aac24c2f6cefb8e921e397acad5417dd0ae6" - integrity sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg== +"@typescript-eslint/types@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.14.0.tgz#935307f7a931016b7a5eb25d494ea3e1f613e929" + integrity sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA== "@typescript-eslint/typescript-estree@5.23.0": version "5.23.0" @@ -4877,13 +4877,13 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz#ae556ee154c1acf025b48d37c3ef95a1d55da258" - integrity sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w== +"@typescript-eslint/typescript-estree@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz#90c7ddd45cd22139adf3d4577580d04c9189ac13" + integrity sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw== dependencies: - "@typescript-eslint/types" "6.13.2" - "@typescript-eslint/visitor-keys" "6.13.2" + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -4910,12 +4910,12 @@ "@typescript-eslint/types" "5.23.0" eslint-visitor-keys "^3.0.0" -"@typescript-eslint/visitor-keys@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz#e0a4a80cf842bb08e6127b903284166ac4a5594c" - integrity sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw== +"@typescript-eslint/visitor-keys@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz#1d1d486581819287de824a56c22f32543561138e" + integrity sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw== dependencies: - "@typescript-eslint/types" "6.13.2" + "@typescript-eslint/types" "6.14.0" eslint-visitor-keys "^3.4.1" "@ungap/structured-clone@^1.2.0": From 0422e45a4b079986099d1927194f490b7b57d841 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 02:07:10 +0000 Subject: [PATCH 15/51] Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build.yml | 2 +- .github/workflows/tests.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 40941e58ef..63045be7fc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: VERSION_FILE_VERSION=$(git describe --tags --exclude=latest) \ yarn build:js:prod --json webpack-stats.json - name: Upload build - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: dist path: dist diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f6df7c7d8a..6035d6bf3d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -32,13 +32,13 @@ jobs: wait-on: "http://localhost:57021" browser: chrome - name: Upload screenshots - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: name: cypress-screenshots path: cypress/screenshots - name: Upload videos - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: always() with: name: cypress-videos From 4ac3e3cf44261be005ff86d3b1f254f51754fd6b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Dec 2023 02:38:45 +0000 Subject: [PATCH 16/51] Bump @cypress/code-coverage from 3.12.12 to 3.12.14 Bumps [@cypress/code-coverage](https://github.com/cypress-io/code-coverage) from 3.12.12 to 3.12.14. - [Release notes](https://github.com/cypress-io/code-coverage/releases) - [Changelog](https://github.com/cypress-io/code-coverage/blob/master/.releaserc) - [Commits](https://github.com/cypress-io/code-coverage/compare/v3.12.12...v3.12.14) --- updated-dependencies: - dependency-name: "@cypress/code-coverage" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 15 +++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 37bfd46a4f..cb1adc8492 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@babel/preset-typescript": "^7.23.3", "@csstools/postcss-sass": "^5.0.1", "@cypress/browserify-preprocessor": "^3.0.2", - "@cypress/code-coverage": "^3.12.12", + "@cypress/code-coverage": "^3.12.14", "@graphql-codegen/add": "^3.1.1", "@graphql-codegen/cli": "^2.6.2", "@graphql-codegen/introspection": "^2.1.1", diff --git a/yarn.lock b/yarn.lock index 30e02e801b..34c3f51405 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1421,10 +1421,10 @@ through2 "^2.0.0" watchify "^4.0.0" -"@cypress/code-coverage@^3.12.12": - version "3.12.12" - resolved "https://registry.yarnpkg.com/@cypress/code-coverage/-/code-coverage-3.12.12.tgz#c10806466a8fcd200f5636319ad681a8adca8482" - integrity sha512-V/fWyg6E1xdf/HHHUAg9cfGGU4hzsBgXYCm0ouXW2lOQHeo2/730R+CdXnbhPvDdl6GrndZtXW8K9FZhFNZJbQ== +"@cypress/code-coverage@^3.12.14": + version "3.12.14" + resolved "https://registry.yarnpkg.com/@cypress/code-coverage/-/code-coverage-3.12.14.tgz#6689e7edf773a7022802506d3b3d0fedfc0960f5" + integrity sha512-uTlt0cdfohRWkH/HaXHRnyc+uj/Jb2on9V6H6CB6hdQvUfsmvHgTbc+qoqdwVOXI/33ctnreZpLjVkbuH0gYvw== dependencies: "@cypress/webpack-preprocessor" "^6.0.0" chalk "4.1.2" @@ -1432,7 +1432,7 @@ debug "4.3.4" execa "4.1.0" globby "11.1.0" - istanbul-lib-coverage "3.0.0" + istanbul-lib-coverage "^3.0.0" js-yaml "4.1.0" nyc "15.1.0" @@ -12369,11 +12369,6 @@ isstream@~0.1.2: resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-lib-coverage@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.0-alpha.1, istanbul-lib-coverage@^3.2.0, istanbul-lib-coverage@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" From 9688ef4fe3054c7af6b292cd37cd0b0fd67790b5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Dec 2023 06:41:00 +0000 Subject: [PATCH 17/51] Bump eslint from 8.54.0 to 8.56.0 Bumps [eslint](https://github.com/eslint/eslint) from 8.54.0 to 8.56.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v8.54.0...v8.56.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 35 +++++++++++++++-------------------- 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index cb1adc8492..1c5ab8d3d6 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "cssnano": "^6.0.1", "cypress": "^9.6.1", "dotenv": "^16.3.1", - "eslint": "^8.54.0", + "eslint": "^8.56.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", "eslint-config-prettier": "^9.1.0", diff --git a/yarn.lock b/yarn.lock index 34c3f51405..c0741ef3d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1721,10 +1721,10 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== -"@eslint/eslintrc@^2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.3.tgz#797470a75fe0fbd5a53350ee715e85e87baff22d" - integrity sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA== +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1736,10 +1736,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.54.0": - version "8.54.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.54.0.tgz#4fab9a2ff7860082c304f750e94acd644cf984cf" - integrity sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ== +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== "@exodus/schemasafe@^1.0.0-rc.2": version "1.0.0-rc.6" @@ -6922,12 +6922,7 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541, caniuse-lite@^1.0.30001570: - version "1.0.30001570" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz#b4e5c1fa786f733ab78fc70f592df6b3f23244ca" - integrity sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw== - -caniuse-lite@^1.0.30001565: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541, caniuse-lite@^1.0.30001565, caniuse-lite@^1.0.30001570: version "1.0.30001570" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz#b4e5c1fa786f733ab78fc70f592df6b3f23244ca" integrity sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw== @@ -9492,15 +9487,15 @@ eslint-webpack-plugin@^4.0.1: normalize-path "^3.0.0" schema-utils "^4.0.0" -eslint@^8.54.0: - version "8.54.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.54.0.tgz#588e0dd4388af91a2e8fa37ea64924074c783537" - integrity sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA== +eslint@^8.56.0: + version "8.56.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.3" - "@eslint/js" "8.54.0" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.56.0" "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" From b7a7bb1ddefb2406608431b15ce093942f3edab9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Dec 2023 06:41:09 +0000 Subject: [PATCH 18/51] Bump @types/node from 20.10.3 to 20.10.5 Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.10.3 to 20.10.5. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1c5ab8d3d6..4ab04ce900 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "@testing-library/react": "^14.1.2", "@testing-library/react-hooks": "^8.0.1", "@tsconfig/create-react-app": "^1.0.2", - "@types/node": "^20.10.3", + "@types/node": "^20.10.5", "@types/react": "^18.2.45", "@types/react-dom": "^18.2.17", "@types/react-redux": "^7.1.24", diff --git a/yarn.lock b/yarn.lock index c0741ef3d4..b42f8006fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4583,10 +4583,10 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*", "@types/node@^20.10.3": - version "20.10.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.3.tgz#4900adcc7fc189d5af5bb41da8f543cea6962030" - integrity sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg== +"@types/node@*", "@types/node@^20.10.5": + version "20.10.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.5.tgz#47ad460b514096b7ed63a1dae26fad0914ed3ab2" + integrity sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw== dependencies: undici-types "~5.26.4" From 7aa7ac6ab0dceb099189749f41cc2942fcd530e5 Mon Sep 17 00:00:00 2001 From: Kasper Birch Date: Thu, 7 Dec 2023 15:29:37 +0100 Subject: [PATCH 19/51] Update `DescriptionList` with BEM Classes Reflecting Changes in: https://github.com/danskernesdigitalebibliotek/dpl-design-system/pull/365 --- src/components/description-list/description-list.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/description-list/description-list.tsx b/src/components/description-list/description-list.tsx index 5309663d42..99d1e82a79 100644 --- a/src/components/description-list/description-list.tsx +++ b/src/components/description-list/description-list.tsx @@ -16,9 +16,9 @@ const DescriptionList: React.FC = ({ {data.map((item) => { const { label, value } = item; return ( -
-
{label}
-
{value}
+
+
{label}
+
{value}
); })} From e841896a88eed928ae0cc7f325ecb4a0903fbd4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Garn=C3=A6s?= Date: Tue, 19 Dec 2023 09:09:56 +0100 Subject: [PATCH 20/51] Use release 2023.51.0 of design system --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4ab04ce900..bd512c4590 100644 --- a/package.json +++ b/package.json @@ -143,7 +143,7 @@ "prop-types": "Since we use former ddb-react components that depend on prop-types we keep this. Should be removed when usage of prop-types is deprecated." }, "dependencies": { - "@danskernesdigitalebibliotek/dpl-design-system": "0.0.0-751e1ca427e827b1412c0d292cca6df2f43d9453", + "@danskernesdigitalebibliotek/dpl-design-system": "2023.51.0-cd7e0937a067366392e60d85a9831b7d1cdf363e", "@reach/alert": "^0.17.0", "@reach/dialog": "^0.18.0", "@reduxjs/toolkit": "^1.9.7", diff --git a/yarn.lock b/yarn.lock index b42f8006fc..113338a7f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1477,10 +1477,10 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@danskernesdigitalebibliotek/dpl-design-system@0.0.0-751e1ca427e827b1412c0d292cca6df2f43d9453": - version "0.0.0-751e1ca427e827b1412c0d292cca6df2f43d9453" - resolved "https://npm.pkg.github.com/download/@danskernesdigitalebibliotek/dpl-design-system/0.0.0-751e1ca427e827b1412c0d292cca6df2f43d9453/153a01a50e9e03281ad26e676a3d59dfe982e79e#153a01a50e9e03281ad26e676a3d59dfe982e79e" - integrity sha512-E6Q1gtnNEzi09f9Gq7mveVmyGRaKQrOoz7dN+L2PJQPsKMVRCKEhb+agXoud7+PEy3b5ewx8ylbVf6cM1Xqmew== +"@danskernesdigitalebibliotek/dpl-design-system@2023.51.0-cd7e0937a067366392e60d85a9831b7d1cdf363e": + version "2023.51.0-cd7e0937a067366392e60d85a9831b7d1cdf363e" + resolved "https://npm.pkg.github.com/download/@danskernesdigitalebibliotek/dpl-design-system/2023.51.0-cd7e0937a067366392e60d85a9831b7d1cdf363e/eaa8bd13af004074cd2447655a4bb20fccd8dc2c#eaa8bd13af004074cd2447655a4bb20fccd8dc2c" + integrity sha512-Zimpf9G00kcS7QA27wuOtN4zmrRbs+4UAADXkAq0lFE+VhaQZ7EbcueVw2tZ47UXzQUgcPbF5a9X5P1Jk/kkZQ== "@discoveryjs/json-ext@^0.5.0", "@discoveryjs/json-ext@^0.5.3": version "0.5.7" From 371f5411f5db7ff854024464cf2c82608fba81a9 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Wed, 27 Dec 2023 11:38:12 +0100 Subject: [PATCH 21/51] Make feeLitsMaterialNumberText into translatable text with a placeholder --- src/apps/fee-list/FeeList.dev.tsx | 4 ++-- src/apps/fee-list/stackable-fees/fee-info.tsx | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/apps/fee-list/FeeList.dev.tsx b/src/apps/fee-list/FeeList.dev.tsx index ce64260a58..47d27f45b9 100644 --- a/src/apps/fee-list/FeeList.dev.tsx +++ b/src/apps/fee-list/FeeList.dev.tsx @@ -167,11 +167,11 @@ export default { }, feeListAlreadyPaidInfoText: { defaultValue: - "Already paid? It can take up to 72 hours register the transaction.", + "Already paid? It can take up to 72 hours to register the transaction.", control: { type: "text" } }, feeLitsMaterialNumberText: { - defaultValue: "#", + defaultValue: "# @materialNumber", control: { type: "text" } } }, diff --git a/src/apps/fee-list/stackable-fees/fee-info.tsx b/src/apps/fee-list/stackable-fees/fee-info.tsx index 3b0dca237c..704e826aaa 100644 --- a/src/apps/fee-list/stackable-fees/fee-info.tsx +++ b/src/apps/fee-list/stackable-fees/fee-info.tsx @@ -51,7 +51,9 @@ const FeeInfo: FC = ({

- {`${t("feeLitsMaterialNumberText")} ${materialItemNumber}`} + {t("feeLitsMaterialNumberText", { + placeholders: { "@materialNumber": materialItemNumber } + })}

{children}
From f6e51f5049a7098609e1d534dde57f9d8cf3d8c8 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Wed, 27 Dec 2023 11:39:01 +0100 Subject: [PATCH 22/51] Use getBySel instead of get("[data-cy='']") in fee list test 3.c.b. --- src/apps/fee-list/fee-list.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/fee-list/fee-list.test.ts b/src/apps/fee-list/fee-list.test.ts index b8efd5c35e..a28fd6ea67 100644 --- a/src/apps/fee-list/fee-list.test.ts +++ b/src/apps/fee-list/fee-list.test.ts @@ -157,7 +157,7 @@ describe("Fee list", () => { .should("have.text", "Dummy bog"); // 3.c.b title - cy.get("[data-cy='fee-list']") + cy.getBySel("fee-list") .find(".list-reservation") .eq(0) .should("exist") From a2e273b833ab976849baa6f38d663d9c15af3d19 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 2 Jan 2024 12:39:19 +0100 Subject: [PATCH 23/51] Correct spelling in feeLitsMaterialNumberText -> feeListMaterialNumberTe ..xt --- src/apps/fee-list/stackable-fees/fee-info.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/fee-list/stackable-fees/fee-info.tsx b/src/apps/fee-list/stackable-fees/fee-info.tsx index 704e826aaa..9025a76881 100644 --- a/src/apps/fee-list/stackable-fees/fee-info.tsx +++ b/src/apps/fee-list/stackable-fees/fee-info.tsx @@ -51,7 +51,7 @@ const FeeInfo: FC = ({

- {t("feeLitsMaterialNumberText", { + {t("feeListMaterialNumberText", { placeholders: { "@materialNumber": materialItemNumber } })}

From 26c4c8e80a830fa6aa698e1f0f4fd0a920de3342 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 2 Jan 2024 13:10:04 +0100 Subject: [PATCH 24/51] Correct definition of feeListMaterialNumberText in FeeList.dev.tsx --- src/apps/fee-list/FeeList.dev.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/apps/fee-list/FeeList.dev.tsx b/src/apps/fee-list/FeeList.dev.tsx index 84b6923a24..8fc53d751a 100644 --- a/src/apps/fee-list/FeeList.dev.tsx +++ b/src/apps/fee-list/FeeList.dev.tsx @@ -169,10 +169,8 @@ export default { control: { type: "text" } }, feeListMaterialNumberText: { - materialNumberText: { - defaultValue: "# @materialNumber", - control: { type: "text" } - } + defaultValue: "# @materialNumber", + control: { type: "text" } } }, decorators: [withQuery] From 97eb24ace7943d343b8917f0b934478700392ac1 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 2 Jan 2024 15:12:29 +0100 Subject: [PATCH 25/51] Change outdated materialNumberText to feeListMaterialNumberText In stackable fees list. --- src/apps/fee-list/stackable-fees/stackable-fees-list.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps/fee-list/stackable-fees/stackable-fees-list.tsx b/src/apps/fee-list/stackable-fees/stackable-fees-list.tsx index 4703447e6a..79be60fc18 100644 --- a/src/apps/fee-list/stackable-fees/stackable-fees-list.tsx +++ b/src/apps/fee-list/stackable-fees/stackable-fees-list.tsx @@ -30,14 +30,14 @@ const StackableFeeList: FC = ({ key={recordId} statusMessageComponentMobile={
- {t("materialNumberText", { + {t("feeListMaterialNumberText", { placeholders: { "@materialNumber": materialItemNumber } })}
} statusMessageComponentDesktop={
- {t("materialNumberText", { + {t("feeListMaterialNumberText", { placeholders: { "@materialNumber": materialItemNumber } })}
From d7fad5ba39f221f68b301a571bbccb2c4984695a Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Wed, 10 Jan 2024 14:14:17 +0100 Subject: [PATCH 26/51] Use Work.materialTypes.materialTypeSpecific field In queries. And update generated code. --- .../loan-list/materials/manifestation.graphql | 4 +- src/core/dbc-gateway/fragments.graphql | 4 +- .../dbc-gateway/generated/graphql.schema.json | 867 +++++++++++++++++- src/core/dbc-gateway/generated/graphql.tsx | 325 ++++++- 4 files changed, 1133 insertions(+), 67 deletions(-) diff --git a/src/apps/loan-list/materials/manifestation.graphql b/src/apps/loan-list/materials/manifestation.graphql index ec0319fbca..beeb0e876e 100644 --- a/src/apps/loan-list/materials/manifestation.graphql +++ b/src/apps/loan-list/materials/manifestation.graphql @@ -6,7 +6,9 @@ fragment ManifestationBasicDetails on Manifestation { } abstract materialTypes { - specific + materialTypeSpecific { + display + } } creators { display diff --git a/src/core/dbc-gateway/fragments.graphql b/src/core/dbc-gateway/fragments.graphql index b7d153dd6b..42dd919dfe 100644 --- a/src/core/dbc-gateway/fragments.graphql +++ b/src/core/dbc-gateway/fragments.graphql @@ -56,7 +56,9 @@ fragment ManifestationsSimpleFields on Manifestation { code } materialTypes { - specific + materialTypeSpecific { + display + } } creators { display diff --git a/src/core/dbc-gateway/generated/graphql.schema.json b/src/core/dbc-gateway/generated/graphql.schema.json index 0818f22cda..04489a9950 100644 --- a/src/core/dbc-gateway/generated/graphql.schema.json +++ b/src/core/dbc-gateway/generated/graphql.schema.json @@ -944,6 +944,26 @@ "defaultValue": null, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "sort", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Sort", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null } ], "type": { @@ -1226,6 +1246,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "ERROR_MISSING_MUNICIPALITYAGENCYID", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "ERROR_MUNICIPALITYAGENCYID_NOT_FOUND", "description": null, @@ -2024,6 +2050,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "age", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "canAlwaysBeLoaned", "description": null, @@ -2060,12 +2092,36 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "generalAudience", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "genreAndForm", "description": null, "isDeprecated": false, "deprecationReason": null }, + { + "name": "let", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "libraryRecommendation", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lix", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "mainLanguages", "description": null, @@ -4136,6 +4192,30 @@ "name": "Universe", "ofType": null }, + "isDeprecated": true, + "deprecationReason": "Use 'universes' instead" + }, + { + "name": "universes", + "description": "Universes for this manifestation", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Universe", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, @@ -4878,6 +4958,79 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "OBJECT", + "name": "Mood", + "description": null, + "fields": [ + { + "name": "display", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "language", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "Language", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "local", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubjectType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Subject", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "Mutation", @@ -4991,6 +5144,79 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "OBJECT", + "name": "NarrativeTechnique", + "description": null, + "fields": [ + { + "name": "display", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "language", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "Language", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "local", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubjectType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Subject", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "Note", @@ -6283,15 +6509,23 @@ "description": null, "args": [ { - "name": "pid", + "name": "pids", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, "defaultValue": null, @@ -6373,15 +6607,23 @@ "description": null, "args": [ { - "name": "pid", + "name": "pids", "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } } }, "defaultValue": null, @@ -7810,7 +8052,7 @@ "deprecationReason": null }, { - "name": "branchId", + "name": "age", "description": null, "type": { "kind": "LIST", @@ -7830,7 +8072,7 @@ "deprecationReason": null }, { - "name": "canAlwaysBeLoaned", + "name": "ageRange", "description": null, "type": { "kind": "LIST", @@ -7850,7 +8092,7 @@ "deprecationReason": null }, { - "name": "childrenOrAdults", + "name": "branchId", "description": null, "type": { "kind": "LIST", @@ -7870,7 +8112,7 @@ "deprecationReason": null }, { - "name": "creators", + "name": "canAlwaysBeLoaned", "description": null, "type": { "kind": "LIST", @@ -7890,7 +8132,7 @@ "deprecationReason": null }, { - "name": "department", + "name": "childrenOrAdults", "description": null, "type": { "kind": "LIST", @@ -7910,7 +8152,7 @@ "deprecationReason": null }, { - "name": "dk5", + "name": "creators", "description": null, "type": { "kind": "LIST", @@ -7930,7 +8172,47 @@ "deprecationReason": null }, { - "name": "fictionNonfiction", + "name": "department", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dk5", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fictionNonfiction", "description": null, "type": { "kind": "LIST", @@ -7969,6 +8251,26 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "generalAudience", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "genreAndForm", "description": null, @@ -7989,6 +8291,66 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "letRange", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "libraryRecommendation", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lixRange", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "location", "description": null, @@ -8556,10 +8918,59 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "mainLanguages", + "description": "MainLanguages of the series", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "members", "description": "Members of this serie. ", - "args": [], + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "offset", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], "type": { "kind": "NON_NULL", "name": null, @@ -8589,8 +9000,8 @@ "name": "NumberInSeries", "ofType": null }, - "isDeprecated": false, - "deprecationReason": null + "isDeprecated": true, + "deprecationReason": "field 'NumberInSeries.number' is removed and only String value of 'NumberInSeries.display' is returned" }, { "name": "parallelTitles", @@ -8629,20 +9040,156 @@ "deprecationReason": null }, { - "name": "readThisWhenever", - "description": "Information about whether this work in the series can be read without considering the order of the series, it can be read at any time", + "name": "readThisWhenever", + "description": "Information about whether this work in the series can be read without considering the order of the series, it can be read at any time", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the series", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workTypes", + "description": "WorkTypes for the series", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Setting", + "description": null, + "fields": [ + { + "name": "display", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "language", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "Language", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "local", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubjectType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Subject", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Shelfmark", + "description": null, + "fields": [ + { + "name": "postfix", + "description": "A postfix to the shelfmark, eg. 99.4 Christensen, Inger. f. 1935", "args": [], "type": { "kind": "SCALAR", - "name": "Boolean", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "title", - "description": "The title of the series", + "name": "shelfmark", + "description": "The actual shelfmark - e.g. information about on which shelf in the library this manifestation can be found, e.g. 99.4", "args": [], "type": { "kind": "NON_NULL", @@ -8663,44 +9210,83 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "Shelfmark", + "kind": "INPUT_OBJECT", + "name": "Sort", "description": null, - "fields": [ + "fields": null, + "inputFields": [ { - "name": "postfix", - "description": "A postfix to the shelfmark, eg. 99.4 Christensen, Inger. f. 1935", - "args": [], + "name": "index", + "description": null, "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null }, { - "name": "shelfmark", - "description": "The actual shelfmark - e.g. information about on which shelf in the library this manifestation can be found, e.g. 99.4", - "args": [], + "name": "order", + "description": null, "type": { "kind": "NON_NULL", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "SortOrder", "ofType": null } }, + "defaultValue": null, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], + "interfaces": null, "enumValues": null, "possibleTypes": null }, + { + "kind": "ENUM", + "name": "SortOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asc", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "desc", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, { "kind": "OBJECT", "name": "SpecificMaterialType", @@ -8825,11 +9411,26 @@ "name": "Corporation", "ofType": null }, + { + "kind": "OBJECT", + "name": "Mood", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NarrativeTechnique", + "ofType": null + }, { "kind": "OBJECT", "name": "Person", "ofType": null }, + { + "kind": "OBJECT", + "name": "Setting", + "ofType": null + }, { "kind": "OBJECT", "name": "SubjectText", @@ -8988,6 +9589,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "ENVIRONMENT", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "FICTIONAL_CHARACTER", "description": null, @@ -9024,6 +9631,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "MOOD", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "MUSICAL_INSTRUMENTATION", "description": null, @@ -9054,6 +9667,30 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "PERSPECTIVE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REALITY", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STYLE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEMPO", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "TIME_PERIOD", "description": null, @@ -9405,6 +10042,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "ERROR_MISSING_PINCODE", + "description": "Pincode was not found in arguments", + "isDeprecated": false, + "deprecationReason": null + }, { "name": "INVALID_ORDER", "description": "Order does not validate", @@ -9540,6 +10183,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "pincode", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "userAddress", "description": null, @@ -10104,6 +10759,67 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "description", + "description": "Description of the universe", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "series", + "description": "All series within the universe", + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "offset", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Series", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "title", "description": "Literary/movie universe this work is part of e.g. Wizarding World, Marvel Cinematic Universe", @@ -10119,6 +10835,55 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "works", + "description": "All works within the universe but not in any series", + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "offset", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Work", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -10392,6 +11157,30 @@ "name": "Universe", "ofType": null }, + "isDeprecated": true, + "deprecationReason": "Use 'universes' instead" + }, + { + "name": "universes", + "description": "Literary/movie universes this work is part of, e.g. Wizarding World, Marvel Universe", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Universe", + "ofType": null + } + } + } + }, "isDeprecated": false, "deprecationReason": null }, diff --git a/src/core/dbc-gateway/generated/graphql.tsx b/src/core/dbc-gateway/generated/graphql.tsx index 266bfaa19a..04529cc1c3 100644 --- a/src/core/dbc-gateway/generated/graphql.tsx +++ b/src/core/dbc-gateway/generated/graphql.tsx @@ -172,6 +172,7 @@ export type ComplexSearchResponse = { export type ComplexSearchResponseWorksArgs = { limit: Scalars["PaginationLimit"]; offset: Scalars["Int"]; + sort?: InputMaybe>; }; export type CopyRequestInput = { @@ -204,6 +205,7 @@ export enum CopyRequestStatus { ErrorAgencyNotSubscribed = "ERROR_AGENCY_NOT_SUBSCRIBED", ErrorInvalidPickupBranch = "ERROR_INVALID_PICKUP_BRANCH", ErrorMissingClientConfiguration = "ERROR_MISSING_CLIENT_CONFIGURATION", + ErrorMissingMunicipalityagencyid = "ERROR_MISSING_MUNICIPALITYAGENCYID", ErrorMunicipalityagencyidNotFound = "ERROR_MUNICIPALITYAGENCYID_NOT_FOUND", ErrorPidNotReservable = "ERROR_PID_NOT_RESERVABLE", ErrorUnauthenticatedUser = "ERROR_UNAUTHENTICATED_USER", @@ -327,13 +329,18 @@ export type Ereol = { /** The supported facet fields */ export enum FacetField { AccessTypes = "accessTypes", + Age = "age", CanAlwaysBeLoaned = "canAlwaysBeLoaned", ChildrenOrAdults = "childrenOrAdults", Creators = "creators", Dk5 = "dk5", FictionNonfiction = "fictionNonfiction", FictionalCharacters = "fictionalCharacters", + GeneralAudience = "generalAudience", GenreAndForm = "genreAndForm", + Let = "let", + LibraryRecommendation = "libraryRecommendation", + Lix = "lix", MainLanguages = "mainLanguages", MaterialTypesGeneral = "materialTypesGeneral", MaterialTypesSpecific = "materialTypesSpecific", @@ -640,8 +647,13 @@ export type Manifestation = { tableOfContents?: Maybe; /** Different kinds of titles for this work */ titles: ManifestationTitles; - /** Universe for this manifestation */ + /** + * Universe for this manifestation + * @deprecated Use 'universes' instead + */ universe?: Maybe; + /** Universes for this manifestation */ + universes: Array; /** Information about on which volume this manifestation is in multi volume work */ volume?: Maybe; /** Worktypes for this manifestations work */ @@ -746,6 +758,14 @@ export type MaterialType = { specific: Scalars["String"]; }; +export type Mood = Subject & { + __typename?: "Mood"; + display: Scalars["String"]; + language?: Maybe; + local?: Maybe; + type: SubjectType; +}; + export type Mutation = { __typename?: "Mutation"; elba: ElbaServices; @@ -764,6 +784,14 @@ export type MutationSubmitPeriodicaArticleOrderArgs = { input: PeriodicaArticleOrder; }; +export type NarrativeTechnique = Subject & { + __typename?: "NarrativeTechnique"; + display: Scalars["String"]; + language?: Maybe; + local?: Maybe; + type: SubjectType; +}; + export type Note = { __typename?: "Note"; /** The actual notes */ @@ -960,7 +988,7 @@ export type QueryRecommendArgs = { }; export type QueryRefWorksArgs = { - pid: Scalars["String"]; + pids: Array; }; export type QueryRelatedSubjectsArgs = { @@ -969,7 +997,7 @@ export type QueryRelatedSubjectsArgs = { }; export type QueryRisArgs = { - pid: Scalars["String"]; + pids: Array; }; export type QuerySearchArgs = { @@ -1138,6 +1166,8 @@ export enum SchoolUseCode { /** Search Filters */ export type SearchFilters = { accessTypes?: InputMaybe>; + age?: InputMaybe>; + ageRange?: InputMaybe>; branchId?: InputMaybe>; canAlwaysBeLoaned?: InputMaybe>; childrenOrAdults?: InputMaybe>; @@ -1146,7 +1176,11 @@ export type SearchFilters = { dk5?: InputMaybe>; fictionNonfiction?: InputMaybe>; fictionalCharacters?: InputMaybe>; + generalAudience?: InputMaybe>; genreAndForm?: InputMaybe>; + letRange?: InputMaybe>; + libraryRecommendation?: InputMaybe>; + lixRange?: InputMaybe>; location?: InputMaybe>; mainLanguages?: InputMaybe>; materialTypesGeneral?: InputMaybe>; @@ -1232,9 +1266,14 @@ export type Series = { description?: Maybe; /** Whether this is a popular series or general series */ isPopular?: Maybe; + /** MainLanguages of the series */ + mainLanguages: Array; /** Members of this serie. */ members: Array; - /** The number in the series as text qoutation and a number */ + /** + * The number in the series as text qoutation and a number + * @deprecated field 'NumberInSeries.number' is removed and only String value of 'NumberInSeries.display' is returned + */ numberInSeries?: Maybe; /** A parallel title to the main 'title' of the series, in a different language */ parallelTitles: Array; @@ -1244,6 +1283,21 @@ export type Series = { readThisWhenever?: Maybe; /** The title of the series */ title: Scalars["String"]; + /** WorkTypes for the series */ + workTypes: Array; +}; + +export type SeriesMembersArgs = { + limit?: InputMaybe; + offset?: InputMaybe; +}; + +export type Setting = Subject & { + __typename?: "Setting"; + display: Scalars["String"]; + language?: Maybe; + local?: Maybe; + type: SubjectType; }; export type Shelfmark = { @@ -1254,6 +1308,16 @@ export type Shelfmark = { shelfmark: Scalars["String"]; }; +export type Sort = { + index: Scalars["String"]; + order: SortOrder; +}; + +export enum SortOrder { + Asc = "asc", + Desc = "desc" +} + export type SpecificMaterialType = { __typename?: "SpecificMaterialType"; /** code for materialType */ @@ -1289,18 +1353,24 @@ export type SubjectText = Subject & { export enum SubjectType { Corporation = "CORPORATION", + Environment = "ENVIRONMENT", FictionalCharacter = "FICTIONAL_CHARACTER", FilmNationality = "FILM_NATIONALITY", Laesekompasset = "LAESEKOMPASSET", LibraryOfCongressSubjectHeading = "LIBRARY_OF_CONGRESS_SUBJECT_HEADING", Location = "LOCATION", MedicalSubjectHeading = "MEDICAL_SUBJECT_HEADING", + Mood = "MOOD", MusicalInstrumentation = "MUSICAL_INSTRUMENTATION", MusicCountryOfOrigin = "MUSIC_COUNTRY_OF_ORIGIN", MusicTimePeriod = "MUSIC_TIME_PERIOD", NationalAgriculturalLibrary = "NATIONAL_AGRICULTURAL_LIBRARY", /** added for manifestation.parts.creators/person - they get a type from small-rye */ Person = "PERSON", + Perspective = "PERSPECTIVE", + Reality = "REALITY", + Style = "STYLE", + Tempo = "TEMPO", TimePeriod = "TIME_PERIOD", Title = "TITLE", Topic = "TOPIC" @@ -1344,6 +1414,8 @@ export enum SubmitOrderStatus { BorchkUserNotVerified = "BORCHK_USER_NOT_VERIFIED", /** Borchk: User is no longer loaner at the provided pickupbranch */ BorchkUserNoLongerExistOnAgency = "BORCHK_USER_NO_LONGER_EXIST_ON_AGENCY", + /** Pincode was not found in arguments */ + ErrorMissingPincode = "ERROR_MISSING_PINCODE", /** Order does not validate */ InvalidOrder = "INVALID_ORDER", /** Item not available at pickupAgency, item localised for ILL */ @@ -1377,6 +1449,7 @@ export type SubmitOrderUserParameters = { cardno?: InputMaybe; cpr?: InputMaybe; customId?: InputMaybe; + pincode?: InputMaybe; userAddress?: InputMaybe; userDateOfBirth?: InputMaybe; userId?: InputMaybe; @@ -1459,8 +1532,24 @@ export type Universe = { __typename?: "Universe"; /** A alternative title to the main 'title' of the universe */ alternativeTitles: Array; + /** Description of the universe */ + description?: Maybe; + /** All series within the universe */ + series: Array; /** Literary/movie universe this work is part of e.g. Wizarding World, Marvel Cinematic Universe */ title: Scalars["String"]; + /** All works within the universe but not in any series */ + works: Array; +}; + +export type UniverseSeriesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; +}; + +export type UniverseWorksArgs = { + limit?: InputMaybe; + offset?: InputMaybe; }; export type Work = { @@ -1493,8 +1582,13 @@ export type Work = { /** Subjects for this work */ subjects: SubjectContainer; titles: WorkTitles; - /** Literary/movie universe this work is part of, e.g. Wizarding World, Marvel Universe */ + /** + * Literary/movie universe this work is part of, e.g. Wizarding World, Marvel Universe + * @deprecated Use 'universes' instead + */ universe?: Maybe; + /** Literary/movie universes this work is part of, e.g. Wizarding World, Marvel Universe */ + universes: Array; /** Unique identification of the work based on work-presentation id e.g work-of:870970-basis:54029519 */ workId: Scalars["String"]; /** Worktypes for this work - 'none' replaced by 'other' */ @@ -1608,7 +1702,14 @@ export type GetSmallWorkQuery = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -1697,7 +1798,14 @@ export type GetSmallWorkQuery = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -1786,7 +1894,14 @@ export type GetSmallWorkQuery = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -1868,7 +1983,13 @@ export type ManifestationBasicDetailsFragment = { pid: string; abstract: Array; titles: { __typename?: "ManifestationTitles"; full: Array }; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename?: "Corporation"; display: string } | { __typename?: "Person"; display: string } @@ -1909,7 +2030,13 @@ export type GetManifestationViaMaterialByFaustQuery = { pid: string; abstract: Array; titles: { __typename?: "ManifestationTitles"; full: Array }; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename?: "Corporation"; display: string } | { __typename?: "Person"; display: string } @@ -1959,7 +2086,10 @@ export type GetManifestationViaBestRepresentationByFaustQuery = { titles: { __typename?: "ManifestationTitles"; full: Array }; materialTypes: Array<{ __typename?: "MaterialType"; - specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename?: "Corporation"; display: string } @@ -2015,13 +2145,19 @@ export type GetMaterialQuery = { __typename?: "SubjectContainer"; all: Array< | { __typename?: "Corporation"; display: string } + | { __typename?: "Mood"; display: string } + | { __typename?: "NarrativeTechnique"; display: string } | { __typename?: "Person"; display: string } + | { __typename?: "Setting"; display: string } | { __typename?: "SubjectText"; display: string } | { __typename?: "TimePeriod"; display: string } >; dbcVerified: Array< | { __typename?: "Corporation"; display: string } + | { __typename?: "Mood"; display: string } + | { __typename?: "NarrativeTechnique"; display: string } | { __typename?: "Person"; display: string } + | { __typename?: "Setting"; display: string } | { __typename?: "SubjectText"; display: string } | { __typename?: "TimePeriod"; display: string } >; @@ -2095,7 +2231,14 @@ export type GetMaterialQuery = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -2184,7 +2327,14 @@ export type GetMaterialQuery = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -2273,7 +2423,14 @@ export type GetMaterialQuery = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -2512,6 +2669,10 @@ export type RecommendFromFaustQuery = { materialTypes: Array<{ __typename?: "MaterialType"; specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename: "Corporation"; display: string } @@ -2607,6 +2768,10 @@ export type RecommendFromFaustQuery = { materialTypes: Array<{ __typename?: "MaterialType"; specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename: "Corporation"; display: string } @@ -2702,6 +2867,10 @@ export type RecommendFromFaustQuery = { materialTypes: Array<{ __typename?: "MaterialType"; specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename: "Corporation"; display: string } @@ -2857,6 +3026,10 @@ export type SearchWithPaginationQuery = { materialTypes: Array<{ __typename?: "MaterialType"; specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename: "Corporation"; display: string } @@ -2952,6 +3125,10 @@ export type SearchWithPaginationQuery = { materialTypes: Array<{ __typename?: "MaterialType"; specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename: "Corporation"; display: string } @@ -3047,6 +3224,10 @@ export type SearchWithPaginationQuery = { materialTypes: Array<{ __typename?: "MaterialType"; specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename: "Corporation"; display: string } @@ -3249,6 +3430,10 @@ export type ComplexSearchWithPaginationQuery = { materialTypes: Array<{ __typename?: "MaterialType"; specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename: "Corporation"; display: string } @@ -3344,6 +3529,10 @@ export type ComplexSearchWithPaginationQuery = { materialTypes: Array<{ __typename?: "MaterialType"; specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename: "Corporation"; display: string } @@ -3439,6 +3628,10 @@ export type ComplexSearchWithPaginationQuery = { materialTypes: Array<{ __typename?: "MaterialType"; specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; }>; creators: Array< | { __typename: "Corporation"; display: string } @@ -3641,7 +3834,14 @@ export type ManifestationsSimpleFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -3727,7 +3927,14 @@ export type ManifestationsSimpleFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -3813,7 +4020,14 @@ export type ManifestationsSimpleFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -3931,7 +4145,14 @@ export type ManifestationsSimpleFieldsFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -4150,7 +4371,14 @@ export type WorkSmallFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -4239,7 +4467,14 @@ export type WorkSmallFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -4328,7 +4563,14 @@ export type WorkSmallFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -4419,13 +4661,19 @@ export type WorkMediumFragment = { __typename?: "SubjectContainer"; all: Array< | { __typename?: "Corporation"; display: string } + | { __typename?: "Mood"; display: string } + | { __typename?: "NarrativeTechnique"; display: string } | { __typename?: "Person"; display: string } + | { __typename?: "Setting"; display: string } | { __typename?: "SubjectText"; display: string } | { __typename?: "TimePeriod"; display: string } >; dbcVerified: Array< | { __typename?: "Corporation"; display: string } + | { __typename?: "Mood"; display: string } + | { __typename?: "NarrativeTechnique"; display: string } | { __typename?: "Person"; display: string } + | { __typename?: "Setting"; display: string } | { __typename?: "SubjectText"; display: string } | { __typename?: "TimePeriod"; display: string } >; @@ -4499,7 +4747,14 @@ export type WorkMediumFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -4588,7 +4843,14 @@ export type WorkMediumFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -4677,7 +4939,14 @@ export type WorkMediumFragment = { display: string; code: FictionNonfictionCode; } | null; - materialTypes: Array<{ __typename?: "MaterialType"; specific: string }>; + materialTypes: Array<{ + __typename?: "MaterialType"; + specific: string; + materialTypeSpecific: { + __typename?: "SpecificMaterialType"; + display: string; + }; + }>; creators: Array< | { __typename: "Corporation"; display: string } | { __typename: "Person"; display: string } @@ -4784,7 +5053,9 @@ export const ManifestationBasicDetailsFragmentDoc = ` } abstract materialTypes { - specific + materialTypeSpecific { + display + } } creators { display @@ -4926,7 +5197,9 @@ export const ManifestationsSimpleFieldsFragmentDoc = ` code } materialTypes { - specific + materialTypeSpecific { + display + } } creators { display From e73562b3190db110e0e9705bb959644a2e9fa728 Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Thu, 11 Jan 2024 14:27:52 +0100 Subject: [PATCH 27/51] Improve types on fbi fetch helper functions --- src/core/dbc-gateway/helper.ts | 13 +++++++++---- .../utils/reduxMiddleware/extractServiceBaseUrls.ts | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/core/dbc-gateway/helper.ts b/src/core/dbc-gateway/helper.ts index 1abb846ad8..17a0cee4d9 100644 --- a/src/core/dbc-gateway/helper.ts +++ b/src/core/dbc-gateway/helper.ts @@ -10,11 +10,16 @@ const map = { default: serviceUrlKeys.fbi } as const; -const resolveBaseUrl = (query: string | null) => { +type Baseurl = typeof map[keyof typeof map]; + +export const resolveBaseUrl = (query?: string) => { if (!query) { - return getServiceBaseUrl(map.default); + return getServiceBaseUrl(map.default) as Baseurl; } - return getServiceBaseUrl(map[query as keyof typeof map] || map.default); + + return getServiceBaseUrl( + map[query as keyof typeof map] || map.default + ) as Baseurl; }; export const getQueryUrlFromContext = ( @@ -22,7 +27,7 @@ export const getQueryUrlFromContext = ( ) => { // Get the default base url if no context. if (!context) { - return resolveBaseUrl(null); + return resolveBaseUrl(); } const { queryKey } = context; diff --git a/src/core/utils/reduxMiddleware/extractServiceBaseUrls.ts b/src/core/utils/reduxMiddleware/extractServiceBaseUrls.ts index 2969c5c83b..16845afcd3 100644 --- a/src/core/utils/reduxMiddleware/extractServiceBaseUrls.ts +++ b/src/core/utils/reduxMiddleware/extractServiceBaseUrls.ts @@ -19,7 +19,7 @@ export type ServiceBaseUrls = type ServiceBaseUrlKey = keyof ServiceBaseUrls; -export const serviceUrlKeys: Record = { +export const serviceUrlKeys = { fbs: "fbsBaseUrl", publizon: "publizonBaseUrl", dplCms: "dplCmsBaseUrl", From 6d224e879026edafd71688c79e630e0ccd08e24a Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Thu, 11 Jan 2024 14:28:36 +0100 Subject: [PATCH 28/51] Add tests for resolving fbi fetcher base urls --- src/core/dbc-gateway/helper.ts | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/core/dbc-gateway/helper.ts b/src/core/dbc-gateway/helper.ts index 17a0cee4d9..3846c92720 100644 --- a/src/core/dbc-gateway/helper.ts +++ b/src/core/dbc-gateway/helper.ts @@ -1,4 +1,5 @@ import { QueryFunctionContext } from "react-query"; +import { beforeAll, vi } from "vitest"; import { getServiceBaseUrl, serviceUrlKeys @@ -36,3 +37,47 @@ export const getQueryUrlFromContext = ( }; export default {}; + +/* ********************************* Vitest Section ********************************* */ +if (import.meta.vitest) { + const { describe, expect, it } = import.meta.vitest; + + describe("DBC Gateway Requests", () => { + beforeAll(() => { + vi.mock("../utils/reduxMiddleware/extractServiceBaseUrls", () => { + const urls = { + fbiBaseUrl: "i-am-fbi-url", + fbiSearchBaseUrl: "i-am-fbi-search-url", + fbiMaterialBaseUrl: "i-am-fbi-material-url" + } as const; + + return { + getServiceBaseUrl: (apiBaseUrlKey: keyof typeof urls) => { + return urls[apiBaseUrlKey] ?? urls.fbiBaseUrl; + }, + serviceUrlKeys: { + fbi: "fbiBaseUrl", + fbiSearch: "fbiSearchBaseUrl", + fbiMaterial: "fbiMaterialBaseUrl" + } + }; + }); + }); + + it("should resolve baseurl based on query name", () => { + expect(resolveBaseUrl("searchWithPagination")).toEqual( + "i-am-fbi-search-url" + ); + expect(resolveBaseUrl("getMaterial")).toEqual("i-am-fbi-material-url"); + }); + + it("should resolve default to the fbi base url if the query is unknown", () => { + expect(resolveBaseUrl("someUnknownQuery")).toEqual("i-am-fbi-url"); + expect(resolveBaseUrl()).toEqual("i-am-fbi-url"); + }); + + it("should resolve default to the fbi base url if no query has been specified", () => { + expect(resolveBaseUrl()).toEqual("i-am-fbi-url"); + }); + }); +} From 73b2ccb5d2ec5ba09236156b98a1aed79d11b2eb Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Thu, 11 Jan 2024 14:39:38 +0100 Subject: [PATCH 29/51] Add all queries/mutations to fbi mapping And adjust tests accordingly --- src/core/dbc-gateway/helper.ts | 44 +++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/src/core/dbc-gateway/helper.ts b/src/core/dbc-gateway/helper.ts index 3846c92720..4f3054bcfc 100644 --- a/src/core/dbc-gateway/helper.ts +++ b/src/core/dbc-gateway/helper.ts @@ -6,8 +6,23 @@ import { } from "../utils/reduxMiddleware/extractServiceBaseUrls"; const map = { + // Search requests. + complexSearchWithPagination: serviceUrlKeys.fbiSearch, + complexSearchWithPaginationWorkAccess: serviceUrlKeys.fbiSearch, + intelligentFacets: serviceUrlKeys.fbiSearch, + recommendFromFaust: serviceUrlKeys.fbiSearch, + searchFacet: serviceUrlKeys.fbiSearch, searchWithPagination: serviceUrlKeys.fbiSearch, + suggestionsFromQueryString: serviceUrlKeys.fbiSearch, + // Material requests. + getInfomedia: serviceUrlKeys.fbiMaterial, + getManifestationViaBestRepresentationByFaust: serviceUrlKeys.fbiMaterial, + getManifestationViaMaterialByFaust: serviceUrlKeys.fbiMaterial, getMaterial: serviceUrlKeys.fbiMaterial, + getReviewManifestations: serviceUrlKeys.fbiMaterial, + getSmallWork: serviceUrlKeys.fbiMaterial, + openOrder: serviceUrlKeys.fbiMaterial, + // All other requests. default: serviceUrlKeys.fbi } as const; @@ -65,15 +80,42 @@ if (import.meta.vitest) { }); it("should resolve baseurl based on query name", () => { + expect(resolveBaseUrl("complexSearchWithPagination")).toEqual( + "i-am-fbi-search-url" + ); + expect(resolveBaseUrl("complexSearchWithPaginationWorkAccess")).toEqual( + "i-am-fbi-search-url" + ); + expect(resolveBaseUrl("intelligentFacets")).toEqual( + "i-am-fbi-search-url" + ); + expect(resolveBaseUrl("recommendFromFaust")).toEqual( + "i-am-fbi-search-url" + ); + expect(resolveBaseUrl("searchFacet")).toEqual("i-am-fbi-search-url"); expect(resolveBaseUrl("searchWithPagination")).toEqual( "i-am-fbi-search-url" ); + expect(resolveBaseUrl("suggestionsFromQueryString")).toEqual( + "i-am-fbi-search-url" + ); + expect(resolveBaseUrl("getInfomedia")).toEqual("i-am-fbi-material-url"); + expect( + resolveBaseUrl("getManifestationViaBestRepresentationByFaust") + ).toEqual("i-am-fbi-material-url"); + expect(resolveBaseUrl("getManifestationViaMaterialByFaust")).toEqual( + "i-am-fbi-material-url" + ); expect(resolveBaseUrl("getMaterial")).toEqual("i-am-fbi-material-url"); + expect(resolveBaseUrl("getReviewManifestations")).toEqual( + "i-am-fbi-material-url" + ); + expect(resolveBaseUrl("getSmallWork")).toEqual("i-am-fbi-material-url"); + expect(resolveBaseUrl("openOrder")).toEqual("i-am-fbi-material-url"); }); it("should resolve default to the fbi base url if the query is unknown", () => { expect(resolveBaseUrl("someUnknownQuery")).toEqual("i-am-fbi-url"); - expect(resolveBaseUrl()).toEqual("i-am-fbi-url"); }); it("should resolve default to the fbi base url if no query has been specified", () => { From 0cb777a93431163b9880c0a02b5129bd2f084b76 Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Fri, 12 Jan 2024 12:53:47 +0100 Subject: [PATCH 30/51] Move query map to separate file To make it clear what is happing and hopefully make it easier to understand the mapping for future self/others. --- src/core/dbc-gateway/helper.ts | 33 +++++--------------------------- src/core/dbc-gateway/queryMap.ts | 23 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 28 deletions(-) create mode 100644 src/core/dbc-gateway/queryMap.ts diff --git a/src/core/dbc-gateway/helper.ts b/src/core/dbc-gateway/helper.ts index 4f3054bcfc..a74fd2525a 100644 --- a/src/core/dbc-gateway/helper.ts +++ b/src/core/dbc-gateway/helper.ts @@ -1,40 +1,17 @@ import { QueryFunctionContext } from "react-query"; import { beforeAll, vi } from "vitest"; -import { - getServiceBaseUrl, - serviceUrlKeys -} from "../utils/reduxMiddleware/extractServiceBaseUrls"; +import { getServiceBaseUrl } from "../utils/reduxMiddleware/extractServiceBaseUrls"; +import queryMap from "./queryMap"; -const map = { - // Search requests. - complexSearchWithPagination: serviceUrlKeys.fbiSearch, - complexSearchWithPaginationWorkAccess: serviceUrlKeys.fbiSearch, - intelligentFacets: serviceUrlKeys.fbiSearch, - recommendFromFaust: serviceUrlKeys.fbiSearch, - searchFacet: serviceUrlKeys.fbiSearch, - searchWithPagination: serviceUrlKeys.fbiSearch, - suggestionsFromQueryString: serviceUrlKeys.fbiSearch, - // Material requests. - getInfomedia: serviceUrlKeys.fbiMaterial, - getManifestationViaBestRepresentationByFaust: serviceUrlKeys.fbiMaterial, - getManifestationViaMaterialByFaust: serviceUrlKeys.fbiMaterial, - getMaterial: serviceUrlKeys.fbiMaterial, - getReviewManifestations: serviceUrlKeys.fbiMaterial, - getSmallWork: serviceUrlKeys.fbiMaterial, - openOrder: serviceUrlKeys.fbiMaterial, - // All other requests. - default: serviceUrlKeys.fbi -} as const; - -type Baseurl = typeof map[keyof typeof map]; +type Baseurl = typeof queryMap[keyof typeof queryMap]; export const resolveBaseUrl = (query?: string) => { if (!query) { - return getServiceBaseUrl(map.default) as Baseurl; + return getServiceBaseUrl(queryMap.default) as Baseurl; } return getServiceBaseUrl( - map[query as keyof typeof map] || map.default + queryMap[query as keyof typeof queryMap] || queryMap.default ) as Baseurl; }; diff --git a/src/core/dbc-gateway/queryMap.ts b/src/core/dbc-gateway/queryMap.ts new file mode 100644 index 0000000000..a2a7a20557 --- /dev/null +++ b/src/core/dbc-gateway/queryMap.ts @@ -0,0 +1,23 @@ +import { serviceUrlKeys } from "../utils/reduxMiddleware/extractServiceBaseUrls"; + +// This map is for mapping query names to FBI service base urls. +export default { + // Search requests. + complexSearchWithPagination: serviceUrlKeys.fbiSearch, + complexSearchWithPaginationWorkAccess: serviceUrlKeys.fbiSearch, + intelligentFacets: serviceUrlKeys.fbiSearch, + recommendFromFaust: serviceUrlKeys.fbiSearch, + searchFacet: serviceUrlKeys.fbiSearch, + searchWithPagination: serviceUrlKeys.fbiSearch, + suggestionsFromQueryString: serviceUrlKeys.fbiSearch, + // Material requests. + getInfomedia: serviceUrlKeys.fbiMaterial, + getManifestationViaBestRepresentationByFaust: serviceUrlKeys.fbiMaterial, + getManifestationViaMaterialByFaust: serviceUrlKeys.fbiMaterial, + getMaterial: serviceUrlKeys.fbiMaterial, + getReviewManifestations: serviceUrlKeys.fbiMaterial, + getSmallWork: serviceUrlKeys.fbiMaterial, + openOrder: serviceUrlKeys.fbiMaterial, + // All other requests. + default: serviceUrlKeys.fbi +} as const; From 8bd9ddd3c3b4627678318cf9b3cad01de4184ff0 Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Fri, 12 Jan 2024 13:02:35 +0100 Subject: [PATCH 31/51] Partial mock in the DBC Gateway Request tests Discovered it was possible, and don't want to mock `serviceUrlKeys`unless I have to... --- src/core/dbc-gateway/helper.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/dbc-gateway/helper.ts b/src/core/dbc-gateway/helper.ts index a74fd2525a..f7ee174d9c 100644 --- a/src/core/dbc-gateway/helper.ts +++ b/src/core/dbc-gateway/helper.ts @@ -36,21 +36,21 @@ if (import.meta.vitest) { describe("DBC Gateway Requests", () => { beforeAll(() => { - vi.mock("../utils/reduxMiddleware/extractServiceBaseUrls", () => { + vi.mock("../utils/reduxMiddleware/extractServiceBaseUrls", async () => { const urls = { fbiBaseUrl: "i-am-fbi-url", fbiSearchBaseUrl: "i-am-fbi-search-url", fbiMaterialBaseUrl: "i-am-fbi-material-url" } as const; + const actual = await vi.importActual( + "../utils/reduxMiddleware/extractServiceBaseUrls" + ); + return { + ...(typeof actual === "object" ? actual : {}), getServiceBaseUrl: (apiBaseUrlKey: keyof typeof urls) => { return urls[apiBaseUrlKey] ?? urls.fbiBaseUrl; - }, - serviceUrlKeys: { - fbi: "fbiBaseUrl", - fbiSearch: "fbiSearchBaseUrl", - fbiMaterial: "fbiMaterialBaseUrl" } }; }); From df82877d3874b7b6263408a08de3c43ad1a05cb4 Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Wed, 10 Jan 2024 14:40:24 +0100 Subject: [PATCH 32/51] Change materialTypes.specific references Since the FBI API has changed and materialTypes.specific is being considered to be deprecated, we change all references to point at: materialTypes.materialTypeSpecific.display --- .../material/__snapshots__/helper.ts.snap | 25 +++++++++++++++---- src/apps/material/__vitest_data__/helper.ts | 25 +++++++++++++++---- src/apps/material/helper.ts | 7 +++--- src/components/find-on-shelf/mocked-data.ts | 15 ++++++++--- src/core/utils/helpers/list-mapper.ts | 4 ++- 5 files changed, 58 insertions(+), 18 deletions(-) diff --git a/src/apps/material/__snapshots__/helper.ts.snap b/src/apps/material/__snapshots__/helper.ts.snap index 80a50d4e06..5d8a009e73 100644 --- a/src/apps/material/__snapshots__/helper.ts.snap +++ b/src/apps/material/__snapshots__/helper.ts.snap @@ -54,7 +54,10 @@ exports[`divideManifestationsByMaterialType > should divide manifestations by ma }, "materialTypes": [ { - "specific": "bog", + "materialTypeSpecific": { + "display": "bog", + }, + "specific": "this-will-be-deprecated", }, ], "physicalDescriptions": [ @@ -158,7 +161,10 @@ exports[`divideManifestationsByMaterialType > should divide manifestations by ma }, "materialTypes": [ { - "specific": "e-bog", + "materialTypeSpecific": { + "display": "e-bog", + }, + "specific": "this-will-be-deprecated", }, ], "physicalDescriptions": [ @@ -259,7 +265,10 @@ exports[`divideManifestationsByMaterialType > should divide manifestations by ma }, "materialTypes": [ { - "specific": "lydbog (online)", + "materialTypeSpecific": { + "display": "lydbog (online)", + }, + "specific": "this-will-be-deprecated", }, ], "physicalDescriptions": [ @@ -351,10 +360,16 @@ exports[`divideManifestationsByMaterialType > should divide manifestations by ma }, "materialTypes": [ { - "specific": "lydoptagelse (cd)", + "materialTypeSpecific": { + "display": "lydoptagelse (cd)", + }, + "specific": "this-will-be-deprecated", }, { - "specific": "bog", + "materialTypeSpecific": { + "display": "bog", + }, + "specific": "this-will-be-deprecated", }, ], "physicalDescriptions": [ diff --git a/src/apps/material/__vitest_data__/helper.ts b/src/apps/material/__vitest_data__/helper.ts index 4ad2db9a4f..19f5d9c684 100644 --- a/src/apps/material/__vitest_data__/helper.ts +++ b/src/apps/material/__vitest_data__/helper.ts @@ -25,10 +25,16 @@ export default { }, materialTypes: [ { - specific: "lydoptagelse (cd)" + materialTypeSpecific: { + display: "lydoptagelse (cd)" + }, + specific: "this-will-be-deprecated" }, { - specific: "bog" + materialTypeSpecific: { + display: "bog" + }, + specific: "this-will-be-deprecated" } ], creators: [ @@ -115,7 +121,10 @@ export default { }, materialTypes: [ { - specific: "e-bog" + materialTypeSpecific: { + display: "e-bog" + }, + specific: "this-will-be-deprecated" } ], creators: [ @@ -208,7 +217,10 @@ export default { }, materialTypes: [ { - specific: "lydbog (online)" + materialTypeSpecific: { + display: "lydbog (online)" + }, + specific: "this-will-be-deprecated" } ], creators: [ @@ -303,7 +315,10 @@ export default { }, materialTypes: [ { - specific: "bog" + materialTypeSpecific: { + display: "bog" + }, + specific: "this-will-be-deprecated" } ], creators: [ diff --git a/src/apps/material/helper.ts b/src/apps/material/helper.ts index 7e67d8c794..cb042c4e22 100644 --- a/src/apps/material/helper.ts +++ b/src/apps/material/helper.ts @@ -97,7 +97,7 @@ export const getManifestationPublisher = (manifestation: Manifestation) => { }; export const getManifestationMaterialTypes = (manifestation: Manifestation) => { - return manifestation.materialTypes?.[0].specific ?? ""; + return manifestation.materialTypes?.[0].materialTypeSpecific?.display ?? ""; }; export const getManifestationNumberOfPages = (manifestation: Manifestation) => { @@ -313,7 +313,7 @@ export const divideManifestationsByMaterialType = ( (result, manifestation) => { if ( !manifestation.materialTypes.length || - !manifestation.materialTypes[0].specific + !manifestation.materialTypes[0].materialTypeSpecific?.display ) { return result; } @@ -321,8 +321,7 @@ export const divideManifestationsByMaterialType = ( // For some reason we sometimes have multiple material types // we only want the first one. // TODO: Double check with DDF that this is a viable solution. - const type = manifestation.materialTypes[0].specific; - + const type = manifestation.materialTypes[0].materialTypeSpecific.display; return { ...result, [type]: [...(result[type] ?? []), manifestation] }; }, {} diff --git a/src/components/find-on-shelf/mocked-data.ts b/src/components/find-on-shelf/mocked-data.ts index f4e5c1cd6c..8601d201ae 100644 --- a/src/components/find-on-shelf/mocked-data.ts +++ b/src/components/find-on-shelf/mocked-data.ts @@ -19,7 +19,10 @@ export const mockedManifestationData: Manifestation[] = [ }, materialTypes: [ { - specific: "bog" + materialTypeSpecific: { + display: "bog" + }, + specific: "this-will-be-deprecated" } ], creators: [ @@ -92,7 +95,10 @@ export const mockedManifestationData: Manifestation[] = [ }, materialTypes: [ { - specific: "lydbog (cd-mp3)" + materialTypeSpecific: { + display: "lydbog (cd-mp3)" + }, + specific: "this-will-be-deprecated" } ], creators: [ @@ -171,7 +177,10 @@ export const mockedPeriodicalManifestationData: Manifestation[] = [ }, materialTypes: [ { - specific: "tidsskrift" + materialTypeSpecific: { + display: "tidsskrift" + }, + specific: "this-will-be-deprecated" } ], creators: [], diff --git a/src/core/utils/helpers/list-mapper.ts b/src/core/utils/helpers/list-mapper.ts index eb380182fb..86c23ea060 100644 --- a/src/core/utils/helpers/list-mapper.ts +++ b/src/core/utils/helpers/list-mapper.ts @@ -155,7 +155,9 @@ export const mapManifestationToBasicDetailsType = ( year, description, series: series && series.length > 0 ? getSeriesString(series) : "", - materialType: materialTypes ? materialTypes[0].specific : undefined + materialType: materialTypes + ? materialTypes[0].materialTypeSpecific.display + : undefined } as BasicDetailsType; }; From 6ee99f6d33b53b136c7baa770f7db92e8cd6de43 Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Wed, 10 Jan 2024 14:43:49 +0100 Subject: [PATCH 33/51] Add openOrderErrorMissingPincodeText Since a new submit order message has been added we need to be able to provide a text for it --- src/apps/material/material.dev.tsx | 5 +++++ src/apps/material/material.entry.tsx | 1 + src/components/reservation/helper.ts | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/apps/material/material.dev.tsx b/src/apps/material/material.dev.tsx index 96a4575f1a..97bf17d385 100644 --- a/src/apps/material/material.dev.tsx +++ b/src/apps/material/material.dev.tsx @@ -824,6 +824,11 @@ export default { name: "Open order unknown user text", defaultValue: "User not found", control: { type: "text" } + }, + openOrderErrorMissingPincodeText: { + name: "Open order error missing pincode text", + defaultValue: "Missing pincode", + control: { type: "text" } } } } as ComponentMeta; diff --git a/src/apps/material/material.entry.tsx b/src/apps/material/material.entry.tsx index 1e4ae99a83..c332eb1156 100644 --- a/src/apps/material/material.entry.tsx +++ b/src/apps/material/material.entry.tsx @@ -95,6 +95,7 @@ interface MaterialEntryTextProps { onlineLimitMonthAudiobookInfoText: string; onlineLimitMonthEbookInfoText: string; openOrderAuthenticationErrorText: string; + openOrderErrorMissingPincodeText: string; openOrderInvalidOrderText: string; openOrderNoServicerequesterText: string; openOrderNotOwnedIllLocText: string; diff --git a/src/components/reservation/helper.ts b/src/components/reservation/helper.ts index 0afa820ff6..c4ba5de80d 100644 --- a/src/components/reservation/helper.ts +++ b/src/components/reservation/helper.ts @@ -283,7 +283,8 @@ export const translateOpenOrderStatus = ( [SubmitOrderStatus.ServiceUnavailable]: "openOrderServiceUnavailableText", [SubmitOrderStatus.UnknownError]: "openOrderUnknownErrorText", [SubmitOrderStatus.UnknownPickupagency]: "openOrderUnknownPickupagencyText", - [SubmitOrderStatus.UnknownUser]: "openOrderUnknownUserText" + [SubmitOrderStatus.UnknownUser]: "openOrderUnknownUserText", + [SubmitOrderStatus.ErrorMissingPincode]: "openOrderErrorMissingPincodeText" }; return statusTextMap[status] ? t(statusTextMap[status]) : ""; From 2cef9fe78996cc414330ae3ffcfa588f71e217ee Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Sat, 13 Jan 2024 13:26:26 +0100 Subject: [PATCH 34/51] Updating all cypress fixtures to use new materialTypeSpecific fields --- cypress/fixtures/advanced-search/fbi-api.json | 84 +- cypress/fixtures/favorites-list/work.json | 36 +- .../material-buttons-fbi-api.json | 32 +- .../material-buttons-infomedia-fbi-api.json | 16 +- .../material-buttons-movie-fbi-api.json | 32 +- ...aterial-buttons-order-digital-fbi-api.json | 14 +- .../fixtures/material/fbi-api-nonfiction.json | 60 +- cypress/fixtures/material/fbi-api.json | 32 +- .../fixtures/material/infomedia-fbi-api.json | 16 +- .../material/instant-loan/fbi-api.json | 22 +- .../fixtures/material/open-order/fbi-api.json | 8 +- .../order-digital-fbi-api.json | 14 +- .../fixtures/material/periodical-fbi-api.json | 16 +- .../fixtures/reservation-details/fbi-api.json | 2 +- .../work-bestrepresentation.json | 14 +- cypress/fixtures/reservation-list/work.json | 2 +- .../facet-browser/searchWithPagination.json | 1888 ++++++++++++----- ...WithPagination_terms_joanne-k-rowling.json | 1508 +++++++++---- .../searchWithPagination_terms_krimi.json | 1458 +++++++++---- cypress/fixtures/search-result/fbi-api.json | 84 +- src/apps/dashboard/dashboard.test.tsx | 2 +- src/apps/fee-list/fee-list.test.ts | 2 +- 22 files changed, 3942 insertions(+), 1400 deletions(-) diff --git a/cypress/fixtures/advanced-search/fbi-api.json b/cypress/fixtures/advanced-search/fbi-api.json index 09d236277a..c80788172a 100644 --- a/cypress/fixtures/advanced-search/fbi-api.json +++ b/cypress/fixtures/advanced-search/fbi-api.json @@ -34,7 +34,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -80,7 +82,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -118,7 +122,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -167,7 +173,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -209,7 +217,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -247,7 +257,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -383,7 +395,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -430,7 +444,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -468,7 +484,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Mikkel Schou", "__typename": "Person" } @@ -507,7 +525,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -548,7 +568,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -586,7 +608,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -630,7 +654,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -671,7 +697,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -713,7 +741,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -754,7 +784,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -792,7 +824,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -830,7 +864,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -868,7 +904,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -907,7 +945,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -954,7 +994,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], diff --git a/cypress/fixtures/favorites-list/work.json b/cypress/fixtures/favorites-list/work.json index 75acb10da9..fc717c67ce 100644 --- a/cypress/fixtures/favorites-list/work.json +++ b/cypress/fixtures/favorites-list/work.json @@ -26,7 +26,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "billedbog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "billedbog" } } + ], "creators": [ { "display": "Jakob Martin Strid", "__typename": "Person" } ], @@ -62,7 +64,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Jakob Martin Strid", "__typename": "Person" } ], @@ -112,7 +116,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Jakob Martin Strid", "__typename": "Person" } ], @@ -148,7 +154,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "billedbog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "billedbog" } } + ], "creators": [ { "display": "Jakob Martin Strid", "__typename": "Person" } ], @@ -184,7 +192,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "billedbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "billedbog (online)" } } + ], "creators": [ { "display": "Jakob Martin Strid", "__typename": "Person" } ], @@ -235,7 +245,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "billedbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "billedbog (online)" } } + ], "creators": [ { "display": "Jakob Martin Strid", "__typename": "Person" } ], @@ -285,7 +297,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "billedbog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "billedbog" } } + ], "creators": [ { "display": "Jakob Martin Strid", "__typename": "Person" } ], @@ -310,10 +324,10 @@ } }, "materialTypes": [ - { "specific": "lydbog (cd)" }, - { "specific": "billedbog" }, - { "specific": "billedbog (online)" }, - { "specific": "lydbog (online)" } + { "materialTypeSpecific": { "display": "lydbog (cd)" } }, + { "materialTypeSpecific": { "display": "billedbog" } }, + { "materialTypeSpecific": { "display": "billedbog (online)" } }, + { "materialTypeSpecific": { "display": "lydbog (online)" } } ], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { diff --git a/cypress/fixtures/material-buttons/material-buttons-fbi-api.json b/cypress/fixtures/material-buttons/material-buttons-fbi-api.json index 15a99db6fc..44a6d79069 100644 --- a/cypress/fixtures/material-buttons/material-buttons-fbi-api.json +++ b/cypress/fixtures/material-buttons/material-buttons-fbi-api.json @@ -102,7 +102,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -138,7 +138,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -174,7 +174,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -216,7 +218,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -255,7 +259,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -292,7 +298,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -328,7 +334,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -365,7 +371,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [{ "display": "Lucinda Riley", "__typename": "Person" }], "publisher": ["Cicero"], "identifiers": [{ "value": "9788763863285" }], @@ -399,7 +405,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [{ "display": "Lucinda Riley", "__typename": "Person" }], "publisher": ["Cicero"], "identifiers": [{ "value": "9788763863285" }], @@ -422,10 +428,10 @@ } }, "materialTypes": [ - { "specific": "bog" }, - { "specific": "lydbog (online)" }, - { "specific": "lydbog (cd-mp3)" }, - { "specific": "e-bog" } + { "materialTypeSpecific": { "display": "bog" } }, + { "materialTypeSpecific": { "display": "lydbog (online)" } }, + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } }, + { "materialTypeSpecific": { "display": "e-bog" } } ], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { diff --git a/cypress/fixtures/material-buttons/material-buttons-infomedia-fbi-api.json b/cypress/fixtures/material-buttons/material-buttons-infomedia-fbi-api.json index f9c47dd2b0..dcee36de18 100644 --- a/cypress/fixtures/material-buttons/material-buttons-infomedia-fbi-api.json +++ b/cypress/fixtures/material-buttons/material-buttons-infomedia-fbi-api.json @@ -30,8 +30,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Jakob Nielsen", "__typename": "Person" }, @@ -72,8 +72,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Jakob Nielsen", "__typename": "Person" }, @@ -111,8 +111,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Jakob Nielsen", "__typename": "Person" }, @@ -141,8 +141,8 @@ } }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { diff --git a/cypress/fixtures/material-buttons/material-buttons-movie-fbi-api.json b/cypress/fixtures/material-buttons/material-buttons-movie-fbi-api.json index d4641ebc32..c64ad5f3d2 100644 --- a/cypress/fixtures/material-buttons/material-buttons-movie-fbi-api.json +++ b/cypress/fixtures/material-buttons/material-buttons-movie-fbi-api.json @@ -24,7 +24,9 @@ "languages": { "main": [{ "display": "dansk", "isoCode": "dan" }] }, "titles": { "main": ["Underverden"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Fenar Ahmad", "__typename": "Person" }, { "display": "Adam August", "__typename": "Person" }, @@ -69,7 +71,9 @@ "languages": { "main": [{ "display": "dansk", "isoCode": "dan" }] }, "titles": { "main": ["Underverden"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Fenar Ahmad", "__typename": "Person" }, { "display": "Adam August", "__typename": "Person" }, @@ -111,7 +115,9 @@ "languages": { "main": [{ "display": "dansk", "isoCode": "dan" }] }, "titles": { "main": ["Underverden"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Fenar Ahmad", "__typename": "Person" }, { "display": "Adam August", "__typename": "Person" }, @@ -153,7 +159,9 @@ "languages": { "main": [{ "display": "dansk", "isoCode": "dan" }] }, "titles": { "main": ["Underverden"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (online)" } } + ], "creators": [ { "display": "Fenar Ahmad", "__typename": "Person" }, { "display": "Adam August", "__typename": "Person" }, @@ -201,7 +209,9 @@ "languages": { "main": [{ "display": "dansk", "isoCode": "dan" }] }, "titles": { "main": ["Underverden"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Fenar Ahmad", "__typename": "Person" }, { "display": "Adam August", "__typename": "Person" }, @@ -246,7 +256,9 @@ "languages": { "main": [{ "display": "dansk", "isoCode": "dan" }] }, "titles": { "main": ["Underverden"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Fenar Ahmad", "__typename": "Person" }, { "display": "Adam August", "__typename": "Person" }, @@ -286,10 +298,10 @@ } }, "materialTypes": [ - { "specific": "film (blu-ray 4K)" }, - { "specific": "film (online)" }, - { "specific": "film (dvd)" }, - { "specific": "film (blu-ray)" } + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } }, + { "materialTypeSpecific": { "display": "film (online)" } }, + { "materialTypeSpecific": { "display": "film (dvd)" } }, + { "materialTypeSpecific": { "display": "film (blu-ray)" } } ], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { diff --git a/cypress/fixtures/material-buttons/material-buttons-order-digital-fbi-api.json b/cypress/fixtures/material-buttons/material-buttons-order-digital-fbi-api.json index 72561a70c5..ee4f130dd1 100644 --- a/cypress/fixtures/material-buttons/material-buttons-order-digital-fbi-api.json +++ b/cypress/fixtures/material-buttons/material-buttons-order-digital-fbi-api.json @@ -74,7 +74,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "artikel" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "artikel" } } + ], "creators": [ { "display": "Leif Becker Jensen", "__typename": "Person" } ], @@ -112,7 +114,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "artikel" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "artikel" } } + ], "creators": [ { "display": "Leif Becker Jensen", "__typename": "Person" } ], @@ -147,7 +151,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "artikel" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "artikel" } } + ], "creators": [ { "display": "Leif Becker Jensen", "__typename": "Person" } ], @@ -170,7 +176,7 @@ "workYear": null } }, - "materialTypes": [{ "specific": "artikel" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "artikel" } }], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { "all": [ diff --git a/cypress/fixtures/material/fbi-api-nonfiction.json b/cypress/fixtures/material/fbi-api-nonfiction.json index b24d087b7b..8c82d616f5 100644 --- a/cypress/fixtures/material/fbi-api-nonfiction.json +++ b/cypress/fixtures/material/fbi-api-nonfiction.json @@ -23,7 +23,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -56,7 +56,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -89,7 +89,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -122,7 +122,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -155,7 +155,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -188,7 +188,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -224,7 +224,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -257,7 +257,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -295,7 +295,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -332,7 +332,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -363,7 +365,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -396,7 +400,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -429,7 +433,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -460,7 +466,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -493,7 +501,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -526,7 +534,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -562,7 +572,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -603,7 +613,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Alfredo Tesio", "__typename": "Person" } ], @@ -638,7 +650,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Alfredo Tesio", "__typename": "Person" }], "publisher": ["Politiken"], "identifiers": [{ "value": "9788740067163" }], @@ -670,7 +684,7 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [{ "display": "Alfredo Tesio", "__typename": "Person" }], "publisher": ["Politiken"], "identifiers": [{ "value": "9788740063585" }], @@ -701,9 +715,9 @@ } }, "materialTypes": [ - { "specific": "bog" }, - { "specific": "lydbog (online)" }, - { "specific": "e-bog" } + { "materialTypeSpecific": { "display": "bog" } }, + { "materialTypeSpecific": { "display": "lydbog (online)" } }, + { "materialTypeSpecific": { "display": "e-bog" } } ], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { diff --git a/cypress/fixtures/material/fbi-api.json b/cypress/fixtures/material/fbi-api.json index 15a99db6fc..44a6d79069 100644 --- a/cypress/fixtures/material/fbi-api.json +++ b/cypress/fixtures/material/fbi-api.json @@ -102,7 +102,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -138,7 +138,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -174,7 +174,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -216,7 +218,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -255,7 +259,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -292,7 +298,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -328,7 +334,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Lucinda Riley", "__typename": "Person" } ], @@ -365,7 +371,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [{ "display": "Lucinda Riley", "__typename": "Person" }], "publisher": ["Cicero"], "identifiers": [{ "value": "9788763863285" }], @@ -399,7 +405,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [{ "display": "Lucinda Riley", "__typename": "Person" }], "publisher": ["Cicero"], "identifiers": [{ "value": "9788763863285" }], @@ -422,10 +428,10 @@ } }, "materialTypes": [ - { "specific": "bog" }, - { "specific": "lydbog (online)" }, - { "specific": "lydbog (cd-mp3)" }, - { "specific": "e-bog" } + { "materialTypeSpecific": { "display": "bog" } }, + { "materialTypeSpecific": { "display": "lydbog (online)" } }, + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } }, + { "materialTypeSpecific": { "display": "e-bog" } } ], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { diff --git a/cypress/fixtures/material/infomedia-fbi-api.json b/cypress/fixtures/material/infomedia-fbi-api.json index f9c47dd2b0..dcee36de18 100644 --- a/cypress/fixtures/material/infomedia-fbi-api.json +++ b/cypress/fixtures/material/infomedia-fbi-api.json @@ -30,8 +30,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Jakob Nielsen", "__typename": "Person" }, @@ -72,8 +72,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Jakob Nielsen", "__typename": "Person" }, @@ -111,8 +111,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Jakob Nielsen", "__typename": "Person" }, @@ -141,8 +141,8 @@ } }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { diff --git a/cypress/fixtures/material/instant-loan/fbi-api.json b/cypress/fixtures/material/instant-loan/fbi-api.json index 26cd0b009a..2fb2b59746 100644 --- a/cypress/fixtures/material/instant-loan/fbi-api.json +++ b/cypress/fixtures/material/instant-loan/fbi-api.json @@ -67,7 +67,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Kim Faber", "__typename": "Person" }, { "display": "Janni Pedersen (f. 1968)", "__typename": "Person" } @@ -101,7 +101,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Kim Faber", "__typename": "Person" }, { "display": "Janni Pedersen (f. 1968)", "__typename": "Person" } @@ -133,7 +135,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Kim Faber", "__typename": "Person" }, { "display": "Janni Pedersen (f. 1968)", "__typename": "Person" } @@ -166,7 +170,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Kim Faber", "__typename": "Person" }, { "display": "Janni Pedersen (f. 1968)", "__typename": "Person" } @@ -198,7 +204,7 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "bog" } }], "creators": [ { "display": "Kim Faber", "__typename": "Person" }, { "display": "Janni Pedersen (f. 1968)", "__typename": "Person" } @@ -224,9 +230,9 @@ } }, "materialTypes": [ - { "specific": "bog" }, - { "specific": "lydbog (online)" }, - { "specific": "e-bog" } + { "materialTypeSpecific": { "display": "bog" } }, + { "materialTypeSpecific": { "display": "lydbog (online)" } }, + { "materialTypeSpecific": { "display": "e-bog" } } ], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { diff --git a/cypress/fixtures/material/open-order/fbi-api.json b/cypress/fixtures/material/open-order/fbi-api.json index f20b7de75e..6c0ace09cf 100644 --- a/cypress/fixtures/material/open-order/fbi-api.json +++ b/cypress/fixtures/material/open-order/fbi-api.json @@ -45,7 +45,7 @@ }, "materialTypes": [ { - "specific": "bog" + "materialTypeSpecific": { "display": "bog" } } ], "creators": [ @@ -121,7 +121,7 @@ }, "materialTypes": [ { - "specific": "bog" + "materialTypeSpecific": { "display": "bog" } } ], "creators": [ @@ -196,7 +196,7 @@ }, "materialTypes": [ { - "specific": "bog" + "materialTypeSpecific": { "display": "bog" } } ], "creators": [ @@ -252,7 +252,7 @@ }, "materialTypes": [ { - "specific": "bog" + "materialTypeSpecific": { "display": "bog" } } ], "mainLanguages": [ diff --git a/cypress/fixtures/material/order-digital-copy/order-digital-fbi-api.json b/cypress/fixtures/material/order-digital-copy/order-digital-fbi-api.json index 72561a70c5..ee4f130dd1 100644 --- a/cypress/fixtures/material/order-digital-copy/order-digital-fbi-api.json +++ b/cypress/fixtures/material/order-digital-copy/order-digital-fbi-api.json @@ -74,7 +74,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "artikel" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "artikel" } } + ], "creators": [ { "display": "Leif Becker Jensen", "__typename": "Person" } ], @@ -112,7 +114,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "artikel" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "artikel" } } + ], "creators": [ { "display": "Leif Becker Jensen", "__typename": "Person" } ], @@ -147,7 +151,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "artikel" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "artikel" } } + ], "creators": [ { "display": "Leif Becker Jensen", "__typename": "Person" } ], @@ -170,7 +176,7 @@ "workYear": null } }, - "materialTypes": [{ "specific": "artikel" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "artikel" } }], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { "all": [ diff --git a/cypress/fixtures/material/periodical-fbi-api.json b/cypress/fixtures/material/periodical-fbi-api.json index 02fc482703..37cdbd6bc8 100644 --- a/cypress/fixtures/material/periodical-fbi-api.json +++ b/cypress/fixtures/material/periodical-fbi-api.json @@ -21,7 +21,9 @@ "display": "nonfiktion", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "tidsskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "tidsskrift" } } + ], "creators": [], "publisher": ["Egmont Magasiner"], "identifiers": [{ "value": "0002-6506" }], @@ -52,7 +54,9 @@ "display": "nonfiktion", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "tidsskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "tidsskrift" } } + ], "creators": [], "publisher": ["Egmont Magasiner"], "identifiers": [{ "value": "0002-6506" }], @@ -82,7 +86,9 @@ "display": "nonfiktion", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "tidsskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "tidsskrift" } } + ], "creators": [], "publisher": ["Egmont Magasiner"], "identifiers": [{ "value": "0002-6506" }], @@ -103,7 +109,9 @@ "workYear": null } }, - "materialTypes": [{ "specific": "tidsskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "tidsskrift" } } + ], "mainLanguages": [{ "display": "dansk", "isoCode": "dan" }], "subjects": { "all": [], "dbcVerified": [] }, "fictionNonfiction": { "display": "nonfiktion", "code": "NONFICTION" }, diff --git a/cypress/fixtures/reservation-details/fbi-api.json b/cypress/fixtures/reservation-details/fbi-api.json index cdb1789ca7..3e21a0b99d 100644 --- a/cypress/fixtures/reservation-details/fbi-api.json +++ b/cypress/fixtures/reservation-details/fbi-api.json @@ -18,7 +18,7 @@ ], "materialTypes": [ { - "specific": "bog" + "materialTypeSpecific": { "display": "bog" } } ], "creators": [], diff --git a/cypress/fixtures/reservation-list/work-bestrepresentation.json b/cypress/fixtures/reservation-list/work-bestrepresentation.json index 3f07f736b5..5a64183aff 100644 --- a/cypress/fixtures/reservation-list/work-bestrepresentation.json +++ b/cypress/fixtures/reservation-list/work-bestrepresentation.json @@ -6,13 +6,9 @@ "bestRepresentation": { "pid": "870970-basis:22629344", "titles": { - "full": [ - "Best representation of dummy title" - ] + "full": ["Best representation of dummy title"] }, - "abstract": [ - "Dummy Some abstract ..." - ], + "abstract": ["Dummy Some abstract ..."], "edition": { "summary": "3. udgave, 1. oplag (2019)", "publicationYear": { @@ -21,15 +17,13 @@ }, "materialTypes": [ { - "specific": "Dummy bog" + "materialTypeSpecific": { "display": "Dummy bog" } } ], "series": [ { "numberInSeries": { - "number": [ - 1 - ] + "number": [1] }, "title": "Detektivbureau Nr. 2" } diff --git a/cypress/fixtures/reservation-list/work.json b/cypress/fixtures/reservation-list/work.json index 80b9a2cba0..244b23eaa0 100644 --- a/cypress/fixtures/reservation-list/work.json +++ b/cypress/fixtures/reservation-list/work.json @@ -10,7 +10,7 @@ "display": "2006" } }, - "materialTypes": [{ "specific": "Dummy bog" }], + "materialTypes": [{ "materialTypeSpecific": { "display": "Dummy bog" } }], "series": [ { "numberInSeries": { "number": [1] }, "title": "Detektivbureau Nr. 2" } ], diff --git a/cypress/fixtures/search-result/facet-browser/searchWithPagination.json b/cypress/fixtures/search-result/facet-browser/searchWithPagination.json index 31a772f79a..d31a1a51fb 100644 --- a/cypress/fixtures/search-result/facet-browser/searchWithPagination.json +++ b/cypress/fixtures/search-result/facet-browser/searchWithPagination.json @@ -34,7 +34,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -80,7 +82,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -118,7 +122,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -167,7 +173,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -209,7 +217,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -247,7 +257,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -383,7 +395,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -430,7 +444,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -468,7 +484,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Mikkel Schou", "__typename": "Person" } @@ -507,7 +525,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -548,7 +568,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -586,7 +608,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -630,7 +654,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -671,7 +697,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -713,7 +741,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -754,7 +784,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -792,7 +824,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -830,7 +864,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -868,7 +904,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -907,7 +945,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -954,7 +994,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1100,7 +1142,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1138,7 +1182,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1176,7 +1222,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1214,7 +1262,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1255,7 +1305,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1299,7 +1351,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Henrik Emmer", "__typename": "Person" } @@ -1338,7 +1392,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1376,7 +1432,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1417,7 +1475,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1461,7 +1521,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -1505,7 +1567,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -1547,7 +1611,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1585,7 +1651,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1628,7 +1696,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1666,7 +1736,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1704,7 +1776,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1750,7 +1824,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1788,7 +1864,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1826,7 +1904,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1867,7 +1947,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1906,7 +1988,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1952,7 +2036,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2091,7 +2177,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -2133,7 +2221,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2171,7 +2261,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2218,7 +2310,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2262,7 +2356,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Janek Lesniak", "__typename": "Person" } @@ -2301,7 +2397,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2339,7 +2437,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2380,7 +2480,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2418,7 +2520,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2456,7 +2560,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2494,7 +2600,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2533,7 +2641,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2571,7 +2681,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2702,7 +2814,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2740,7 +2854,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -2782,7 +2898,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2820,7 +2938,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2858,7 +2978,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2896,7 +3018,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2934,7 +3058,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2973,7 +3099,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3011,7 +3139,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3148,7 +3278,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3186,7 +3318,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3229,7 +3363,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3267,7 +3403,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3305,7 +3443,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3349,7 +3489,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3390,7 +3532,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Ole Boesen", "__typename": "Person" } @@ -3429,7 +3573,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3469,7 +3615,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -3511,7 +3659,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3554,7 +3704,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3592,7 +3744,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3630,7 +3784,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3670,7 +3826,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3711,7 +3869,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3751,7 +3911,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3795,7 +3957,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3838,7 +4002,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3897,7 +4063,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [], "publisher": ["Gyldendal"], "identifiers": [{ "value": "9788702257199" }], @@ -3948,7 +4116,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [], "publisher": ["Gyldendal"], "identifiers": [{ "value": "9788702257199" }], @@ -3998,7 +4168,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [], "publisher": ["Gyldendal"], "identifiers": [{ "value": "9788702257199" }], @@ -4146,7 +4318,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4184,7 +4358,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4222,7 +4398,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4263,7 +4441,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4307,7 +4487,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4348,7 +4530,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4388,7 +4572,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Thomas Gulstad", "__typename": "Person" } @@ -4427,7 +4613,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4465,7 +4653,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4508,7 +4698,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -4552,7 +4744,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4590,7 +4784,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4628,7 +4824,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4666,7 +4864,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4707,7 +4907,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4746,7 +4948,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4784,7 +4988,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4920,7 +5126,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4958,7 +5166,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Peter Krag", "__typename": "Person" } @@ -4997,7 +5207,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5041,7 +5253,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5082,7 +5296,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5120,7 +5336,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5161,7 +5379,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5199,7 +5419,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5240,7 +5462,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -5282,7 +5506,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5320,7 +5546,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5358,7 +5586,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5399,7 +5629,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5437,7 +5669,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5476,7 +5710,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5517,7 +5753,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5611,7 +5849,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Felicity Baker (f. 1962)", @@ -5650,7 +5890,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Felicity Baker (f. 1962)", @@ -5688,7 +5930,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Felicity Baker (f. 1962)", @@ -5747,7 +5991,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Sarah Oliver", "__typename": "Person" } ], @@ -5791,7 +6037,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Sarah Oliver", "__typename": "Person" } ], @@ -5850,7 +6098,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Sarah Oliver", "__typename": "Person" } ], @@ -5908,7 +6158,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Sarah Oliver", "__typename": "Person" } ], @@ -6047,7 +6299,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "John Tiffany", "__typename": "Person" }, @@ -6091,7 +6345,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "John Tiffany", "__typename": "Person" }, @@ -6134,7 +6390,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "John Tiffany", "__typename": "Person" }, @@ -6272,7 +6530,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Christian Mohr Boisen", "__typename": "Person" } ], @@ -6307,7 +6567,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Christian Mohr Boisen", "__typename": "Person" } ], @@ -6357,7 +6619,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Christian Mohr Boisen", "__typename": "Person" } ], @@ -6406,7 +6670,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Christian Mohr Boisen", "__typename": "Person" } ], @@ -6624,7 +6890,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6662,7 +6930,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6700,7 +6970,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6739,7 +7011,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6778,7 +7052,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6816,7 +7092,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6857,7 +7135,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6896,7 +7176,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6935,7 +7217,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6976,7 +7260,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7014,7 +7300,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7052,7 +7340,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7095,7 +7385,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7138,7 +7430,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7176,7 +7470,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7216,7 +7512,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7259,7 +7557,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7297,7 +7597,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7340,7 +7642,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7379,7 +7683,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7417,7 +7723,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7635,7 +7943,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7674,7 +7984,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7713,7 +8025,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7751,7 +8065,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7797,7 +8113,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7838,7 +8156,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Dale", "__typename": "Person" } @@ -7879,7 +8199,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7920,7 +8242,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7959,7 +8283,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7997,7 +8323,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8038,7 +8366,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8081,7 +8411,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -8120,7 +8452,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8162,7 +8496,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8202,7 +8538,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8246,7 +8584,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8284,7 +8624,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8322,7 +8664,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8363,7 +8707,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8404,7 +8750,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8444,7 +8792,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8483,7 +8833,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8521,7 +8873,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8663,7 +9017,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8714,7 +9070,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8765,7 +9123,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8816,7 +9176,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8865,7 +9227,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8913,7 +9277,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -9068,7 +9434,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -9121,7 +9489,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -9172,7 +9542,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -9222,7 +9594,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -9293,7 +9667,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Emily Herbert", "__typename": "Person" } ], @@ -9342,7 +9718,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Emily Herbert", "__typename": "Person" } ], @@ -9383,7 +9761,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Emily Herbert", "__typename": "Person" } ], @@ -9435,7 +9815,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Emily Herbert", "__typename": "Person" } ], @@ -9480,7 +9862,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Emily Herbert", "__typename": "Person" } ], @@ -9521,7 +9905,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Emily Herbert", "__typename": "Person" } ], @@ -9577,7 +9963,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9615,7 +10003,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9651,7 +10041,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9689,7 +10081,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9727,7 +10121,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9766,7 +10162,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9807,7 +10205,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9848,7 +10248,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9886,7 +10288,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9924,7 +10328,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -9973,7 +10379,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -10020,7 +10428,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -10058,7 +10468,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joël Dicker", "__typename": "Person" } ], @@ -10114,7 +10526,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [], "publisher": ["Frydenlund"], "identifiers": [{ "value": "9788771187854" }], @@ -10157,7 +10571,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [], "publisher": ["Frydenlund"], "identifiers": [{ "value": "9788771187854" }], @@ -10199,7 +10615,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [], "publisher": ["Frydenlund"], "identifiers": [{ "value": "9788771187854" }], @@ -10288,7 +10706,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Susanne Foldberg (f. 1970)", @@ -10327,7 +10747,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Susanne Foldberg (f. 1970)", @@ -10365,7 +10787,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Susanne Foldberg (f. 1970)", @@ -10587,7 +11011,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -10626,7 +11052,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -10665,7 +11093,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10707,7 +11137,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10748,7 +11180,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10790,7 +11224,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10831,7 +11267,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -10870,7 +11308,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -10909,7 +11349,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10947,7 +11389,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10996,7 +11440,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -11035,7 +11481,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -11076,7 +11524,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -11117,7 +11567,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Dale", "__typename": "Person" } @@ -11158,7 +11610,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11196,7 +11650,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11234,7 +11690,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11272,7 +11730,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11310,7 +11770,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11353,7 +11815,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11396,7 +11860,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11437,7 +11903,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11477,7 +11945,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11533,7 +12003,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "David Colbert", "__typename": "Person" } ], @@ -11574,7 +12046,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "David Colbert", "__typename": "Person" } ], @@ -11615,7 +12089,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "David Colbert", "__typename": "Person" } ], @@ -11657,7 +12133,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "David Colbert", "__typename": "Person" } ], @@ -11698,7 +12176,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "David Colbert", "__typename": "Person" } ], @@ -11798,7 +12278,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Elin Lindell", "__typename": "Person" } ], @@ -11836,7 +12318,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Elin Lindell", "__typename": "Person" } ], @@ -11887,7 +12371,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Elin Lindell", "__typename": "Person" } ], @@ -11937,7 +12423,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Elin Lindell", "__typename": "Person" } ], @@ -12031,7 +12519,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12085,7 +12575,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12141,7 +12633,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12195,7 +12689,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12253,7 +12749,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12309,7 +12807,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12365,7 +12865,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12419,7 +12921,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12472,7 +12976,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12708,7 +13214,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -12746,7 +13254,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -12785,7 +13295,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -12826,7 +13338,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -12867,7 +13381,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -12905,7 +13421,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -12944,7 +13462,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -12985,7 +13505,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -13024,7 +13546,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -13067,7 +13591,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13108,7 +13634,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13148,7 +13676,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -13187,7 +13717,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13225,7 +13757,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13265,7 +13799,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Dale", "__typename": "Person" } @@ -13308,7 +13844,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13348,7 +13886,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13388,7 +13928,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13430,7 +13972,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13468,7 +14012,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13506,7 +14052,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13547,7 +14095,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13590,7 +14140,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13631,7 +14183,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13671,7 +14225,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13813,7 +14369,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -13866,7 +14424,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -13919,7 +14479,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -13972,7 +14534,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -14023,7 +14587,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -14073,7 +14639,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -14230,7 +14798,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -14285,7 +14855,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -14340,7 +14912,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -14395,7 +14969,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -14450,7 +15026,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -14503,7 +15081,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -14555,7 +15135,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -14714,7 +15296,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -14767,7 +15351,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -14820,7 +15406,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -14873,7 +15461,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -14926,7 +15516,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -14977,7 +15569,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -15027,7 +15621,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -15264,7 +15860,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Kay", "__typename": "Person" } @@ -15303,7 +15901,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15341,7 +15941,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -15380,7 +15982,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -15419,7 +16023,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -15458,7 +16064,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15496,7 +16104,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15534,7 +16144,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15572,7 +16184,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15610,7 +16224,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15648,7 +16264,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -15689,7 +16307,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -15731,7 +16351,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15769,7 +16391,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15807,7 +16431,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15845,7 +16471,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15886,7 +16514,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15931,7 +16561,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15972,7 +16604,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Kay", "__typename": "Person" } @@ -16013,7 +16647,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Kay", "__typename": "Person" } @@ -16074,7 +16710,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16139,7 +16777,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16195,7 +16835,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16260,7 +16902,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16325,7 +16969,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16381,7 +17027,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16446,7 +17094,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16511,7 +17161,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16567,7 +17219,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16632,7 +17286,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16688,7 +17344,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16753,7 +17411,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16816,7 +17476,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16878,7 +17540,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -16971,7 +17635,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17009,7 +17675,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17048,7 +17716,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17086,7 +17756,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -17125,7 +17797,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -17164,7 +17838,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17202,7 +17878,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17240,7 +17918,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17283,7 +17963,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17328,7 +18010,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17367,7 +18051,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17408,7 +18094,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17471,7 +18159,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17524,7 +18214,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17577,7 +18269,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (online)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17628,7 +18322,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17681,7 +18377,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17734,7 +18432,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17787,7 +18487,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17840,7 +18542,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17893,7 +18597,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17946,7 +18652,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -17997,7 +18705,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -18047,7 +18757,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -18118,7 +18830,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Part", "__typename": "Person" } ], @@ -18157,7 +18871,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Part", "__typename": "Person" } ], @@ -18195,7 +18911,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Part", "__typename": "Person" } ], @@ -18259,7 +18977,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "nintendo switch" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "nintendo switch" } } + ], "creators": [ { "display": "TT Games", "__typename": "Corporation" } ], @@ -18301,7 +19021,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "xbox one" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "xbox one" } } + ], "creators": [ { "display": "TT Games", "__typename": "Corporation" } ], @@ -18343,7 +19065,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "playstation 4" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "playstation 4" } } + ], "creators": [ { "display": "TT Games", "__typename": "Corporation" } ], @@ -18386,7 +19110,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "xbox one" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "xbox one" } } + ], "creators": [ { "display": "TT Games", "__typename": "Corporation" } ], @@ -18428,7 +19154,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "xbox one" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "xbox one" } } + ], "creators": [ { "display": "TT Games", "__typename": "Corporation" } ], @@ -18484,7 +19212,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "billedbog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "billedbog" } } + ], "creators": [ { "display": "Leo Timmers", "__typename": "Person" } ], @@ -18523,7 +19253,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "billedbog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "billedbog" } } + ], "creators": [ { "display": "Leo Timmers", "__typename": "Person" } ], @@ -18561,7 +19293,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "billedbog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "billedbog" } } + ], "creators": [ { "display": "Leo Timmers", "__typename": "Person" } ], @@ -18776,7 +19510,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jack Thorne", "__typename": "Person" }, @@ -18817,7 +19553,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jack Thorne", "__typename": "Person" }, @@ -18857,7 +19595,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jack Thorne", "__typename": "Person" }, @@ -18919,7 +19659,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -18980,7 +19722,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19035,7 +19779,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (online)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19088,7 +19834,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19149,7 +19897,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19210,7 +19960,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19265,7 +20017,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19326,7 +20080,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19381,7 +20137,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19442,7 +20200,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19501,7 +20261,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19559,7 +20321,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -19795,7 +20559,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -19835,7 +20601,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -19879,7 +20647,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -19917,7 +20687,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -19955,7 +20727,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -19993,7 +20767,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -20031,7 +20807,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -20072,7 +20850,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -20113,7 +20893,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -20158,7 +20940,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -20197,7 +20981,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -20238,7 +21024,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -20301,7 +21089,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20363,7 +21153,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (online)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20414,7 +21206,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20476,7 +21270,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20538,7 +21334,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20591,7 +21389,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20653,7 +21453,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20706,7 +21508,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20768,7 +21572,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20828,7 +21634,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20887,7 +21695,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Alfonso Cuarón", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -20969,7 +21779,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Lauren Weisberger", "__typename": "Person" } ], @@ -21007,7 +21819,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Lauren Weisberger", "__typename": "Person" } ], @@ -21048,7 +21862,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Lauren Weisberger", "__typename": "Person" } ], @@ -21086,7 +21902,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Lauren Weisberger", "__typename": "Person" } ], @@ -21127,7 +21945,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Lauren Weisberger", "__typename": "Person" } ], @@ -21169,7 +21989,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Lauren Weisberger", "__typename": "Person" } ], @@ -21210,7 +22032,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Lauren Weisberger", "__typename": "Person" } ], @@ -21295,7 +22119,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Sonja Kaiblinger", "__typename": "Person" } ], @@ -21337,7 +22163,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Sonja Kaiblinger", "__typename": "Person" } ], @@ -21378,7 +22206,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Sonja Kaiblinger", "__typename": "Person" } ], @@ -21441,7 +22271,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21492,7 +22324,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21543,7 +22377,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (online)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21592,7 +22428,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21643,7 +22481,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21694,7 +22534,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21745,7 +22587,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21796,7 +22640,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21847,7 +22693,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21898,7 +22746,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21947,7 +22797,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -21995,7 +22847,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -22171,7 +23025,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770073851" }], @@ -22204,7 +23060,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770073844" }], @@ -22237,7 +23095,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770071529" }], @@ -22270,7 +23130,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770071987" }], @@ -22304,7 +23166,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "AV Forlaget Den Grimme Ælling"], "identifiers": [{ "value": "9788770071710" }], @@ -22340,7 +23204,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "AV Forlaget Den Grimme Ælling"], "identifiers": [{ "value": "9788770071703" }], @@ -22376,7 +23242,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [{ "value": "9788703090955" }], @@ -22409,7 +23277,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770071697" }], @@ -22444,7 +23314,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770073844" }], @@ -22477,7 +23349,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770073851" }], @@ -22556,7 +23430,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Davy Ocean", "__typename": "Person" } ], @@ -22598,7 +23474,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Davy Ocean", "__typename": "Person" }], "publisher": ["Turbine"], "identifiers": [{ "value": "9788740612387" }], @@ -22637,7 +23515,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Davy Ocean", "__typename": "Person" }], "publisher": ["Turbine"], "identifiers": [{ "value": "9788740612387" }], @@ -22719,7 +23599,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Davy Ocean", "__typename": "Person" } ], @@ -22761,7 +23643,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Davy Ocean", "__typename": "Person" }], "publisher": ["Turbine"], "identifiers": [{ "value": "9788740604221" }], @@ -22800,7 +23684,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Davy Ocean", "__typename": "Person" }], "publisher": ["Turbine"], "identifiers": [{ "value": "9788740604221" }], @@ -22964,7 +23850,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771467321" }], @@ -22997,7 +23885,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771468007" }], @@ -23031,7 +23921,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "AV Forlaget Den Grimme Ælling"], "identifiers": [{ "value": "9788771467819" }], @@ -23067,7 +23959,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771467826" }], @@ -23101,7 +23995,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "AV Forlaget Den Grimme Ælling"], "identifiers": [{ "value": "9788771467802" }], @@ -23137,7 +24033,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [{ "value": "9788703079837" }], @@ -23170,7 +24068,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770070102" }], @@ -23203,7 +24103,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770070096" }], @@ -23237,7 +24139,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770070096" }], @@ -23270,7 +24174,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770070096" }], @@ -23365,7 +24271,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Elin Lindell", "__typename": "Person" } ], @@ -23403,7 +24311,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Elin Lindell", "__typename": "Person" } ], @@ -23454,7 +24364,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Elin Lindell", "__typename": "Person" } ], @@ -23504,7 +24416,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Elin Lindell", "__typename": "Person" } ], @@ -23649,7 +24563,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Højberg", "__typename": "Person" } ], @@ -23691,7 +24607,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Højberg", "__typename": "Person" } ], @@ -23732,7 +24650,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Højberg", "__typename": "Person" } ], @@ -23876,7 +24796,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -23929,7 +24851,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -23982,7 +24906,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (online)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -24033,7 +24959,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -24086,7 +25014,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -24139,7 +25069,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -24192,7 +25124,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -24245,7 +25179,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -24298,7 +25234,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -24349,7 +25287,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -24400,7 +25340,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -24450,7 +25392,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, diff --git a/cypress/fixtures/search-result/facet-browser/searchWithPagination_terms_joanne-k-rowling.json b/cypress/fixtures/search-result/facet-browser/searchWithPagination_terms_joanne-k-rowling.json index 63bd18ab65..e7916e2b40 100644 --- a/cypress/fixtures/search-result/facet-browser/searchWithPagination_terms_joanne-k-rowling.json +++ b/cypress/fixtures/search-result/facet-browser/searchWithPagination_terms_joanne-k-rowling.json @@ -115,7 +115,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -153,7 +155,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -191,7 +195,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -229,7 +235,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -270,7 +278,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -314,7 +324,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Henrik Emmer", "__typename": "Person" } @@ -353,7 +365,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -391,7 +405,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -432,7 +448,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -476,7 +494,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -520,7 +540,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -562,7 +584,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -600,7 +624,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -643,7 +669,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -681,7 +709,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -719,7 +749,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -765,7 +797,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -803,7 +837,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -841,7 +877,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -882,7 +920,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -921,7 +961,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -967,7 +1009,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1111,7 +1155,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1158,7 +1204,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1196,7 +1244,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Mikkel Schou", "__typename": "Person" } @@ -1235,7 +1285,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1276,7 +1328,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1314,7 +1368,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1358,7 +1414,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1399,7 +1457,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -1441,7 +1501,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1482,7 +1544,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1520,7 +1584,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1558,7 +1624,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1596,7 +1664,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1635,7 +1705,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1682,7 +1754,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1822,7 +1896,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -1864,7 +1940,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1902,7 +1980,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1949,7 +2029,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -1993,7 +2075,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Janek Lesniak", "__typename": "Person" } @@ -2032,7 +2116,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2070,7 +2156,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2111,7 +2199,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2149,7 +2239,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2187,7 +2279,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2225,7 +2319,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2264,7 +2360,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2302,7 +2400,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2439,7 +2539,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2477,7 +2579,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2520,7 +2624,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2558,7 +2664,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2596,7 +2704,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2640,7 +2750,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2681,7 +2793,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Ole Boesen", "__typename": "Person" } @@ -2720,7 +2834,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2760,7 +2876,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -2802,7 +2920,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2845,7 +2965,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2883,7 +3005,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2921,7 +3045,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -2961,7 +3087,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3002,7 +3130,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3042,7 +3172,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3086,7 +3218,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3129,7 +3263,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3263,7 +3399,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3301,7 +3439,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -3343,7 +3483,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3381,7 +3523,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3419,7 +3563,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3457,7 +3603,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3495,7 +3643,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3534,7 +3684,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3572,7 +3724,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3708,7 +3862,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3746,7 +3902,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3784,7 +3942,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3825,7 +3985,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3869,7 +4031,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3910,7 +4074,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -3950,7 +4116,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Thomas Gulstad", "__typename": "Person" } @@ -3989,7 +4157,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4027,7 +4197,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4070,7 +4242,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -4114,7 +4288,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4152,7 +4328,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4190,7 +4368,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4228,7 +4408,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4269,7 +4451,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4308,7 +4492,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4346,7 +4532,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4482,7 +4670,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4520,7 +4710,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Peter Krag", "__typename": "Person" } @@ -4559,7 +4751,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4603,7 +4797,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4644,7 +4840,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4682,7 +4880,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4723,7 +4923,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4761,7 +4963,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4802,7 +5006,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -4844,7 +5050,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4882,7 +5090,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4920,7 +5130,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4961,7 +5173,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -4999,7 +5213,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5038,7 +5254,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5079,7 +5297,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5215,7 +5435,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "John Tiffany", "__typename": "Person" }, @@ -5259,7 +5481,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "John Tiffany", "__typename": "Person" }, @@ -5302,7 +5526,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "John Tiffany", "__typename": "Person" }, @@ -5525,7 +5751,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5563,7 +5791,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5601,7 +5831,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -5640,7 +5872,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -5679,7 +5913,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5717,7 +5953,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5758,7 +5996,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -5797,7 +6037,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -5836,7 +6078,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5877,7 +6121,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5915,7 +6161,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5953,7 +6201,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -5996,7 +6246,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6039,7 +6291,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6077,7 +6331,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6117,7 +6373,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6160,7 +6418,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6198,7 +6458,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6241,7 +6503,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6280,7 +6544,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6318,7 +6584,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6536,7 +6804,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6575,7 +6845,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6614,7 +6886,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6652,7 +6926,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6698,7 +6974,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6739,7 +7017,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Dale", "__typename": "Person" } @@ -6780,7 +7060,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6821,7 +7103,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -6860,7 +7144,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6898,7 +7184,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6939,7 +7227,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -6982,7 +7272,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7021,7 +7313,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7063,7 +7357,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7103,7 +7399,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7147,7 +7445,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7185,7 +7485,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7223,7 +7525,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7264,7 +7568,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7305,7 +7611,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7345,7 +7653,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7384,7 +7694,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7422,7 +7734,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7641,7 +7955,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7680,7 +7996,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7719,7 +8037,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7761,7 +8081,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7802,7 +8124,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7844,7 +8168,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -7885,7 +8211,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7924,7 +8252,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -7963,7 +8293,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8001,7 +8333,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8050,7 +8384,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -8089,7 +8425,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -8130,7 +8468,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -8171,7 +8511,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Dale", "__typename": "Person" } @@ -8212,7 +8554,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8250,7 +8594,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8288,7 +8634,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8326,7 +8674,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8364,7 +8714,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8407,7 +8759,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8450,7 +8804,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8491,7 +8847,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8531,7 +8889,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -8673,7 +9033,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8724,7 +9086,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8775,7 +9139,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8826,7 +9192,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8875,7 +9243,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -8923,7 +9293,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Michael Goldenberg", "__typename": "Person" }, @@ -9078,7 +9450,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -9131,7 +9505,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -9182,7 +9558,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -9232,7 +9610,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "David Yates", "__typename": "Person" }, { "display": "Bruno Delbonnel", "__typename": "Person" }, @@ -9465,7 +9845,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -9503,7 +9885,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -9542,7 +9926,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -9583,7 +9969,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -9624,7 +10012,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -9662,7 +10052,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -9701,7 +10093,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -9742,7 +10136,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -9781,7 +10177,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -9824,7 +10222,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -9865,7 +10265,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -9905,7 +10307,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -9944,7 +10348,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -9982,7 +10388,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10022,7 +10430,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Dale", "__typename": "Person" } @@ -10065,7 +10475,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10105,7 +10517,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10145,7 +10559,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10187,7 +10603,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10225,7 +10643,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10263,7 +10683,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10304,7 +10726,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10347,7 +10771,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10388,7 +10814,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10428,7 +10856,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -10522,7 +10952,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -10576,7 +11008,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -10632,7 +11066,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -10686,7 +11122,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -10744,7 +11182,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -10800,7 +11240,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -10856,7 +11298,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -10910,7 +11354,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -10963,7 +11409,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -11203,7 +11651,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Kay", "__typename": "Person" } @@ -11242,7 +11692,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11280,7 +11732,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -11319,7 +11773,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -11358,7 +11814,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -11397,7 +11855,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11435,7 +11895,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11473,7 +11935,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11511,7 +11975,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11549,7 +12015,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11587,7 +12055,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -11628,7 +12098,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -11670,7 +12142,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11708,7 +12182,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11746,7 +12222,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11784,7 +12262,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11825,7 +12305,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11870,7 +12352,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -11911,7 +12395,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Kay", "__typename": "Person" } @@ -11952,7 +12438,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jim Kay", "__typename": "Person" } @@ -12095,7 +12583,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -12148,7 +12638,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -12201,7 +12693,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -12254,7 +12748,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -12305,7 +12801,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -12355,7 +12853,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Mike Newell", "__typename": "Person" }, { "display": "Steve Kloves", "__typename": "Person" }, @@ -12512,7 +13012,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12567,7 +13069,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12622,7 +13126,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12677,7 +13183,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12732,7 +13240,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12785,7 +13295,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12837,7 +13349,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Chris Columbus (f. 1958)", @@ -12996,7 +13510,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -13049,7 +13565,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (videobånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (videobånd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -13102,7 +13620,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -13155,7 +13675,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -13208,7 +13730,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -13259,7 +13783,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -13309,7 +13835,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Steve Kloves", "__typename": "Person" }, { "display": "Alfonso Cuarón", "__typename": "Person" }, @@ -13399,7 +13927,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13437,7 +13967,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13476,7 +14008,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13514,7 +14048,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -13553,7 +14089,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Stephen Fry", "__typename": "Person" } @@ -13592,7 +14130,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13630,7 +14170,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13668,7 +14210,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13711,7 +14255,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13756,7 +14302,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13795,7 +14343,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -13836,7 +14386,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14052,7 +14604,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14092,7 +14646,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14136,7 +14692,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14174,7 +14732,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14212,7 +14772,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14250,7 +14812,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14288,7 +14852,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14329,7 +14895,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14370,7 +14938,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14415,7 +14985,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14454,7 +15026,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14495,7 +15069,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -14713,7 +15289,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jack Thorne", "__typename": "Person" }, @@ -14754,7 +15332,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jack Thorne", "__typename": "Person" }, @@ -14794,7 +15374,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Jack Thorne", "__typename": "Person" }, @@ -15013,7 +15595,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15054,7 +15638,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15096,7 +15682,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15136,7 +15724,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15174,7 +15764,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15219,7 +15811,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15263,7 +15857,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15410,7 +16006,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15450,7 +16048,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15490,7 +16090,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Rufus Beck", "__typename": "Person" } @@ -15529,7 +16131,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15569,7 +16173,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15612,7 +16218,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15656,7 +16264,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15699,7 +16309,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15762,7 +16374,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "playstation 3" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "playstation 3" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Electronic Arts", "__typename": "Corporation" } @@ -15811,7 +16425,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "computerspil" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "computerspil" } } + ], "creators": [], "publisher": ["EA"], "identifiers": [], @@ -15855,7 +16471,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "nintendo ds" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "nintendo ds" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15895,7 +16513,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "xbox 360" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "xbox 360" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15941,7 +16561,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "wii" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "wii" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -15986,7 +16608,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "wii" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "wii" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16030,7 +16654,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "wii" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "wii" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16095,7 +16721,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "xbox 360" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "xbox 360" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16135,7 +16763,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "playstation 3" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "playstation 3" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Electronic Arts", "__typename": "Corporation" } @@ -16182,7 +16812,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "wii" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "wii" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16228,7 +16860,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "nintendo ds" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "nintendo ds" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16275,7 +16909,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "nintendo ds" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "nintendo ds" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16321,7 +16957,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "nintendo ds" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "nintendo ds" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16383,7 +17021,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -16424,7 +17064,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -16464,7 +17106,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -16607,7 +17251,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16647,7 +17293,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16687,7 +17335,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Rufus Beck", "__typename": "Person" } @@ -16726,7 +17376,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16766,7 +17418,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16810,7 +17464,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16851,7 +17507,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -16992,7 +17650,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17030,7 +17690,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17068,7 +17730,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17107,7 +17771,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17145,7 +17811,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17286,7 +17954,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17324,7 +17994,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17362,7 +18034,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17401,7 +18075,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17439,7 +18115,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17546,7 +18224,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17587,7 +18267,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17627,7 +18309,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17668,7 +18352,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -17725,8 +18411,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, @@ -17769,8 +18455,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, @@ -17812,8 +18498,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, @@ -17877,8 +18563,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Jeremy Paxman", "__typename": "Person" }, @@ -17924,8 +18610,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Jeremy Paxman", "__typename": "Person" }, @@ -17970,8 +18656,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Jeremy Paxman", "__typename": "Person" }, @@ -18084,7 +18770,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18123,7 +18811,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18161,7 +18851,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18301,7 +18993,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18339,7 +19033,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Lý Lan", "__typename": "Person" } @@ -18379,7 +19075,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Lý Lan", "__typename": "Person" } @@ -18418,7 +19116,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18525,7 +19225,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18564,7 +19266,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18602,7 +19306,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18709,7 +19415,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18748,7 +19456,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18786,7 +19496,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -18841,8 +19553,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Søren Kassebeer", "__typename": "Person" }, @@ -18888,8 +19600,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Søren Kassebeer", "__typename": "Person" }, @@ -18934,8 +19646,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Søren Kassebeer", "__typename": "Person" }, @@ -18999,8 +19711,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Nils Gunder Hansen", "__typename": "Person" }, @@ -19046,8 +19758,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Nils Gunder Hansen", "__typename": "Person" }, @@ -19092,8 +19804,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Nils Gunder Hansen", "__typename": "Person" }, @@ -19160,8 +19872,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Marianne Juhl", "__typename": "Person" }, @@ -19208,8 +19920,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Marianne Juhl", "__typename": "Person" }, @@ -19255,8 +19967,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Marianne Juhl", "__typename": "Person" }, @@ -19324,8 +20036,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, @@ -19372,8 +20084,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, @@ -19419,8 +20131,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, @@ -19495,8 +20207,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, @@ -19548,8 +20260,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, @@ -19600,8 +20312,8 @@ "code": "NONFICTION" }, "materialTypes": [ - { "specific": "artikel" }, - { "specific": "artikel (online)" } + { "materialTypeSpecific": { "display": "artikel" } }, + { "materialTypeSpecific": { "display": "artikel (online)" } } ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, diff --git a/cypress/fixtures/search-result/facet-browser/searchWithPagination_terms_krimi.json b/cypress/fixtures/search-result/facet-browser/searchWithPagination_terms_krimi.json index 4720ff352d..3dbc28cfa1 100644 --- a/cypress/fixtures/search-result/facet-browser/searchWithPagination_terms_krimi.json +++ b/cypress/fixtures/search-result/facet-browser/searchWithPagination_terms_krimi.json @@ -141,7 +141,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770073851" }], @@ -174,7 +176,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770073844" }], @@ -207,7 +211,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770071529" }], @@ -240,7 +246,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770071987" }], @@ -274,7 +282,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "AV Forlaget Den Grimme Ælling"], "identifiers": [{ "value": "9788770071710" }], @@ -310,7 +320,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "AV Forlaget Den Grimme Ælling"], "identifiers": [{ "value": "9788770071703" }], @@ -346,7 +358,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [{ "value": "9788703090955" }], @@ -379,7 +393,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770071697" }], @@ -414,7 +430,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770073844" }], @@ -447,7 +465,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770073851" }], @@ -608,7 +628,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771467321" }], @@ -641,7 +663,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771468007" }], @@ -675,7 +699,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "AV Forlaget Den Grimme Ælling"], "identifiers": [{ "value": "9788771467819" }], @@ -711,7 +737,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771467826" }], @@ -745,7 +773,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "AV Forlaget Den Grimme Ælling"], "identifiers": [{ "value": "9788771467802" }], @@ -781,7 +811,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [{ "value": "9788703079837" }], @@ -814,7 +846,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770070102" }], @@ -847,7 +881,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770070096" }], @@ -881,7 +917,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770070096" }], @@ -914,7 +952,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770070096" }], @@ -1081,7 +1121,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "87-7394-602-8" }], @@ -1117,7 +1159,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Den grimme Ælling"], "identifiers": [], @@ -1153,7 +1197,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Jo Nesbø", "__typename": "Person" }, { "display": "Kim Westi", "__typename": "Person" } @@ -1192,7 +1238,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Den grimme Ælling"], "identifiers": [], @@ -1228,7 +1276,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770530507" }], @@ -1264,7 +1314,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770531849" }], @@ -1300,7 +1352,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533362" }], @@ -1336,7 +1390,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533966" }], @@ -1373,7 +1429,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537919" }], @@ -1405,7 +1463,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770539517" }], @@ -1444,7 +1504,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533461" }], @@ -1483,7 +1545,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465754" }], @@ -1520,7 +1584,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465754" }], @@ -1556,7 +1622,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465754" }], @@ -1720,7 +1788,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770539791" }], @@ -1756,7 +1826,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771460353" }], @@ -1795,7 +1867,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771460360" }], @@ -1834,7 +1908,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771460346" }], @@ -1868,7 +1944,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770539715" }], @@ -1905,7 +1983,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [{ "value": "9788703061207" }], @@ -1941,7 +2021,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771461305" }], @@ -1977,7 +2059,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [ @@ -2014,7 +2098,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [ @@ -2050,7 +2136,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [ @@ -2214,7 +2302,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770530934" }], @@ -2247,7 +2337,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Den grimme Ælling"], "identifiers": [], @@ -2280,7 +2372,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770531665" }], @@ -2316,7 +2410,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770531917" }], @@ -2349,7 +2445,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770531900" }], @@ -2385,7 +2483,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533522" }], @@ -2421,7 +2521,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770534024" }], @@ -2453,7 +2555,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537988" }], @@ -2482,7 +2586,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465815" }], @@ -2515,7 +2621,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771468250" }], @@ -2549,7 +2657,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771468250" }], @@ -2582,7 +2692,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771468250" }], @@ -2743,7 +2855,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770077231" }], @@ -2776,7 +2890,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "87-7394-693-1" }], @@ -2809,7 +2925,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Jo Nesbø", "__typename": "Person" }, { "display": "Per Lykke Hansen", "__typename": "Person" } @@ -2845,7 +2963,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788773948958" }], @@ -2878,7 +2998,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Den grimme Ælling"], "identifiers": [], @@ -2911,7 +3033,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "for Dansk Supermarked"], "identifiers": [{ "value": "9788770740968" }], @@ -2944,7 +3068,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770531863" }], @@ -2977,7 +3103,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533386" }], @@ -3010,7 +3138,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533980" }], @@ -3042,7 +3172,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537933" }], @@ -3076,7 +3208,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533485" }], @@ -3112,7 +3246,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465778" }], @@ -3146,7 +3282,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770077231" }], @@ -3179,7 +3317,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770077231" }], @@ -3276,7 +3416,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -3314,7 +3456,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -3355,7 +3499,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -3401,7 +3547,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -3456,7 +3604,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -3495,7 +3645,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -3533,7 +3685,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -3699,7 +3853,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "87-7394-659-1" }], @@ -3735,7 +3891,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Den grimme Ælling"], "identifiers": [], @@ -3771,7 +3929,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Jo Nesbø", "__typename": "Person" }, { "display": "Per Lykke Hansen", "__typename": "Person" } @@ -3810,7 +3970,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Den grimme Ælling"], "identifiers": [], @@ -3846,7 +4008,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770530514" }], @@ -3882,7 +4046,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770531856" }], @@ -3918,7 +4084,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533379" }], @@ -3954,7 +4122,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533973" }], @@ -3991,7 +4161,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537926" }], @@ -4023,7 +4195,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770539524" }], @@ -4062,7 +4236,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533478" }], @@ -4101,7 +4277,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465761" }], @@ -4138,7 +4316,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465761" }], @@ -4174,7 +4354,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465761" }], @@ -4341,7 +4523,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533188" }], @@ -4377,7 +4561,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533652" }], @@ -4416,7 +4602,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [{ "value": "9788703039664" }], @@ -4452,7 +4640,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770535984" }], @@ -4488,7 +4678,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770534031" }], @@ -4525,7 +4717,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537995" }], @@ -4557,7 +4751,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533539" }], @@ -4596,7 +4792,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770535977" }], @@ -4632,7 +4830,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465822" }], @@ -4669,7 +4869,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465822" }], @@ -4705,7 +4907,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465822" }], @@ -4866,7 +5070,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770536516" }], @@ -4899,7 +5105,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537032" }], @@ -4935,7 +5143,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [{ "value": "9788703051918" }], @@ -4968,7 +5178,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537865" }], @@ -5002,7 +5214,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770538015" }], @@ -5038,7 +5252,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770539876" }], @@ -5074,7 +5290,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770536530" }], @@ -5110,7 +5328,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771460162" }], @@ -5143,7 +5363,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465839" }], @@ -5177,7 +5399,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465839" }], @@ -5210,7 +5434,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465839" }], @@ -5377,7 +5603,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [ @@ -5416,7 +5644,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Den grimme Ælling"], "identifiers": [], @@ -5452,7 +5682,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [ @@ -5491,7 +5723,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770530682" }], @@ -5527,7 +5761,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770531894" }], @@ -5563,7 +5799,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770534017" }], @@ -5598,7 +5836,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537971" }], @@ -5630,7 +5870,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533515" }], @@ -5669,7 +5911,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465808" }], @@ -5706,7 +5950,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465808" }], @@ -5742,7 +5988,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465808" }], @@ -5906,7 +6154,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "87-7394-893-4" }], @@ -5942,7 +6192,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [{ "value": "87-03-00815-0" }], @@ -5978,7 +6230,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Den grimme Ælling"], "identifiers": [], @@ -6014,7 +6268,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Jo Nesbø", "__typename": "Person" }, { "display": "Bent Otto Hansen", "__typename": "Person" } @@ -6053,7 +6309,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Danmarks Blindebibliotek"], "identifiers": [{ "value": "Masternr. 705114" }], @@ -6098,7 +6356,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Danmarks Blindebibliotek"], "identifiers": [{ "value": "Best.nr. 105039" }], @@ -6140,7 +6400,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [ @@ -6179,7 +6441,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770531887" }], @@ -6215,7 +6479,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533409" }], @@ -6251,7 +6517,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770534000" }], @@ -6286,7 +6554,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537964" }], @@ -6318,7 +6588,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533508" }], @@ -6357,7 +6629,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465792" }], @@ -6394,7 +6668,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465792" }], @@ -6430,7 +6706,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465792" }], @@ -6631,7 +6909,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -6680,7 +6960,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -6721,7 +7003,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -6759,7 +7043,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -6806,7 +7092,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -6847,7 +7135,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -7016,7 +7306,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "87-7394-805-5" }], @@ -7052,7 +7344,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Danmarks Blindebibliotek"], "identifiers": [ @@ -7091,7 +7385,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Gyldendals Bogklubber"], "identifiers": [ @@ -7130,7 +7426,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Den grimme Ælling"], "identifiers": [], @@ -7166,7 +7464,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Jo Nesbø", "__typename": "Person" }, { "display": "Bent Otto Hansen", "__typename": "Person" } @@ -7205,7 +7505,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [ @@ -7244,7 +7546,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk", "for Dansk Supermarked"], "identifiers": [{ "value": "9788770740975" }], @@ -7280,7 +7584,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770531870" }], @@ -7316,7 +7622,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533393" }], @@ -7352,7 +7660,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533997" }], @@ -7387,7 +7697,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537940" }], @@ -7419,7 +7731,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533492" }], @@ -7458,7 +7772,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465785" }], @@ -7495,7 +7811,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465785" }], @@ -7531,7 +7849,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771465785" }], @@ -7732,7 +8052,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -7770,7 +8092,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -7808,7 +8132,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -7854,7 +8180,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -7895,7 +8223,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -7936,7 +8266,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -7986,7 +8318,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8024,7 +8358,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8224,7 +8560,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8270,7 +8608,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8308,7 +8648,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8349,7 +8691,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8390,7 +8734,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8428,7 +8774,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8475,7 +8823,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8510,7 +8860,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8713,7 +9065,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8751,7 +9105,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8789,7 +9145,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8827,7 +9185,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8868,7 +9228,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8918,7 +9280,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -8967,7 +9331,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9063,7 +9429,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9109,7 +9477,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9147,7 +9517,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9196,7 +9568,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9238,7 +9612,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9279,7 +9655,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9479,7 +9857,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9517,7 +9897,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9563,7 +9945,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9604,7 +9988,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9645,7 +10031,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9694,7 +10082,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9733,7 +10123,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9771,7 +10163,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -9971,7 +10365,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10009,7 +10405,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10050,7 +10448,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10091,7 +10491,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10137,7 +10539,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10184,7 +10588,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10227,7 +10633,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10283,7 +10691,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Dion Beebe", "__typename": "Person" }, { @@ -10337,7 +10747,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Dion Beebe", "__typename": "Person" }, { @@ -10389,7 +10801,9 @@ }, "titles": { "main": ["The snowman"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Dion Beebe", "__typename": "Person" }, { @@ -10440,7 +10854,9 @@ }, "titles": { "main": ["The snowman"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Dion Beebe", "__typename": "Person" }, { @@ -10659,7 +11075,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10697,7 +11115,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10735,7 +11155,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10774,7 +11196,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -10812,7 +11236,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11012,7 +11438,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11050,7 +11478,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11088,7 +11518,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11127,7 +11559,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11165,7 +11599,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11368,7 +11804,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11406,7 +11844,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11444,7 +11884,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" }, { "display": "Jesper Bøllehuus", "__typename": "Person" } @@ -11483,7 +11925,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11521,7 +11965,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11571,7 +12017,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11620,7 +12068,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11823,7 +12273,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11861,7 +12313,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11899,7 +12353,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11937,7 +12393,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -11975,7 +12433,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" }, { "display": "Rebekka Owe", "__typename": "Person" }, @@ -12015,7 +12475,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12053,7 +12515,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12103,7 +12567,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12152,7 +12618,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12355,7 +12823,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12393,7 +12863,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12431,7 +12903,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12470,7 +12944,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12508,7 +12984,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12708,7 +13186,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12746,7 +13226,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12787,7 +13269,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12828,7 +13312,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12877,7 +13363,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12921,7 +13409,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -12964,7 +13454,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -13020,7 +13512,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13068,7 +13562,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13116,7 +13612,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13164,7 +13662,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (online)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13210,7 +13710,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13258,7 +13760,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13306,7 +13810,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13354,7 +13860,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13400,7 +13908,9 @@ }, "titles": { "main": ["Dirty Harry"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13445,7 +13955,9 @@ }, "titles": { "main": ["Dirty Harry"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Bruce Surtees", "__typename": "Person" }, { "display": "Harry Julian Fink", "__typename": "Person" }, @@ -13515,7 +14027,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Daniel Barber", "__typename": "Person" }, { @@ -13567,7 +14081,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Daniel Barber", "__typename": "Person" }, { @@ -13619,7 +14135,9 @@ }, "titles": { "main": ["Harry Brown"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Daniel Barber", "__typename": "Person" }, { @@ -13670,7 +14188,9 @@ }, "titles": { "main": ["Harry Brown"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Daniel Barber", "__typename": "Person" }, { @@ -13765,7 +14285,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -13803,7 +14325,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -13839,7 +14363,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -13877,7 +14403,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -13964,7 +14492,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -14007,7 +14537,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -14050,7 +14582,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -14102,7 +14636,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -14158,7 +14694,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -14213,7 +14751,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -14285,7 +14825,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14329,7 +14871,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14367,7 +14911,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14408,7 +14954,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14450,7 +14998,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14491,7 +15041,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14546,7 +15098,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14585,7 +15139,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14623,7 +15179,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14703,7 +15261,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14738,7 +15298,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14777,7 +15339,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14815,7 +15379,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -14871,7 +15437,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771460377" }], @@ -14908,7 +15476,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771460377" }], @@ -14944,7 +15514,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771460377" }], @@ -15000,7 +15572,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" }, { "display": "Harry Fonnest", "__typename": "Person" } @@ -15039,7 +15613,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15077,7 +15653,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15115,7 +15693,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15153,7 +15733,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15191,7 +15773,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15229,7 +15813,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15267,7 +15853,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15308,7 +15896,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15343,7 +15933,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15377,7 +15969,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Raymond Chandler", "__typename": "Person" } ], @@ -15436,7 +16030,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771467697" }], @@ -15473,7 +16069,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771467697" }], @@ -15509,7 +16107,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771467697" }], @@ -15565,7 +16165,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771466096" }], @@ -15602,7 +16204,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771466096" }], @@ -15638,7 +16242,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771466096" }], @@ -15689,7 +16295,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Stieg Trenter", "__typename": "Person" } ], @@ -15727,7 +16335,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Stieg Trenter", "__typename": "Person" } ], @@ -15765,7 +16375,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Stieg Trenter", "__typename": "Person" } ], @@ -15803,7 +16415,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Stieg Trenter", "__typename": "Person" } ], @@ -15847,7 +16461,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Stieg Trenter", "__typename": "Person" } ], @@ -15897,7 +16513,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Stieg Trenter", "__typename": "Person" } ], @@ -15946,7 +16564,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Stieg Trenter", "__typename": "Person" } ], @@ -16002,7 +16622,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533737" }], @@ -16039,7 +16661,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533737" }], @@ -16075,7 +16699,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770533737" }], @@ -16244,7 +16870,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" }, { "display": "James Marsters", "__typename": "Person" } @@ -16303,7 +16931,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -16338,7 +16968,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -16373,7 +17005,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -16408,7 +17042,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -16444,7 +17080,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -16479,7 +17117,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Jim Butcher", "__typename": "Person" } ], @@ -16532,7 +17172,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537247" }], @@ -16569,7 +17211,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537247" }], @@ -16605,7 +17249,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770537247" }], @@ -16729,7 +17375,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (dvd)" } } + ], "creators": [ { "display": "Alfred Hitchcock", "__typename": "Person" }, { "display": "John Michael Hayes", "__typename": "Person" }, @@ -16776,7 +17424,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Alfred Hitchcock", "__typename": "Person" }, { "display": "John Michael Hayes", "__typename": "Person" }, @@ -16826,7 +17476,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Alfred Hitchcock", "__typename": "Person" }, { "display": "John Michael Hayes", "__typename": "Person" }, @@ -16874,7 +17526,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Alfred Hitchcock", "__typename": "Person" }, { "display": "John Michael Hayes", "__typename": "Person" }, @@ -16927,7 +17581,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Alfred Hitchcock", "__typename": "Person" }, { "display": "John Michael Hayes", "__typename": "Person" }, @@ -16975,7 +17631,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray)" } } + ], "creators": [ { "display": "Alfred Hitchcock", "__typename": "Person" }, { "display": "John Michael Hayes", "__typename": "Person" }, @@ -17024,7 +17682,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Alfred Hitchcock", "__typename": "Person" }, { "display": "John Michael Hayes", "__typename": "Person" }, @@ -17066,7 +17726,9 @@ }, "titles": { "main": ["The trouble with Harry"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Alfred Hitchcock", "__typename": "Person" }, { "display": "John Michael Hayes", "__typename": "Person" }, @@ -17107,7 +17769,9 @@ }, "titles": { "main": ["The trouble with Harry"], "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "film (blu-ray 4K)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "film (blu-ray 4K)" } } + ], "creators": [ { "display": "Alfred Hitchcock", "__typename": "Person" }, { "display": "John Michael Hayes", "__typename": "Person" }, @@ -17168,7 +17832,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" }, { "display": "Len Cariou", "__typename": "Person" } @@ -17234,7 +17900,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -17269,7 +17937,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -17304,7 +17974,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" }, { "display": "David Soul", "__typename": "Person" } @@ -17343,7 +18015,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -17378,7 +18052,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -17413,7 +18089,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -17454,7 +18132,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -17489,7 +18169,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -17525,7 +18207,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -17560,7 +18244,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -17616,7 +18302,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771466119" }], @@ -17653,7 +18341,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771466119" }], @@ -17689,7 +18379,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788771466119" }], @@ -17735,7 +18427,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Aschehoug"], "identifiers": [{ "value": "9788203361661" }], @@ -17769,7 +18463,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Aschehoug"], "identifiers": [{ "value": "9788203361661" }], @@ -17802,7 +18498,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Aschehoug"], "identifiers": [{ "value": "9788203361661" }], @@ -17889,7 +18587,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770532303" }], @@ -17926,7 +18626,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770532303" }], @@ -17962,7 +18664,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770532303" }], @@ -18049,7 +18753,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770532303" }], @@ -18086,7 +18792,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770532303" }], @@ -18122,7 +18830,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog stor skrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog stor skrift" } } + ], "creators": [{ "display": "Jo Nesbø", "__typename": "Person" }], "publisher": ["Modtryk"], "identifiers": [{ "value": "9788770532303" }], @@ -18172,7 +18882,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" }, { "display": "Titus Welliver", "__typename": "Person" } @@ -18231,7 +18943,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -18270,7 +18984,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -18306,7 +19022,9 @@ "display": "vides ikke", "code": "NOT_SPECIFIED" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" }, { "display": "Titus Welliver", "__typename": "Person" } @@ -18365,7 +19083,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Michael Connelly", "__typename": "Person" } ], @@ -18982,7 +19702,9 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "tv-serie (dvd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "tv-serie (dvd)" } } + ], "creators": [ { "display": "Jon Bokenkamp", "__typename": "Person" } ], @@ -19033,7 +19755,11 @@ "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "tv-serie (blu-ray)" }], + "materialTypes": [ + { + "materialTypeSpecific": { "display": "tv-serie (blu-ray)" } + } + ], "creators": [ { "display": "Jon Bokenkamp", "__typename": "Person" } ], @@ -19082,7 +19808,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "tv-serie (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "tv-serie (blu-ray)" } } + ], "creators": [ { "display": "Jon Bokenkamp", "__typename": "Person" } ], @@ -19130,7 +19858,9 @@ "original": [] }, "fictionNonfiction": { "display": "fiktion", "code": "FICTION" }, - "materialTypes": [{ "specific": "tv-serie (blu-ray)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "tv-serie (blu-ray)" } } + ], "creators": [ { "display": "Jon Bokenkamp", "__typename": "Person" } ], diff --git a/cypress/fixtures/search-result/fbi-api.json b/cypress/fixtures/search-result/fbi-api.json index 16ad82b3f4..ea2dc78e0c 100644 --- a/cypress/fixtures/search-result/fbi-api.json +++ b/cypress/fixtures/search-result/fbi-api.json @@ -34,7 +34,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "e-bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "e-bog" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -80,7 +82,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -118,7 +122,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (online)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (online)" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -167,7 +173,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -209,7 +217,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -247,7 +257,9 @@ "display": "faglitteratur", "code": "NONFICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Angela Levin", "__typename": "Person" } ], @@ -383,7 +395,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -430,7 +444,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -468,7 +484,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (bånd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (bånd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { "display": "Mikkel Schou", "__typename": "Person" } @@ -507,7 +525,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "diskette" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "diskette" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -548,7 +568,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -586,7 +608,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "punktskrift" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "punktskrift" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -630,7 +654,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -671,7 +697,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" }, { @@ -713,7 +741,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -754,7 +784,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "lydbog (cd-mp3)" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "lydbog (cd-mp3)" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -792,7 +824,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -830,7 +864,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -868,7 +904,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -907,7 +945,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], @@ -954,7 +994,9 @@ "display": "skønlitteratur", "code": "FICTION" }, - "materialTypes": [{ "specific": "bog" }], + "materialTypes": [ + { "materialTypeSpecific": { "display": "bog" } } + ], "creators": [ { "display": "Joanne K. Rowling", "__typename": "Person" } ], diff --git a/src/apps/dashboard/dashboard.test.tsx b/src/apps/dashboard/dashboard.test.tsx index 05561b3060..5f161bdfca 100644 --- a/src/apps/dashboard/dashboard.test.tsx +++ b/src/apps/dashboard/dashboard.test.tsx @@ -1290,7 +1290,7 @@ describe("Dashboard", () => { display: "2006" } }, - materialTypes: [{ specific: "Dummy bog" }], + materialTypes: [{ materialTypeSpecific: { display: "Dummy bog" } }], creators: [ { display: "Dummy Jens Jensen" }, { display: "Dummy Some Corporation" } diff --git a/src/apps/fee-list/fee-list.test.ts b/src/apps/fee-list/fee-list.test.ts index eec068f2fc..f5977c55b0 100644 --- a/src/apps/fee-list/fee-list.test.ts +++ b/src/apps/fee-list/fee-list.test.ts @@ -98,7 +98,7 @@ describe("Fee list", () => { display: "2006" } }, - materialTypes: [{ specific: "Dummy bog" }], + materialTypes: [{ materialTypeSpecific: { display: "Dummy bog" } }], creators: [ { display: "Dummy Jens Jensen" }, { display: "Dummy Some Corporation" } From 475be9d078d525c7a1a7fdad8c390f9fc6ecbeb3 Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Sat, 13 Jan 2024 13:29:30 +0100 Subject: [PATCH 35/51] Adjust unit tests to new type.materialTypeSpecific field --- src/core/utils/helpers/general.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/core/utils/helpers/general.ts b/src/core/utils/helpers/general.ts index 0ca3b14850..eafaf7d34b 100644 --- a/src/core/utils/helpers/general.ts +++ b/src/core/utils/helpers/general.ts @@ -322,7 +322,7 @@ export const getMaterialTypes = ( manifestations .map((manifest) => manifest.materialTypes.map((type, i) => - i === 0 ? type.specific : null + i === 0 ? type.materialTypeSpecific.display : null ) ) .flat() @@ -333,7 +333,11 @@ export const getMaterialTypes = ( // In this case we aggreate all types even if a manifestation has multiple types. return uniq( manifestations - .map((manifest) => manifest.materialTypes.map((type) => type.specific)) + .map((manifest) => + manifest.materialTypes.map((type) => { + return type.materialTypeSpecific?.display; + }) + ) .flat() ) as ManifestationMaterialType[]; }; @@ -585,10 +589,14 @@ if (import.meta.vitest) { { materialTypes: [ { - specific: "artikel" + materialTypeSpecific: { + display: "artikel" + } }, { - specific: "artikel (online)" + materialTypeSpecific: { + display: "artikel (online)" + } } ] } From bda6888f7c30f6508c54813a56904c8ef5d7ec9f Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Sun, 14 Jan 2024 00:42:51 +0100 Subject: [PATCH 36/51] Found more issing materialTypeSpecific references In code and in tests. Since work.manifestationss[0].materialType.specific was refactored to work.manifestations[0].materialType.materialTypeSpecific.display we need change all occurences. And it appears to be a lot! We could use a general pointer to the value in manifesations! --- src/apps/loan-list/list/loan-list.test.ts | 2 +- src/apps/loan-list/modal/modals.test.tsx | 2 +- src/apps/material/helper.ts | 9 +++++---- .../list/reservation-list-pagination.test.ts | 2 +- .../modal/delete-reservation/delete-reservation.test.ts | 2 +- src/components/find-on-shelf/FindOnShelfModalBody.tsx | 2 +- src/components/instant-loan/InstantLoan.tsx | 2 +- src/components/material/MaterialMainfestationItem.tsx | 2 +- src/components/material/material-buttons/helper.ts | 3 ++- .../online/MaterialButtonOnlineExternal.tsx | 4 ++-- 10 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/apps/loan-list/list/loan-list.test.ts b/src/apps/loan-list/list/loan-list.test.ts index 3c70879404..6330e22182 100644 --- a/src/apps/loan-list/list/loan-list.test.ts +++ b/src/apps/loan-list/list/loan-list.test.ts @@ -182,7 +182,7 @@ describe("Loan list", () => { display: "2006" } }, - materialTypes: [{ specific: "Dummy bog" }], + materialTypes: [{ materialTypeSpecific: { display: "Dummy bog" } }], creators: [ { display: "Dummy Jens Jensen" }, { display: "Dummy Some Corporation" } diff --git a/src/apps/loan-list/modal/modals.test.tsx b/src/apps/loan-list/modal/modals.test.tsx index 9876a01773..8f1f35951c 100644 --- a/src/apps/loan-list/modal/modals.test.tsx +++ b/src/apps/loan-list/modal/modals.test.tsx @@ -53,7 +53,7 @@ describe("Modals", () => { display: "2006" } }, - materialTypes: [{ specific: "Dummy bog" }], + materialTypes: [{ materialTypeSpecific: { display: "Dummy bog" } }], creators: [ { display: "Dummy Jens Jensen" }, { display: "Dummy Some Corporation" } diff --git a/src/apps/material/helper.ts b/src/apps/material/helper.ts index cb042c4e22..2e8af28efd 100644 --- a/src/apps/material/helper.ts +++ b/src/apps/material/helper.ts @@ -45,7 +45,7 @@ export const getManifestationsOrderByTypeAndYear = ( const materialsMappedBytype = groupBy( orderedByYear, // all manifestations that not have a material type will be grouped under "unknown" - (m) => m?.materialTypes[0]?.specific ?? "unknown" + (m) => m?.materialTypes[0]?.materialTypeSpecific.display ?? "unknown" ); return ( @@ -347,7 +347,8 @@ export const isABook = (manifestations: Manifestation[]) => { return manifestations.some((manifestation) => { return manifestation.materialTypes.some( (materialType) => - materialType.specific.toLowerCase() === ManifestationMaterialType.book + materialType.materialTypeSpecific.display.toLowerCase() === + ManifestationMaterialType.book ); }); }; @@ -358,7 +359,7 @@ export const getBestMaterialTypeForManifestation = ( if (isABook([manifestation])) { return ManifestationMaterialType.book; } - return manifestation.materialTypes[0].specific; + return manifestation.materialTypes[0].materialTypeSpecific.display; }; export const getBestMaterialTypeForWork = (work: Work) => { @@ -377,7 +378,7 @@ export const getBestMaterialTypeForWork = (work: Work) => { return ManifestationMaterialType.book; } return getManifestationsWithMaterialType(work.manifestations.all)[0] - .materialTypes[0].specific; + .materialTypes[0].materialTypeSpecific.display; }; export const reservationModalId = (faustIds: FaustId[]) => { diff --git a/src/apps/reservation-list/list/reservation-list-pagination.test.ts b/src/apps/reservation-list/list/reservation-list-pagination.test.ts index 47f3956639..c5cdb42edd 100644 --- a/src/apps/reservation-list/list/reservation-list-pagination.test.ts +++ b/src/apps/reservation-list/list/reservation-list-pagination.test.ts @@ -302,7 +302,7 @@ describe("Reservation list pagination", () => { display: "2006" } }, - materialTypes: [{ specific: "Dummy bog" }], + materialTypes: [{ materialTypeSpecific: { display: "Dummy bog" } }], creators: [ { display: "Dummy Jens Jensen" }, { display: "Dummy Some Corporation" } diff --git a/src/apps/reservation-list/modal/delete-reservation/delete-reservation.test.ts b/src/apps/reservation-list/modal/delete-reservation/delete-reservation.test.ts index 382441c8e0..0168492309 100644 --- a/src/apps/reservation-list/modal/delete-reservation/delete-reservation.test.ts +++ b/src/apps/reservation-list/modal/delete-reservation/delete-reservation.test.ts @@ -169,7 +169,7 @@ describe("Delete reservation modal", () => { display: "2006" } }, - materialTypes: [{ specific: "Dummy bog" }], + materialTypes: [{ materialTypeSpecific: { display: "Dummy bog" } }], creators: [ { display: "Dummy Jens Jensen" }, { display: "Dummy Some Corporation" } diff --git a/src/components/find-on-shelf/FindOnShelfModalBody.tsx b/src/components/find-on-shelf/FindOnShelfModalBody.tsx index 4d280f94f1..7039d139dd 100644 --- a/src/components/find-on-shelf/FindOnShelfModalBody.tsx +++ b/src/components/find-on-shelf/FindOnShelfModalBody.tsx @@ -57,7 +57,7 @@ const FindOnShelfModalBody: FC = ({ const title = workTitles.join(", "); const isPeriodical = manifestations.some((manifestation) => { return manifestation.materialTypes.some((materialType) => { - return materialType.specific.includes("tidsskrift"); + return materialType.materialTypeSpecific.display === "tidsskrift"; }); }); diff --git a/src/components/instant-loan/InstantLoan.tsx b/src/components/instant-loan/InstantLoan.tsx index 6bb66dcd3f..ef89b86ae1 100644 --- a/src/components/instant-loan/InstantLoan.tsx +++ b/src/components/instant-loan/InstantLoan.tsx @@ -15,7 +15,7 @@ const InstantLoan: React.FunctionComponent = ({ instantLoanBranchHoldings }) => { const { pid, materialTypes } = manifestation; - const materialType = materialTypes[0].specific; + const materialType = materialTypes[0].materialTypeSpecific.display; return ( = ({
identifier.value)} accessTypes={accessTypesCodes} diff --git a/src/components/material/material-buttons/helper.ts b/src/components/material/material-buttons/helper.ts index 8d50a6f536..0ae4721e7d 100644 --- a/src/components/material/material-buttons/helper.ts +++ b/src/components/material/material-buttons/helper.ts @@ -36,7 +36,8 @@ export const hasCorrectMaterialType = ( return manifestations.some((manifestation) => { return manifestation.materialTypes.some( (type) => - type.specific.toLowerCase() === desiredMaterialType.toLowerCase() + type.materialTypeSpecific.display.toLowerCase() === + desiredMaterialType.toLowerCase() ); }); }; diff --git a/src/components/material/material-buttons/online/MaterialButtonOnlineExternal.tsx b/src/components/material/material-buttons/online/MaterialButtonOnlineExternal.tsx index c4ed227d7a..3c59db6146 100644 --- a/src/components/material/material-buttons/online/MaterialButtonOnlineExternal.tsx +++ b/src/components/material/material-buttons/online/MaterialButtonOnlineExternal.tsx @@ -23,7 +23,7 @@ export interface MaterialButtonOnlineExternalProps { export const getOnlineMaterialType = ( sourceName: AccessUrl["origin"], - materialTypes: MaterialType["specific"][] + materialTypes: MaterialType["materialTypeSpecific"]["display"][] ) => { if (sourceName.toLowerCase().includes("ereol")) { return "ebook"; @@ -77,7 +77,7 @@ const MaterialButtonOnlineExternal: FC = ({ const label = ( sourceName: AccessUrl["origin"], - materialTypes: MaterialType["specific"][] + materialTypes: MaterialType["materialTypeSpecific"]["display"][] ) => { const onlineMaterialType = getOnlineMaterialType(sourceName, materialTypes); switch (onlineMaterialType) { From 0679189bf6c10c36b9e8f8b268cefd23259d2ff6 Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Sun, 14 Jan 2024 01:00:11 +0100 Subject: [PATCH 37/51] Adding missing orderDigitalCopyFeedbackErrorMissingMunicipalityagencyidText in storybook --- src/apps/material/material.dev.tsx | 5 +++++ src/apps/material/material.entry.tsx | 1 + 2 files changed, 6 insertions(+) diff --git a/src/apps/material/material.dev.tsx b/src/apps/material/material.dev.tsx index 97bf17d385..c79ea46d57 100644 --- a/src/apps/material/material.dev.tsx +++ b/src/apps/material/material.dev.tsx @@ -663,6 +663,11 @@ export default { defaultValue: "Email", control: { type: "text" } }, + orderDigitalCopyFeedbackErrorMissingMunicipalityagencyidText: { + name: "Error missing municipality agency ID text", + defaultValue: "Error missing municipality agency ID", + control: { type: "text" } + }, authUrl: { name: "Url where user can authenticate", defaultValue: "", diff --git a/src/apps/material/material.entry.tsx b/src/apps/material/material.entry.tsx index c332eb1156..d944f467e8 100644 --- a/src/apps/material/material.entry.tsx +++ b/src/apps/material/material.entry.tsx @@ -133,6 +133,7 @@ interface MaterialEntryTextProps { orderDigitalCopyFeedbackUnknownUserText: string; orderDigitalCopyModalCloseModalAriaLabelText: string; orderDigitalCopyModalScreenReaderModalDescriptionText: string; + orderDigitalCopyFeedbackErrorMissingMunicipalityagencyidText: string; orderDigitalCopyTitleText: string; outOfText: string; periodicalSelectEditionText: string; From 08c63928611fc0bb9a2afcd981021729d10b260a Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Mon, 15 Jan 2024 12:04:08 +0100 Subject: [PATCH 38/51] Introduce wiremock stub to mock fees-v2 call without any parameteres We do have a mocking setup for fees-v2 with parameters, but turns out we use it (e.g. on the dashboard) without any parameters too. --- ...-ed922f92-46bb-46c6-926f-73678410fcd0.json | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .docker/wiremock/fbs/mappings/fees-v2-without-parameters-ed922f92-46bb-46c6-926f-73678410fcd0.json diff --git a/.docker/wiremock/fbs/mappings/fees-v2-without-parameters-ed922f92-46bb-46c6-926f-73678410fcd0.json b/.docker/wiremock/fbs/mappings/fees-v2-without-parameters-ed922f92-46bb-46c6-926f-73678410fcd0.json new file mode 100644 index 0000000000..7924d42adf --- /dev/null +++ b/.docker/wiremock/fbs/mappings/fees-v2-without-parameters-ed922f92-46bb-46c6-926f-73678410fcd0.json @@ -0,0 +1,23 @@ +{ + "id" : "ed922f92-46bb-46c6-926f-73678410fcd0", + "name" : "Fees (v2) (without parameters)", + "request" : { + "urlPath" : "/external/agencyid/patron/patronid/fees/v2", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "[\n {\n \"feeId\": 434536,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 70,\n \"dueDate\": \"2022-05-08\",\n \"creationDate\": \"2022-04-06\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"5237124059\",\n \"recordId\": \"48724566\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5119382558\",\n \"recordId\": \"52518563\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5324175956\",\n \"recordId\": \"38540335\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 434537,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 70,\n \"dueDate\": \"2022-05-08\",\n \"creationDate\": \"2022-04-06\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"3275348197\",\n \"recordId\": \"23790823\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5218297864\",\n \"recordId\": \"45951685\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 434538,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 120,\n \"dueDate\": \"2022-05-08\",\n \"creationDate\": \"2022-04-06\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"5136106556\",\n \"recordId\": \"53067034\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n },\n {\n \"materialItemNumber\": \"5232011841\",\n \"recordId\": \"54058969\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 306404,\n \"type\": \"fee\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 2.56,\n \"dueDate\": \"2020-04-15\",\n \"creationDate\": \"2019-10-18\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"3839631447\",\n \"recordId\": \"26285283\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 377242,\n \"type\": \"compensation\",\n \"reasonMessage\": \"Erstatning (test)\",\n \"amount\": 1,\n \"dueDate\": \"2021-08-10\",\n \"creationDate\": \"2021-02-11\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"271358741\",\n \"recordId\": \"01484524\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n },\n {\n \"feeId\": 411199,\n \"type\": \"compensation\",\n \"reasonMessage\": \"Gebyr (for sent)\",\n \"amount\": 1.5,\n \"dueDate\": \"2021-12-24\",\n \"creationDate\": \"2021-11-24\",\n \"paidDate\": null,\n \"payableByClient\": true,\n \"materials\": [\n {\n \"materialItemNumber\": \"262088571\",\n \"recordId\": \"06964206\",\n \"periodical\": null,\n \"materialGroup\": {\n \"name\": \"standard\",\n \"description\": \"31 dages lånetid til alm lånere\"\n }\n }\n ]\n }\n]", + "headers" : { + "content-type" : "application/json; charset=utf-8", + "date" : "{{now format='yyyy-MM-dd HH:mm:ssZ'}}", + "strict-transport-security" : "max-age=15552000" + }, + "transformers" : [ "response-template" ] + }, + "uuid" : "ed922f92-46bb-46c6-926f-73678410fcd0", + "persistent" : true, + "priority" : 4, + "insertionIndex" : 19, + "postServeActions" : [ ] +} \ No newline at end of file From 2b3e4fec9880842983e257d512403725e90fe93c Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Mon, 15 Jan 2024 12:05:46 +0100 Subject: [PATCH 39/51] Add a possibility for ArrowButton comp to handle keyboard events It was already able to handle click events, but not keyboard events, which made it inaccessible. --- src/components/Buttons/ArrowButton.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/components/Buttons/ArrowButton.tsx b/src/components/Buttons/ArrowButton.tsx index 700e9dc3c8..9e39858d35 100644 --- a/src/components/Buttons/ArrowButton.tsx +++ b/src/components/Buttons/ArrowButton.tsx @@ -4,12 +4,14 @@ import Arrow from "../atoms/icons/arrow/arrow"; export interface ArrowButtonProps { cursorPointer: boolean; clickEventHandler?: () => void; + keyUpEventHandler?: (e: React.KeyboardEvent) => void; arrowLabelledBy: string; } const ArrowButton: React.FC = ({ cursorPointer = false, clickEventHandler, + keyUpEventHandler, arrowLabelledBy }) => { const pointer = (cursorPointer && { cursor: "pointer" }) || { @@ -27,6 +29,12 @@ const ArrowButton: React.FC = ({ clickEventHandler(); } }} + onKeyUp={(e) => { + if (keyUpEventHandler) { + e.stopPropagation(); + keyUpEventHandler(e); + } + }} > From 15d4152ad7c88301c887f89393567cb6d523b0ba Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Mon, 15 Jan 2024 12:06:52 +0100 Subject: [PATCH 40/51] Don't render arrow button inside another button in selectable-material ..component. This breaks accessibility rules: https://dequeuniversity.com/rules/axe/4.8/nested-interactive?application=AxeChrome --- .../selectable-material/selectable-material.tsx | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/apps/loan-list/materials/selectable-material/selectable-material.tsx b/src/apps/loan-list/materials/selectable-material/selectable-material.tsx index 632f75118f..58a6f6850b 100644 --- a/src/apps/loan-list/materials/selectable-material/selectable-material.tsx +++ b/src/apps/loan-list/materials/selectable-material/selectable-material.tsx @@ -59,7 +59,9 @@ const SelectableMaterial: FC = ({ openDetailsModal(item); } }; - const handleOnKeyUp = (e: React.KeyboardEvent) => { + const handleOnKeyUp = ( + e: React.KeyboardEvent + ) => { if (openDetailsModal && (e.key === "Enter" || e.key === "Space")) { openDetailsModal(item); } @@ -150,17 +152,12 @@ const SelectableMaterial: FC = ({
{openDetailsModal && ( -
+
openDetailsModal(item)} + clickEventHandler={handleOnClick} + keyUpEventHandler={handleOnKeyUp} />
)} From 70f88ac93054641f443cc24248df31e241b7d49f Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Mon, 15 Jan 2024 13:33:12 +0100 Subject: [PATCH 41/51] Use next-present for all FBI requests except search related ones To reflect how it will be done in production --- src/core/storybook/serviceUrlArgs.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/storybook/serviceUrlArgs.ts b/src/core/storybook/serviceUrlArgs.ts index a481c8ebfc..9ca45f8f2e 100644 --- a/src/core/storybook/serviceUrlArgs.ts +++ b/src/core/storybook/serviceUrlArgs.ts @@ -29,7 +29,7 @@ export default { }, [serviceUrlKeys.fbi]: { name: "Base url for the FBI API", - defaultValue: "https://fbi-api.dbc.dk/next/graphql", + defaultValue: "https://fbi-api.dbc.dk/next-present/graphql", control: { type: "text" } }, [serviceUrlKeys.fbiSearch]: { @@ -39,7 +39,7 @@ export default { }, [serviceUrlKeys.fbiMaterial]: { name: "Base url for the FBI API (material)", - defaultValue: "https://fbi-api.dbc.dk/next/graphql", + defaultValue: "https://fbi-api.dbc.dk/next-present/graphql", control: { type: "text" } } }; From 38f02c34d61fd71f1a7c8ff34f402f688cee87e9 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Mon, 15 Jan 2024 13:38:56 +0100 Subject: [PATCH 42/51] Replace isDateBeforePaymentChangeDate by getFeesBasedOnPayableByClient Helper function isDateBeforePaymentChangeDate is no longer needed following the business logic we follow today. This function was replaced by getFeesBasedOnPayableByClient. --- src/apps/fee-list/utils/helper.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/apps/fee-list/utils/helper.ts b/src/apps/fee-list/utils/helper.ts index 106bce85d8..66556f4ff3 100644 --- a/src/apps/fee-list/utils/helper.ts +++ b/src/apps/fee-list/utils/helper.ts @@ -1,4 +1,3 @@ -import dayjs from "dayjs"; import { FeeV2 } from "../../../core/fbs/model"; export const getFeeObjectByFaustId = (feeObj: FeeV2[], faustId: string) => { @@ -7,11 +6,11 @@ export const getFeeObjectByFaustId = (feeObj: FeeV2[], faustId: string) => { }); }; -export const isDateBeforePaymentChangeDate = (date: string) => { - const thisDate = dayjs(date); - const paymentMethodChangeDate = dayjs("2020-10-27"); // The Date fee-payment-method changed - if (thisDate < paymentMethodChangeDate) { - return true; - } - return false; +export const getFeesBasedOnPayableByClient = ( + fees: FeeV2[], + payableByClient: boolean +) => { + return fees.filter((fee) => { + return fee.payableByClient === payableByClient; + }); }; From e200897800a874df3903382b4e84ec1448275dde Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Mon, 15 Jan 2024 13:41:24 +0100 Subject: [PATCH 43/51] Rename feeList translations to better reflect their purpose unpaidFeesFirstHeadlineText -> unpaidFeesPayableByClientHeadlineText unpaidFeesSecondHeadlineText -> unpaidFeesNotPayableByClientHeadlineText --- src/apps/fee-list/FeeList.dev.tsx | 8 ++++---- src/apps/fee-list/FeeList.entry.tsx | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/apps/fee-list/FeeList.dev.tsx b/src/apps/fee-list/FeeList.dev.tsx index 680d151d03..49551a0e8d 100644 --- a/src/apps/fee-list/FeeList.dev.tsx +++ b/src/apps/fee-list/FeeList.dev.tsx @@ -81,12 +81,12 @@ export default { defaultValue: "https://unsplash.com/photos/JDzoTGfoogA", // Open source image of an adventurous duck control: { type: "text" } }, - unpaidFeesFirstHeadlineText: { - defaultValue: "Unsettled debt 1", + unpaidFeesPayableByClientHeadlineText: { + defaultValue: "Unsettled debt - paid on site", control: { type: "text" } }, - unpaidFeesSecondHeadlineText: { - defaultValue: "Unsettled debt 2", + unpaidFeesNotPayableByClientHeadlineText: { + defaultValue: "Unsettled debt - paid externally", control: { type: "text" } }, alreadyPaidText: { diff --git a/src/apps/fee-list/FeeList.entry.tsx b/src/apps/fee-list/FeeList.entry.tsx index 7c5693a5f4..9d7d3ee72d 100644 --- a/src/apps/fee-list/FeeList.entry.tsx +++ b/src/apps/fee-list/FeeList.entry.tsx @@ -43,8 +43,8 @@ export interface FeeListProps { totalFeeAmountText: string; totalText: string; turnedInText: string; - unpaidFeesFirstHeadlineText: string; - unpaidFeesSecondHeadlineText: string; + unpaidFeesPayableByClientHeadlineText: string; + unpaidFeesNotPayableByClientHeadlineText: string; viewFeesAndCompensationRatesText: string; viewFeesAndCompensationRatesUrl: string; } From 590d8aea736791a58c7952b149fb8802fa47b387 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Mon, 15 Jan 2024 13:42:32 +0100 Subject: [PATCH 44/51] Show how many fees appear in the fee list beside the headline --- src/apps/fee-list/list.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/fee-list/list.tsx b/src/apps/fee-list/list.tsx index a9d2d78d57..cee0911bb4 100644 --- a/src/apps/fee-list/list.tsx +++ b/src/apps/fee-list/list.tsx @@ -25,7 +25,7 @@ const List: FC = ({
{fees && (
- + {fees.map((itemData) => ( Date: Mon, 15 Jan 2024 13:43:15 +0100 Subject: [PATCH 45/51] Divide fees into two lists - payable and not payable by the client on the fees list page. --- src/apps/fee-list/FeeList.tsx | 78 ++++++++++++++++++++++++++--------- 1 file changed, 58 insertions(+), 20 deletions(-) diff --git a/src/apps/fee-list/FeeList.tsx b/src/apps/fee-list/FeeList.tsx index bb98428659..054cb74c1a 100644 --- a/src/apps/fee-list/FeeList.tsx +++ b/src/apps/fee-list/FeeList.tsx @@ -10,7 +10,10 @@ import FeeDetailsModal from "./modal/fee-details-modal"; import MyPaymentOverviewModal from "./modal/my-payment-overview-modal"; import FeeDetailsContent from "./stackable-fees/fee-details-content"; import modalIdsConf from "../../core/configuration/modal-ids.json"; -import { getFeeObjectByFaustId } from "./utils/helper"; +import { + getFeeObjectByFaustId, + getFeesBasedOnPayableByClient +} from "./utils/helper"; import ListHeader from "../../components/list-header/list-header"; import EmptyList from "../../components/empty-list/empty-list"; @@ -24,7 +27,12 @@ const FeeList: FC = () => { includepaid: false, includenonpayable: true }); - const [totalFeeAmount, setTotalFeeAmount] = useState(0); + const [totalFeeAmountPayableByClient, setTotalFeeAmountPayableByClient] = + useState(0); + const [ + totalFeeAmountNotPayableByClient, + setTotalFeeAmountNotPayableByClient + ] = useState(0); const [feeDetailsData, setFeeDetailsData] = useState(); const openDetailsModalClickEvent = useCallback( (faustId: string) => { @@ -40,17 +48,30 @@ const FeeList: FC = () => { ); useEffect(() => { - if (totalFeeAmount > 0 || !fbsFees.length) { + if (totalFeeAmountPayableByClient > 0 || !fbsFees.length) { return; } - const totalFee = fbsFees.reduce( - (accumulator, { amount }) => accumulator + amount, - 0 - ); - if (totalFee) { - setTotalFeeAmount(totalFee); + const totalFeePayableByClient = getFeesBasedOnPayableByClient( + fbsFees, + true + ).reduce((accumulator, { amount }) => accumulator + amount, 0); + if (totalFeePayableByClient) { + setTotalFeeAmountPayableByClient(totalFeePayableByClient); } - }, [fbsFees, totalFeeAmount]); + }, [fbsFees, totalFeeAmountPayableByClient]); + + useEffect(() => { + if (totalFeeAmountNotPayableByClient > 0 || !fbsFees.length) { + return; + } + const totalFeeNotPayableByClient = getFeesBasedOnPayableByClient( + fbsFees, + true + ).reduce((accumulator, { amount }) => accumulator + amount, 0); + if (totalFeeNotPayableByClient) { + setTotalFeeAmountNotPayableByClient(totalFeeNotPayableByClient); + } + }, [fbsFees, totalFeeAmountNotPayableByClient]); return ( <> @@ -67,7 +88,7 @@ const FeeList: FC = () => { {!fbsFees.length && ( <> {t("unpaidFeesFirstHeadlineText")}} + header={<>{t("unpaidFeesPayableByClientHeadlineText")}} amount={0} /> { /> )} - + {getFeesBasedOnPayableByClient(fbsFees, true).length > 0 && ( + + )} + {getFeesBasedOnPayableByClient(fbsFees, false).length > 0 && ( + + )}
{feeDetailsData && ( From c73e842ac3f5f7db8ba758dcde79bd03a7531bb4 Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Tue, 16 Jan 2024 12:20:15 +0100 Subject: [PATCH 46/51] Make it possible to vary the FBI profile in fixtures Since the FBI profile now can vary with a next prefix we need to accommodate that in our cypress fixture matching --- cypress/support/index.ts | 2 +- src/apps/dashboard/dashboard.test.tsx | 2 +- src/apps/favorites-list/favorites-list.test.ts | 2 +- src/apps/fee-list/fee-list.test.ts | 2 +- src/apps/loan-list/list/loan-list.test.ts | 2 +- src/apps/loan-list/modal/modals.test.tsx | 2 +- .../list/reservation-list-pagination.test.ts | 2 +- src/apps/reservation-list/list/reservation-list.test.ts | 4 ++-- .../modal/delete-reservation/delete-reservation.test.ts | 4 ++-- .../modal/reservation-details/reservation-details.test.ts | 6 +++--- src/apps/search-header/search-header.test.ts | 2 +- src/apps/search-result/search-result.test.ts | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/cypress/support/index.ts b/cypress/support/index.ts index 8166311edb..c78909c807 100644 --- a/cypress/support/index.ts +++ b/cypress/support/index.ts @@ -50,7 +50,7 @@ Cypress.Commands.add( fixtureFilePath, statusCode = 200 }: InterceptGraphqlParams) => { - cy.intercept("POST", "**/next/graphql", (req) => { + cy.intercept("POST", "**/next*/graphql", (req) => { if (hasOperationName(req, operationName)) { if (fixtureFilePath) { req.reply({ fixture: fixtureFilePath, statusCode }); diff --git a/src/apps/dashboard/dashboard.test.tsx b/src/apps/dashboard/dashboard.test.tsx index 05561b3060..ed8d643034 100644 --- a/src/apps/dashboard/dashboard.test.tsx +++ b/src/apps/dashboard/dashboard.test.tsx @@ -1276,7 +1276,7 @@ describe("Dashboard", () => { } ).as("reservations"); - cy.intercept("POST", "**/next/**", { + cy.intercept("POST", "**/next*/**", { statusCode: 200, body: { data: { diff --git a/src/apps/favorites-list/favorites-list.test.ts b/src/apps/favorites-list/favorites-list.test.ts index 2b1559f747..cf4b449c55 100644 --- a/src/apps/favorites-list/favorites-list.test.ts +++ b/src/apps/favorites-list/favorites-list.test.ts @@ -30,7 +30,7 @@ describe("Favorites list", () => { }); cy.interceptRest({ - url: "**/next/**", + url: "**/next*/**", httpMethod: "POST", fixtureFilePath: "favorites-list/work.json", aliasName: "work" diff --git a/src/apps/fee-list/fee-list.test.ts b/src/apps/fee-list/fee-list.test.ts index 1aca8b30ab..84f002ec80 100644 --- a/src/apps/fee-list/fee-list.test.ts +++ b/src/apps/fee-list/fee-list.test.ts @@ -84,7 +84,7 @@ describe("Fee list", () => { ] }).as("fees"); - cy.intercept("POST", "**/next/**", { + cy.intercept("POST", "**/next*/**", { statusCode: 200, body: { data: { diff --git a/src/apps/loan-list/list/loan-list.test.ts b/src/apps/loan-list/list/loan-list.test.ts index 3c70879404..99ab3d0efe 100644 --- a/src/apps/loan-list/list/loan-list.test.ts +++ b/src/apps/loan-list/list/loan-list.test.ts @@ -168,7 +168,7 @@ describe("Loan list", () => { }) .as("cover"); - cy.intercept("POST", "**/next/**", { + cy.intercept("POST", "**/next*/**", { statusCode: 200, body: { data: { diff --git a/src/apps/loan-list/modal/modals.test.tsx b/src/apps/loan-list/modal/modals.test.tsx index 9876a01773..c1a0896107 100644 --- a/src/apps/loan-list/modal/modals.test.tsx +++ b/src/apps/loan-list/modal/modals.test.tsx @@ -39,7 +39,7 @@ describe("Modals", () => { ] }).as("loans"); - cy.intercept("POST", "**/next/**", { + cy.intercept("POST", "**/next*/**", { statusCode: 200, body: { data: { diff --git a/src/apps/reservation-list/list/reservation-list-pagination.test.ts b/src/apps/reservation-list/list/reservation-list-pagination.test.ts index 47f3956639..12516fdb22 100644 --- a/src/apps/reservation-list/list/reservation-list-pagination.test.ts +++ b/src/apps/reservation-list/list/reservation-list-pagination.test.ts @@ -288,7 +288,7 @@ describe("Reservation list pagination", () => { } }).as("digital_reservations"); - cy.intercept("POST", "**/next/**", { + cy.intercept("POST", "**/next*/**", { statusCode: 200, body: { data: { diff --git a/src/apps/reservation-list/list/reservation-list.test.ts b/src/apps/reservation-list/list/reservation-list.test.ts index 8f1d32279a..de5819672f 100644 --- a/src/apps/reservation-list/list/reservation-list.test.ts +++ b/src/apps/reservation-list/list/reservation-list.test.ts @@ -13,7 +13,7 @@ describe("Reservation list", () => { cy.interceptRest({ aliasName: "work", httpMethod: "POST", - url: "**/next/**", + url: "**/next*/**", fixtureFilePath: "reservation-list/work.json" }); @@ -850,7 +850,7 @@ describe("Reservation list", () => { cy.interceptRest({ aliasName: "work-bestrepresentation", httpMethod: "POST", - url: "**/next/**", + url: "**/next*/**", fixtureFilePath: "reservation-list/work-bestrepresentation.json" }); diff --git a/src/apps/reservation-list/modal/delete-reservation/delete-reservation.test.ts b/src/apps/reservation-list/modal/delete-reservation/delete-reservation.test.ts index 382441c8e0..cbb0e39d93 100644 --- a/src/apps/reservation-list/modal/delete-reservation/delete-reservation.test.ts +++ b/src/apps/reservation-list/modal/delete-reservation/delete-reservation.test.ts @@ -155,7 +155,7 @@ describe("Delete reservation modal", () => { ] }).as("get-reservations"); - cy.intercept("POST", "**/next/**", { + cy.intercept("POST", "**/next*/**", { statusCode: 200, body: { data: { @@ -281,7 +281,7 @@ describe("Delete reservation modal", () => { cy.interceptRest({ aliasName: "get-manifestation", httpMethod: "POST", - url: "**/next/**", + url: "**/next*/**", fixtureFilePath: "reservation-list/work-bestrepresentation.json" }); diff --git a/src/apps/reservation-list/modal/reservation-details/reservation-details.test.ts b/src/apps/reservation-list/modal/reservation-details/reservation-details.test.ts index 7f7a03b0be..6923b66071 100644 --- a/src/apps/reservation-list/modal/reservation-details/reservation-details.test.ts +++ b/src/apps/reservation-list/modal/reservation-details/reservation-details.test.ts @@ -377,7 +377,7 @@ describe("Reservation details modal", () => { cy.interceptRest({ aliasName: "work", httpMethod: "POST", - url: "**/next/**", + url: "**/next*/**", fixtureFilePath: "reservation-list/work.json" }); @@ -628,7 +628,7 @@ describe("Reservation details modal", () => { cy.interceptRest({ aliasName: "work", httpMethod: "POST", - url: "**/next/**", + url: "**/next*/**", fixtureFilePath: "reservation-list/work.json" }); @@ -727,7 +727,7 @@ describe("Reservation details modal", () => { cy.interceptRest({ aliasName: "work", httpMethod: "POST", - url: "**/next/**", + url: "**/next*/**", fixtureFilePath: "reservation-list/work-bestrepresentation.json" }); diff --git a/src/apps/search-header/search-header.test.ts b/src/apps/search-header/search-header.test.ts index d147e94994..b90eebda9a 100644 --- a/src/apps/search-header/search-header.test.ts +++ b/src/apps/search-header/search-header.test.ts @@ -4,7 +4,7 @@ describe("Search header app", () => { beforeEach(() => { cy.fixture("search-header-data.json") .then((result) => { - cy.intercept("POST", "**/next/graphql", { + cy.intercept("POST", "**/next*/graphql", { statusCode: 200, body: result }); diff --git a/src/apps/search-result/search-result.test.ts b/src/apps/search-result/search-result.test.ts index 912f7c1ab8..59feda6f69 100644 --- a/src/apps/search-result/search-result.test.ts +++ b/src/apps/search-result/search-result.test.ts @@ -100,7 +100,7 @@ describe("Search Result", () => { // Intercept graphql search query. cy.fixture("search-result/fbi-api.json") .then((result) => { - cy.intercept("POST", "**/next/graphql**", result); + cy.intercept("POST", "**/next*/graphql**", result); }) .as("Graphql search query"); // Intercept all images from Cloudinary. From 091eef5f357ce1318c7fb35518d1cd962109a463 Mon Sep 17 00:00:00 2001 From: Mikkel Jakobsen Date: Mon, 15 Jan 2024 13:55:52 +0100 Subject: [PATCH 47/51] Adjust patron storybook menu to reflect harcoded conf in dpl-cms --- src/apps/menu/menu.dev.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/menu/menu.dev.tsx b/src/apps/menu/menu.dev.tsx index e85ae0cf5c..f0ccf2a2ef 100644 --- a/src/apps/menu/menu.dev.tsx +++ b/src/apps/menu/menu.dev.tsx @@ -51,7 +51,7 @@ export default { }, menuNavigationDataConfig: { defaultValue: - '[{"name": "Loans","link": "","dataId": "1"},{"name": "Reservations","link": "","dataId": "2"},{"name": "My list","link": "","dataId": "3"},{"name": "Fees & Replacement costs","link": "","dataId": "4"},{"name": "My account","link": "","dataId": "5"}]', + '[{"name":"Dashboard","link":"/user/me/dashboard","dataId":"40"},{"name":"Loans","link":"/user/me/loans","dataId":"1"},{"name":"Reservations","link":"/user/me/reservations","dataId":"2"},{"name":"My list","link":"/user/me/favorites","dataId":"20"},{"name":"Fees & Replacement costs","link":"/user/me/fees","dataId":"4"}]', control: { type: "text" } }, menuNotificationLoansExpiredText: { From 626f496911f4e5dfa9403d94817975a85643a91a Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 16 Jan 2024 13:34:13 +0100 Subject: [PATCH 48/51] Use useMemo() over useEffect() in FeeList for values kept between renders For totalFeeAmountPayableByClient and totalFeeAmountNotPayableByClient --- src/apps/fee-list/FeeList.tsx | 51 +++++++++++------------------------ 1 file changed, 16 insertions(+), 35 deletions(-) diff --git a/src/apps/fee-list/FeeList.tsx b/src/apps/fee-list/FeeList.tsx index 054cb74c1a..9f426d8469 100644 --- a/src/apps/fee-list/FeeList.tsx +++ b/src/apps/fee-list/FeeList.tsx @@ -1,4 +1,4 @@ -import React, { FC, useCallback, useEffect, useState } from "react"; +import React, { FC, useCallback, useMemo, useState } from "react"; import Link from "../../components/atoms/links/Link"; import { useGetFeesV2 } from "../../core/fbs/fbs"; import { FeeV2 } from "../../core/fbs/model"; @@ -27,12 +27,6 @@ const FeeList: FC = () => { includepaid: false, includenonpayable: true }); - const [totalFeeAmountPayableByClient, setTotalFeeAmountPayableByClient] = - useState(0); - const [ - totalFeeAmountNotPayableByClient, - setTotalFeeAmountNotPayableByClient - ] = useState(0); const [feeDetailsData, setFeeDetailsData] = useState(); const openDetailsModalClickEvent = useCallback( (faustId: string) => { @@ -46,32 +40,19 @@ const FeeList: FC = () => { }, [fbsFees, open] ); - - useEffect(() => { - if (totalFeeAmountPayableByClient > 0 || !fbsFees.length) { - return; - } - const totalFeePayableByClient = getFeesBasedOnPayableByClient( - fbsFees, - true - ).reduce((accumulator, { amount }) => accumulator + amount, 0); - if (totalFeePayableByClient) { - setTotalFeeAmountPayableByClient(totalFeePayableByClient); - } - }, [fbsFees, totalFeeAmountPayableByClient]); - - useEffect(() => { - if (totalFeeAmountNotPayableByClient > 0 || !fbsFees.length) { - return; - } - const totalFeeNotPayableByClient = getFeesBasedOnPayableByClient( - fbsFees, - true - ).reduce((accumulator, { amount }) => accumulator + amount, 0); - if (totalFeeNotPayableByClient) { - setTotalFeeAmountNotPayableByClient(totalFeeNotPayableByClient); - } - }, [fbsFees, totalFeeAmountNotPayableByClient]); + const calculateFeeAmount = + (fees: FeeV2[], payableByClient: boolean) => () => { + return getFeesBasedOnPayableByClient(fees, payableByClient).reduce( + (accumulator, { amount }) => accumulator + amount, + 0 + ); + }; + const totalFeeAmountPayableByClient = useMemo(() => { + return calculateFeeAmount(fbsFees, true); + }, [fbsFees]); + const totalFeeAmountNotPayableByClient = useMemo(() => { + return calculateFeeAmount(fbsFees, false); + }, [fbsFees]); return ( <> @@ -105,7 +86,7 @@ const FeeList: FC = () => { fees={getFeesBasedOnPayableByClient(fbsFees, true)} totalText={t("totalText", { placeholders: { - "@total": totalFeeAmountPayableByClient.toString() + "@total": totalFeeAmountPayableByClient() } })} /> @@ -118,7 +99,7 @@ const FeeList: FC = () => { fees={getFeesBasedOnPayableByClient(fbsFees, false)} totalText={t("totalText", { placeholders: { - "@total": totalFeeAmountNotPayableByClient.toString() + "@total": totalFeeAmountNotPayableByClient() } })} /> From 3c0903fc7afad8227033328a83ad37c489fbdbb3 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 16 Jan 2024 13:37:58 +0100 Subject: [PATCH 49/51] Move calculateFeeAmount helper function into the helper file --- src/apps/fee-list/FeeList.tsx | 9 ++------- src/apps/fee-list/utils/helper.ts | 8 ++++++++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/apps/fee-list/FeeList.tsx b/src/apps/fee-list/FeeList.tsx index 9f426d8469..4cff59508c 100644 --- a/src/apps/fee-list/FeeList.tsx +++ b/src/apps/fee-list/FeeList.tsx @@ -11,6 +11,7 @@ import MyPaymentOverviewModal from "./modal/my-payment-overview-modal"; import FeeDetailsContent from "./stackable-fees/fee-details-content"; import modalIdsConf from "../../core/configuration/modal-ids.json"; import { + calculateFeeAmount, getFeeObjectByFaustId, getFeesBasedOnPayableByClient } from "./utils/helper"; @@ -40,13 +41,7 @@ const FeeList: FC = () => { }, [fbsFees, open] ); - const calculateFeeAmount = - (fees: FeeV2[], payableByClient: boolean) => () => { - return getFeesBasedOnPayableByClient(fees, payableByClient).reduce( - (accumulator, { amount }) => accumulator + amount, - 0 - ); - }; + const totalFeeAmountPayableByClient = useMemo(() => { return calculateFeeAmount(fbsFees, true); }, [fbsFees]); diff --git a/src/apps/fee-list/utils/helper.ts b/src/apps/fee-list/utils/helper.ts index 66556f4ff3..40520154a1 100644 --- a/src/apps/fee-list/utils/helper.ts +++ b/src/apps/fee-list/utils/helper.ts @@ -14,3 +14,11 @@ export const getFeesBasedOnPayableByClient = ( return fee.payableByClient === payableByClient; }); }; + +export const calculateFeeAmount = + (fees: FeeV2[], payableByClient: boolean) => () => { + return getFeesBasedOnPayableByClient(fees, payableByClient).reduce( + (accumulator, { amount }) => accumulator + amount, + 0 + ); + }; From c54458fe32e4fc1c784b6e77a8b1eb77f7b81462 Mon Sep 17 00:00:00 2001 From: Adam Antal Date: Tue, 16 Jan 2024 13:43:30 +0100 Subject: [PATCH 50/51] Document the difference between the two fee lists in FeeList.tsx --- src/apps/fee-list/FeeList.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/apps/fee-list/FeeList.tsx b/src/apps/fee-list/FeeList.tsx index 4cff59508c..9ff6cdde31 100644 --- a/src/apps/fee-list/FeeList.tsx +++ b/src/apps/fee-list/FeeList.tsx @@ -73,6 +73,7 @@ const FeeList: FC = () => { /> )} + {/* List of fees that can be paid by the user */} {getFeesBasedOnPayableByClient(fbsFees, true).length > 0 && ( { })} /> )} + {/* List of fees that can only be paid by the user externally */} {getFeesBasedOnPayableByClient(fbsFees, false).length > 0 && ( Date: Tue, 16 Jan 2024 15:00:46 +0100 Subject: [PATCH 51/51] Adjust menu cypress test after changes * Add data cy to patron menu bottom links For better cypress targeting. * Make sure that we can see all links in menu test The "exists" assertions on the menu links will fail if the links are not visible. --- .../MenuNavigationItem.tsx | 9 +++- src/apps/menu/menu.test.ts | 48 +++++++------------ 2 files changed, 23 insertions(+), 34 deletions(-) diff --git a/src/apps/menu/menu-navigation-list/MenuNavigationItem.tsx b/src/apps/menu/menu-navigation-list/MenuNavigationItem.tsx index 4037ba51c2..1580d7ec7d 100644 --- a/src/apps/menu/menu-navigation-list/MenuNavigationItem.tsx +++ b/src/apps/menu/menu-navigation-list/MenuNavigationItem.tsx @@ -11,13 +11,15 @@ interface MenuNavigationItemProps { reservationCount: number; feeCount: number; menuNavigationItem: MenuNavigationDataType; + dataCy?: string; } const MenuNavigationItem: FC = ({ loansCount, reservationCount, feeCount, - menuNavigationItem + menuNavigationItem, + dataCy = "menu-navigation-item" }) => { /* TODO: elaborate mapping of menu content and data-sources. @@ -35,7 +37,10 @@ const MenuNavigationItem: FC = ({ const { link, name, dataId } = menuNavigationItem; return ( -
  • +
  • { it("Menu", () => { cy.get(".header__menu-profile").should("exist").click(); cy.wait(["@reservations", "@physical_loans", "@fees"]); + cy.getBySel("modal").scrollTo("bottom"); // 2. Systemet viser Lånerstatusmenuen med // 2.a. Brugerens navn cy.get(".modal-header__name") @@ -292,51 +293,34 @@ describe("Menu (authenticated))", () => { // 2.d. Menupunkterne // 2.d.i. “Lån” viser det samlede antal lån, og linker til Udlånsoversigten. Engelsk tekst: "Loans" - cy.get(".modal-profile__links") - .find(".link-filters__tag-wrapper") - .find(".link-filters__tag") - .eq(0) - .should("exist") - .and("have.text", "Loans"); - cy.get(".modal-profile__links") - .find(".link-filters__tag-wrapper") - .eq(0) + cy.getBySel("menu-navigation-item-loans") + .should("be.visible") + .and("contain", "Loans") .find(".link-filters__counter") .should("exist") .and("have.text", "3"); + // 2.d.ii. “Reserveringer” linker til Reserveringsoversigten, og viser det samlede antal reserveringer. Engelsk: "Reservations" - cy.get(".modal-profile__links") - .find(".link-filters__tag-wrapper") - .eq(1) - .find(".link-filters__tag") - .should("exist") - .and("have.text", "Reservations"); - cy.get(".modal-profile__links") - .find(".link-filters__tag-wrapper") - .eq(1) + cy.getBySel("menu-navigation-item-reservations") + .should("be.visible") + .and("contain", "Reservations") .find(".link-filters__counter") .should("exist") .and("have.text", "2"); + // 2.d.iii. “Huskeliste” linker til Huskelisten, og viser det samlede antal materialer på huskelisten. Engelsk tekst: "My list" - cy.get(".modal-profile__links") - .find(".link-filters__tag-wrapper") - .eq(2) - .find(".link-filters__tag") + cy.getBySel("menu-navigation-item-my list") .should("exist") - .and("have.text", "My list"); + .and("contain", "My list"); + // 2.d.iv. “Gebyrer & Erstatninger” linker til Gebyrer og erstatninger, og viser det samlede antal af gebyrer og erstatninger. Engelsk: "Fees & Replacement costs" - cy.get(".modal-profile__links") - .find(".link-filters__tag-wrapper") - .eq(3) - .find(".link-filters__tag") - .should("exist") - .and("have.text", "Fees & Replacement costs"); - cy.get(".modal-profile__links") - .find(".link-filters__tag-wrapper") - .eq(3) + cy.getBySel("menu-navigation-item-fees & replacement costs") + .should("be.visible") + .and("contain", "Fees & Replacement costs") .find(".link-filters__counter") .should("exist") .and("have.text", "2"); + // 2.e. “Log ud” knappen. Engelsk tekst: "Log out" cy.get(".modal-profile__btn-logout") .find("a")