@@ -23,7 +23,6 @@ public static function getDefaultName(): ?string
2323 protected function setUp (): void
2424 {
2525 parent ::setUp ();
26-
2726 $ this ->hidden (function () {
2827 /** @var Server|null $server */
2928 $ server = Filament::getTenant ();
@@ -37,7 +36,6 @@ protected function setUp(): void
3736 $ this ->icon ('tabler-trash ' );
3837 $ this ->color ('danger ' );
3938 $ this ->size (Size::ExtraLarge);
40-
4139 $ this ->requiresConfirmation ()
4240 ->modalHeading ('Delete logs ' )
4341 ->modalDescription ('Choose which logs should be deleted. ' )
@@ -54,7 +52,6 @@ protected function setUp(): void
5452 ->default (7 )
5553 ->required ()
5654 ->reactive (),
57-
5855 TextInput::make ('custom_days ' )
5956 ->label ('Delete logs older than (days) ' )
6057 ->numeric ()
@@ -75,49 +72,40 @@ protected function setUp(): void
7572 if ($ mode !== 'custom ' ) {
7673 $ mode = (int ) $ mode ;
7774 }
78-
7975 if ($ mode === 'custom ' ) {
8076 $ days = max (1 , (int ) $ data ['custom_days ' ]);
8177 } elseif ($ mode === -1 ) {
8278 $ days = 0 ;
8379 } else {
8480 $ days = $ mode ;
8581 }
86-
8782 try {
8883 $ files = Http::daemon ($ server ->node )
8984 ->get ("/api/servers/ {$ server ->uuid }/files/list-directory " , [
9085 'directory ' => 'logs ' ,
9186 ])
9287 ->throw ()
9388 ->json ();
94-
9589 if (!is_array ($ files )) {
9690 throw new Exception ('Invalid log directory response. ' );
9791 }
98-
9992 $ threshold = now ()->subDays ($ days )->startOfDay ();
100-
10193 $ logsToDelete = collect ($ files )
10294 ->filter (fn ($ file ) => str_ends_with ($ file ['name ' ], '.log.gz ' ))
10395 ->filter (function ($ file ) use ($ days , $ threshold ) {
10496 if ($ days === 0 ) {
10597 return true ;
10698 }
107-
10899 $ logDate = $ this ->extractLogDate ($ file ['name ' ]);
109-
110100 if (!$ logDate ) {
111101 return false ;
112102 }
113-
114103 return $ logDate ->lessThan ($ threshold );
115104 })
116105 ->pluck ('name ' )
117106 ->map (fn ($ name ) => 'logs/ ' . $ name )
118107 ->values ()
119108 ->all ();
120-
121109 if (empty ($ logsToDelete )) {
122110 Notification::make ()
123111 ->title ('McLogCleaner ' )
@@ -126,20 +114,17 @@ protected function setUp(): void
126114 ->send ();
127115 return ;
128116 }
129-
130117 Http::daemon ($ server ->node )
131118 ->post ("/api/servers/ {$ server ->uuid }/files/delete " , [
132119 'root ' => '/ ' ,
133120 'files ' => $ logsToDelete ,
134121 ])
135122 ->throw ();
136-
137123 Notification::make ()
138124 ->title ('Logfolder cleaned ' )
139125 ->body (count ($ logsToDelete ) . ' files were deleted. ' )
140126 ->success ()
141127 ->send ();
142-
143128 } catch (\Throwable $ e ) {
144129 report ($ e );
145130
0 commit comments