diff --git a/app/Http/Requests/TaskScheduler/UpdateScheduleRequest.php b/app/Http/Requests/TaskScheduler/UpdateScheduleRequest.php index a951ee72d9f9..3989d131174f 100644 --- a/app/Http/Requests/TaskScheduler/UpdateScheduleRequest.php +++ b/app/Http/Requests/TaskScheduler/UpdateScheduleRequest.php @@ -14,6 +14,7 @@ namespace App\Http\Requests\TaskScheduler; use App\Http\Requests\Request; use App\Models\ScheduledJob; +use Carbon\Carbon; use Illuminate\Validation\Rule; class UpdateScheduleRequest extends Request @@ -34,7 +35,20 @@ class UpdateScheduleRequest extends Request 'paused' => 'sometimes|bool', 'archived' => 'sometimes|bool', 'repeat_every' => 'sometimes|string|in:DAY,WEEK,MONTH,3MONTHS,YEAR', - 'start_from' => 'sometimes|string', + 'start_from' => 'sometimes', + 'scheduled_run'=>'sometimes' ]; } + + public function prepareForValidation() + { + $request = $this->all(); + + if (isset($request['start_from'])) { + $request['scheduled_run'] = Carbon::parse((int)$request['start_from']); + $request['start_from'] = Carbon::parse((int)$request['start_from']); + } + + $this->replace($request); + } } diff --git a/app/Jobs/Ninja/TaskScheduler.php b/app/Jobs/Ninja/TaskScheduler.php index dabc0701d0db..6b09f057a0a0 100644 --- a/app/Jobs/Ninja/TaskScheduler.php +++ b/app/Jobs/Ninja/TaskScheduler.php @@ -143,7 +143,7 @@ class TaskScheduler implements ShouldQueue return Scheduler::where('paused', false) ->where('archived', false) ->whereDate('scheduled_run', '<=', Carbon::now()) - ->get(); + ->cursor(); } } diff --git a/app/Services/TaskScheduler/TaskSchedulerService.php b/app/Services/TaskScheduler/TaskSchedulerService.php index 05fcf0336a5e..01e62c950629 100644 --- a/app/Services/TaskScheduler/TaskSchedulerService.php +++ b/app/Services/TaskScheduler/TaskSchedulerService.php @@ -45,6 +45,7 @@ class TaskSchedulerService $scheduler->start_from = $request->get('start_from') ? Carbon::parse((int)$request->get('start_from')) : Carbon::now(); $scheduler->repeat_every = $request->get('repeat_every'); $scheduler->scheduled_run = $request->get('start_from') ? Carbon::parse((int)$request->get('start_from')) : Carbon::now();; + $scheduler->company_id = auth()->user()->company()->id; $scheduler->save(); if ($this->createJob($request, $scheduler)) { @@ -55,14 +56,12 @@ class TaskSchedulerService public function update(Scheduler $scheduler, UpdateScheduleRequest $request) { + $data = $request->validated(); - if ($request->has('start_from')) { - $data['start_from'] = Carbon::parse((int)$request->get('start_from')); - $data['scheduled_run'] = Carbon::parse((int)$request->get('start_from')); - } + $update = $this->scheduler->update($data); if ($update) { - return response(['successfully_updated_scheduler'],200); + return response(['successfully_updated_scheduler'], 200); } return response(['failed_to_update_scheduler'], 400); } @@ -209,7 +208,7 @@ class TaskSchedulerService $job = $this->setJobParameters($job, $request); $job->save(); - return response(['job_successfully_updated'],200); + return response(['job_successfully_updated'], 200); }