88use Illuminate \Console \Command ;
99
1010use function Laravel \Prompts \confirm ;
11+ use function Laravel \Prompts \select ;
1112use function Laravel \Prompts \text ;
1213
1314class UpdateGeneralSettings extends Command
@@ -34,6 +35,7 @@ public function handle()
3435 $ settings = new GeneralSettings ();
3536
3637 $ this ->updateSiteName ($ settings );
38+ $ this ->updatePublicDashboard ($ settings );
3739 $ this ->updateTimeZone ($ settings );
3840 $ this ->updateSchedule ($ settings );
3941 $ this ->resetSevers ($ settings );
@@ -57,12 +59,32 @@ protected function resetSevers($settings): void
5759 }
5860 }
5961
62+ protected function updatePublicDashboard ($ settings ): void
63+ {
64+ $ publicDashboard = select (
65+ label: 'Make the dashboard public? ' ,
66+ options: ['Yes ' , 'No ' ],
67+ default: 'Yes ' ,
68+ required: true ,
69+ );
70+
71+ if ($ publicDashboard == 'Yes ' ) {
72+ $ settings ->public_dashboard_enabled = true ;
73+
74+ $ settings ->save ();
75+ } else {
76+ $ settings ->public_dashboard_enabled = false ;
77+ }
78+
79+ $ settings ->save ();
80+ }
81+
6082 protected function updateSchedule ($ settings ): void
6183 {
6284 $ cron = text (
6385 label: 'What is the schedule? ' ,
6486 placeholder: '0 * * * * ' ,
65- default: $ settings ->speedtest_schedule ,
87+ default: $ settings ->speedtest_schedule ?? ' 0 * * * * ' ,
6688 required: true ,
6789 validate: fn (string $ value ) => match (true ) {
6890 ! CronExpression::isValidExpression ($ value ) => 'The schedule expression is invalid. ' ,
0 commit comments