{"version":3,"file":"cms-Cm5YhKWu.js","sources":["../../../../scripts/services/api/cms.ts"],"sourcesContent":["import { DotCMSGraphQLCollection, DotCMSGraphQLData, DotCMSPageResponse, DotCMSResponse } from \"interfaces/responses/dotcms-responses\";\r\nimport { CmsSearchCriteria } from \"interfaces/cms\";\r\nimport { getJSON } from \"services/api/request-manager\";\r\nimport { buildGraphQLEndpointUrl, buildPageEndpointUrl, buildSearchEndpointUrl } from \"services/cms/cms\";\r\n\r\n/**\r\n * Get a CMS Page\r\n * @param path\r\n * @param languageId\r\n */\r\nexport function getCmsPage(path: string, languageId: number = window.VIRTUOSO.languageId || 1): Promise<DotCMSPageResponse> {\r\n return new Promise((resolve, reject) => {\r\n getJSON<DotCMSPageResponse>(buildPageEndpointUrl(path, languageId)).then((pageJSON) => {\r\n if (!pageJSON) {\r\n // Redirect one level up from the current path if no data is returned\r\n window.location.href = window.location.pathname.split(\"/\").slice(0, -1).join(\"/\") || \"/\";\r\n } else if (pageJSON.entity?.containers) {\r\n resolve(pageJSON);\r\n } else {\r\n // If we get here, the response wasn't empty, but the data didn't include what we expected\r\n console.error(\"Error retrieving data, no containers found: \", pageJSON);\r\n reject(pageJSON);\r\n }\r\n }, (error: Error) => {\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Get CMS content\r\n * @param cmsSearchCriteria\r\n */\r\nexport function getCmsContent<T>(cmsSearchCriteria: CmsSearchCriteria): Promise<T> {\r\n return new Promise((resolve, reject) => {\r\n getJSON<DotCMSResponse<T>>(buildSearchEndpointUrl(cmsSearchCriteria)).then((pageContentJSON) => {\r\n if (pageContentJSON?.contentlets) {\r\n resolve(pageContentJSON.contentlets);\r\n } else {\r\n // must still resolve as we still do other data processing inside the `then` even without a valid response.\r\n resolve(null);\r\n }\r\n }, (error: Error) => {\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Get CMS GraphQL content\r\n * @param graphQLpayload\r\n */\r\nexport function getCmsDataViaGraphQL(graphQLpayload: Record<\"query\", string>): Promise<DotCMSGraphQLCollection> {\r\n return new Promise((resolve, reject) => {\r\n getJSON<DotCMSGraphQLData>(buildGraphQLEndpointUrl(), graphQLpayload).then((response) => {\r\n if (response?.data) {\r\n resolve(response.data);\r\n } else {\r\n console.error(\"The response was not valid..\");\r\n reject();\r\n }\r\n }, (error: Error) => {\r\n reject(error);\r\n });\r\n });\r\n}"],"names":["getCmsPage","path","languageId","resolve","reject","getJSON","buildPageEndpointUrl","pageJSON","_a","error","getCmsContent","cmsSearchCriteria","buildSearchEndpointUrl","pageContentJSON","getCmsDataViaGraphQL","graphQLpayload","buildGraphQLEndpointUrl","response"],"mappings":"qEAUO,SAASA,EAAWC,EAAcC,EAAqB,OAAO,SAAS,YAAc,EAAgC,CACxH,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACpCC,EAA4BC,EAAqBL,EAAMC,CAAU,CAAC,EAAE,KAAMK,GAAa,OAC9EA,GAGMC,EAAAD,EAAS,SAAT,MAAAC,EAAiB,WACxBL,EAAQI,CAAQ,GAGR,QAAA,MAAM,+CAAgDA,CAAQ,EACtEH,EAAOG,CAAQ,GANf,OAAO,SAAS,KAAO,OAAO,SAAS,SAAS,MAAM,GAAG,EAAE,MAAM,EAAG,EAAE,EAAE,KAAK,GAAG,GAAK,GAQ7F,EAAIE,GAAiB,CACjBL,EAAOK,CAAK,CAAA,CACf,CAAA,CACJ,CACL,CAMO,SAASC,EAAiBC,EAAkD,CAC/E,OAAO,IAAI,QAAQ,CAACR,EAASC,IAAW,CACpCC,EAA2BO,EAAuBD,CAAiB,CAAC,EAAE,KAAME,GAAoB,CACxFA,GAAA,MAAAA,EAAiB,YACjBV,EAAQU,EAAgB,WAAW,EAGnCV,EAAQ,IAAI,CAEpB,EAAIM,GAAiB,CACjBL,EAAOK,CAAK,CAAA,CACf,CAAA,CACJ,CACL,CAMO,SAASK,EAAqBC,EAA2E,CAC5G,OAAO,IAAI,QAAQ,CAACZ,EAASC,IAAW,CACpCC,EAA2BW,IAA2BD,CAAc,EAAE,KAAME,GAAa,CACjFA,GAAA,MAAAA,EAAU,KACVd,EAAQc,EAAS,IAAI,GAErB,QAAQ,MAAM,8BAA8B,EACrCb,IAEf,EAAIK,GAAiB,CACjBL,EAAOK,CAAK,CAAA,CACf,CAAA,CACJ,CACL"}