This commit is contained in:
parent
8e15cdd6e8
commit
cd78de96b4
1 changed files with 44 additions and 0 deletions
|
@ -87,6 +87,50 @@ func generateStats(ctx context.Context) ([]ChartData, error) {
|
|||
}
|
||||
data = append(data, generatePie("Codecs", res))
|
||||
|
||||
rows, err = db.Query(ctx,
|
||||
`SELECT COALESCE(jsonb_path_query_first(ffprobe_data, '$.streams[*] ? (@.codec_type == "video") ? (@.disposition.attached_pic == 0).width')::text, 'Unknown') AS name, COUNT(*) AS value
|
||||
FROM files
|
||||
WHERE ffprobe_data IS NOT NULL
|
||||
GROUP BY jsonb_path_query_first(ffprobe_data, '$.streams[*] ? (@.codec_type == "video") ? (@.disposition.attached_pic == 0).width');`)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Query Resolution: %w", err)
|
||||
}
|
||||
|
||||
resolutionCounts, err := pgx.CollectRows(rows, pgx.RowToStructByName[PieValue])
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Collect Codec Data: %w", err)
|
||||
}
|
||||
res = []opts.PieData{}
|
||||
for _, v := range resolutionCounts {
|
||||
res = append(res, opts.PieData{
|
||||
Name: strings.ReplaceAll(v.Name, "\"", ""),
|
||||
Value: v.Value,
|
||||
})
|
||||
}
|
||||
data = append(data, generatePie("Resolution", res))
|
||||
|
||||
rows, err = db.Query(ctx,
|
||||
`SELECT COALESCE(jsonb_path_query_first(ffprobe_data, '$.format.format_name')::text, 'Unknown') AS name, COUNT(*) AS value
|
||||
FROM files
|
||||
WHERE ffprobe_data IS NOT NULL
|
||||
GROUP BY jsonb_path_query_first(ffprobe_data, '$.format.format_name');`)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Query Container: %w", err)
|
||||
}
|
||||
|
||||
containerCounts, err := pgx.CollectRows(rows, pgx.RowToStructByName[PieValue])
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Collect Container Data: %w", err)
|
||||
}
|
||||
res = []opts.PieData{}
|
||||
for _, v := range containerCounts {
|
||||
res = append(res, opts.PieData{
|
||||
Name: strings.ReplaceAll(v.Name, "\"", ""),
|
||||
Value: v.Value,
|
||||
})
|
||||
}
|
||||
data = append(data, generatePie("Container", res))
|
||||
|
||||
rows, err = db.Query(ctx,
|
||||
`SELECT health AS id, COUNT(*) AS value
|
||||
FROM files
|
||||
|
|
Loading…
Add table
Reference in a new issue