UNPKG

scrivito

Version:

Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.

46 lines (39 loc) 1.03 kB
import { MissingWorkspaceError, cmsRestApi, } from 'scrivito_sdk/client/cms_rest_api'; import { ObjSearchParams } from 'scrivito_sdk/models'; export interface BackendFacetRequestParams { facets: [BackendRequestFacet]; options: { site_aware: true }; size: number; query?: Query; } export interface BackendRequestFacet { attribute: string; limit: number; include_objs: boolean | number; } type Query = ObjSearchParams['query']; interface BackendResponseFacet { value: string; total: number; results: Array<{ id: string }>; } export interface BackendFacetQueryResponse { facets: [BackendResponseFacet[]]; } export async function retrieveFacetQuery( workspaceId: string, params: BackendFacetRequestParams ): Promise<BackendFacetQueryResponse> { try { return (await cmsRestApi.get( `workspaces/${workspaceId}/objs/search`, params )) as BackendFacetQueryResponse; } catch (error) { if (error instanceof MissingWorkspaceError) return { facets: [[]] }; throw error; } }