// (C) 2019 GoodData Corporation import { ExtendedDateFilters } from "@gooddata/typings"; import { IDashboardDateFilterConfigSchema, IDateFilterConfigSchema } from "../model/DateFilterConfigSchema"; import { ISchema } from "../model/Schema"; import { IProject, getProjectId } from "../../model/Project"; import { objectUri } from "../../route/routes"; import { createProject } from "./ProjectBuilder"; export function createDateFilterDashboardConfig( configSchema: IDashboardDateFilterConfigSchema, ): ExtendedDateFilters.IDashboardDateFilterConfig { // no need to transform anything as of now return configSchema; } export function createDateFiltersConfigBody( project: IProject, configSchema: IDateFilterConfigSchema, ): ExtendedDateFilters.IDateFilterConfig { const { title, identifier, ...content } = configSchema; const uri = objectUri(getProjectId(project), identifier); return { content, meta: { category: "dateFilterConfig", title, identifier, uri, }, }; } export function createDateFilterConfig(schema: ISchema): ExtendedDateFilters.IDateFilterConfig { const project = createProject(schema); return schema.dateFilterConfig && createDateFiltersConfigBody(project, schema.dateFilterConfig); }