Added settings section and custom cron scheduling

This commit is contained in:
Henry Whitaker
2020-05-19 01:08:35 +01:00
parent e889a4f487
commit 2a5fd76c42
14 changed files with 288 additions and 11 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Helpers\SettingsHelper;
use App\Rules\Cron;
use App\Setting;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
@@ -11,7 +12,7 @@ class SettingsController extends Controller
{
public function index()
{
return Setting::get();
return Setting::get()->keyBy('name');
}
public function get(Setting $setting)
@@ -24,6 +25,10 @@ class SettingsController extends Controller
$rule = [
'name' => [ 'required', 'string', 'min:1' ],
];
if($request->name == 'schedule') {
$rule['value'] = [ 'required', new Cron ];
}
$validator = Validator::make($request->all(), $rule);
if($validator->fails()) {
return response()->json([