@@ -186,27 +186,36 @@ export const fetchChartsMetadata = async () => {
186
186
layout_subtype ?: LayoutDashboard [ "layout" ] ;
187
187
} [ ]
188
188
> `
189
- SELECT
190
- DATE_TRUNC('day', created_at) AS day,
191
- jsonb_agg(
189
+ WITH filtered_data AS (
190
+ SELECT
191
+ DATE_TRUNC('day', created_at) AS day,
192
+ jsonb_agg(
193
+ COALESCE(
194
+ data ->> 'dataSet',
195
+ chart_config_obj ->> 'dataSet',
196
+ cubes_obj ->> 'iri'
197
+ )
198
+ ) AS iris,
192
199
COALESCE(
193
- data ->> 'dataSet',
194
- chart_config_obj ->> 'dataSet',
195
- cubes_obj ->> 'iri'
196
- )
197
- ) AS iris,
198
- COALESCE(
199
- jsonb_agg(chart_config_array ->> 'chartType') FILTER (WHERE chart_config_array ->> 'chartType' IS NOT NULL),
200
- jsonb_build_array(chart_config_obj ->> 'chartType')
201
- ) AS chart_types,
202
- layout -> 'type' AS layout_type,
203
- layout -> 'layout' AS layout_subtype
204
- FROM config
205
- LEFT JOIN LATERAL jsonb_array_elements(data -> 'chartConfigs') AS chart_config_array ON true
206
- LEFT JOIN LATERAL jsonb_array_elements(chart_config_array -> 'cubes') AS cubes_obj ON true
207
- LEFT JOIN LATERAL (SELECT data -> 'chartConfig' AS chart_config_obj) AS single_config ON true
208
- LEFT JOIN LATERAL (SELECT data -> 'layout' AS layout) AS layout ON true
209
- GROUP BY day, data, chart_config_obj, layout, layout_subtype
200
+ jsonb_agg(chart_config_array ->> 'chartType') FILTER (WHERE chart_config_array ->> 'chartType' IS NOT NULL),
201
+ jsonb_build_array(chart_config_obj ->> 'chartType')
202
+ ) AS chart_types,
203
+ layout -> 'type' AS layout_type,
204
+ layout -> 'layout' AS layout_subtype
205
+ FROM config
206
+ LEFT JOIN LATERAL jsonb_array_elements(data -> 'chartConfigs') AS chart_config_array ON true
207
+ LEFT JOIN LATERAL jsonb_array_elements(chart_config_array -> 'cubes') AS cubes_obj ON true
208
+ LEFT JOIN LATERAL (SELECT data -> 'chartConfig' AS chart_config_obj) AS single_config ON true
209
+ LEFT JOIN LATERAL (SELECT data -> 'layout' AS layout) AS layout ON true
210
+ GROUP BY day, data, chart_config_obj, layout, layout_subtype
211
+ )
212
+ SELECT day, iris, chart_types, layout_type, layout_subtype
213
+ FROM filtered_data
214
+ WHERE NOT EXISTS (
215
+ SELECT 1
216
+ FROM jsonb_array_elements_text(iris) AS iri
217
+ WHERE NOT (iri LIKE 'http%://%')
218
+ );
210
219
` . then ( ( rows ) => {
211
220
return rows . map ( ( row ) => ( {
212
221
day : row . day ,
0 commit comments