diff --git a/coderd/insights.go b/coderd/insights.go index 1b7454cbab7bd..411471caa5de3 100644 --- a/coderd/insights.go +++ b/coderd/insights.go @@ -474,6 +474,14 @@ func convertTemplateInsightsApps(usage database.GetTemplateInsightsRow, appUsage Icon: "/icon/terminal.svg", Seconds: usage.UsageSshSeconds, }, + { + TemplateIDs: usage.SftpTemplateIds, + Type: codersdk.TemplateAppsTypeBuiltin, + DisplayName: codersdk.TemplateBuiltinAppDisplayNameSFTP, + Slug: "sftp", + Icon: "/icon/terminal.svg", + Seconds: usage.UsageSftpSeconds, + }, } // Use a stable sort, similarly to how we would sort in the query, note that diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_three_weeks_second_template.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_three_weeks_second_template.json.golden index c37694aae60fd..b5552f1db6902 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_three_weeks_second_template.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_three_weeks_second_template.json.golden @@ -45,6 +45,14 @@ "icon": "/icon/terminal.svg", "seconds": 10800 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000002" diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_three_weeks_second_template_only_report.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_three_weeks_second_template_only_report.json.golden index 2e487c498f3a4..a5ad121ea8a3c 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_three_weeks_second_template_only_report.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_three_weeks_second_template_only_report.json.golden @@ -45,6 +45,14 @@ "icon": "/icon/terminal.svg", "seconds": 10800 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000002" diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_all_templates.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_all_templates.json.golden index e7634e3a60389..b3eef47ce02e9 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_all_templates.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_all_templates.json.golden @@ -52,6 +52,14 @@ "icon": "/icon/terminal.svg", "seconds": 11520 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000001", diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_deployment_wide.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_deployment_wide.json.golden index e7634e3a60389..b3eef47ce02e9 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_deployment_wide.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_deployment_wide.json.golden @@ -52,6 +52,14 @@ "icon": "/icon/terminal.svg", "seconds": 11520 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000001", diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_first_template.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_first_template.json.golden index 37dc61b2d085f..9adec1dd2a666 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_first_template.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_first_template.json.golden @@ -45,6 +45,14 @@ "icon": "/icon/terminal.svg", "seconds": 7920 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000001" diff --git "a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_other_timezone_(S\303\243o_Paulo).json.golden" "b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_other_timezone_(S\303\243o_Paulo).json.golden" index 76ec01508a0a5..e45e23bd88d29 100644 --- "a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_other_timezone_(S\303\243o_Paulo).json.golden" +++ "b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_other_timezone_(S\303\243o_Paulo).json.golden" @@ -47,6 +47,14 @@ "icon": "/icon/terminal.svg", "seconds": 4320 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000001", diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_second_template.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_second_template.json.golden index f4a45602138cc..0aaae268732d7 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_second_template.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_second_template.json.golden @@ -43,6 +43,14 @@ "icon": "/icon/terminal.svg", "seconds": 3600 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000002" diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_third_template.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_third_template.json.golden index e10e78fa9c4c8..fc0e3785d1d2f 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_week_third_template.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_week_third_template.json.golden @@ -43,6 +43,14 @@ "icon": "/icon/terminal.svg", "seconds": 3600 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000003" diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_deployment_wide.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_deployment_wide.json.golden index 2cdab49717006..37012ce9d312f 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_deployment_wide.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_deployment_wide.json.golden @@ -52,6 +52,14 @@ "icon": "/icon/terminal.svg", "seconds": 15120 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000001", diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_first_template.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_first_template.json.golden index 1c25aea8808fd..6852211092390 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_first_template.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_first_template.json.golden @@ -45,6 +45,14 @@ "icon": "/icon/terminal.svg", "seconds": 7920 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000001" diff --git a/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_templates.json.golden b/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_templates.json.golden index bf096567592ee..38df7fbced082 100644 --- a/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_templates.json.golden +++ b/coderd/testdata/insights/template/multiple_users_and_workspaces_weekly_aggregated_templates.json.golden @@ -52,6 +52,14 @@ "icon": "/icon/terminal.svg", "seconds": 15120 }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 + }, { "template_ids": [ "00000000-0000-0000-0000-000000000001", diff --git a/coderd/testdata/insights/template/parameters_two_days_ago,_no_data.json.golden b/coderd/testdata/insights/template/parameters_two_days_ago,_no_data.json.golden index f735c19be42f8..dd9761ef0a2ce 100644 --- a/coderd/testdata/insights/template/parameters_two_days_ago,_no_data.json.golden +++ b/coderd/testdata/insights/template/parameters_two_days_ago,_no_data.json.golden @@ -36,6 +36,14 @@ "slug": "ssh", "icon": "/icon/terminal.svg", "seconds": 0 + }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 } ], "parameters_usage": [] diff --git a/coderd/testdata/insights/template/parameters_yesterday_and_today_deployment_wide.json.golden b/coderd/testdata/insights/template/parameters_yesterday_and_today_deployment_wide.json.golden index f2609418939d6..7f0c5b2ed9520 100644 --- a/coderd/testdata/insights/template/parameters_yesterday_and_today_deployment_wide.json.golden +++ b/coderd/testdata/insights/template/parameters_yesterday_and_today_deployment_wide.json.golden @@ -36,6 +36,14 @@ "slug": "ssh", "icon": "/icon/terminal.svg", "seconds": 0 + }, + { + "template_ids": [], + "type": "builtin", + "display_name": "SFTP", + "slug": "sftp", + "icon": "/icon/terminal.svg", + "seconds": 0 } ], "parameters_usage": [ diff --git a/codersdk/insights.go b/codersdk/insights.go index 5166d29d2d1a0..27eb8c3009d30 100644 --- a/codersdk/insights.go +++ b/codersdk/insights.go @@ -206,6 +206,7 @@ const ( TemplateBuiltinAppDisplayNameJetBrains string = "JetBrains" TemplateBuiltinAppDisplayNameWebTerminal string = "Web Terminal" TemplateBuiltinAppDisplayNameSSH string = "SSH" + TemplateBuiltinAppDisplayNameSFTP string = "SFTP" ) // TemplateAppUsage shows the usage of an app for one or more templates.