Merge branch 'main' of bitbucket.org:studiotem/jandl-taskmanager-app

This commit is contained in:
Matej Glasnák committed 2023-03-01 14:19:40 +01:00
commit e648cc10f3
2 files changed
+37

No files matched your search

@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Http\Resources\MasterTaskResource;
use App\Models\Attachment;
use App\Models\MasterTask;
use App\Models\User;
@@ -10,6 +11,41 @@ use Illuminate\Support\Facades\Validator;
class MasterTaskController extends Controller
{
public function index(Request $request)
{
// get query parameter from request
$parameters = $request->query();
$mastertasks = MasterTask::select('*');
// filtrovanie na zaklade parametrov
foreach ( $parameters as $field => $value ) {
if (!$value) continue;
switch ($field) {
case 'created_at':
$mastertasks->where($field, 'like', '%-' . $value . '-%');
break;
case 'employee_id':
$mastertasks->whereHas('subtasks', function ($query) use ($value) {
$query->where('user_id', $value);
});
break;
default:
$mastertasks->where($field, $value);
break;
}
}
$mastertasks = $mastertasks->get();
return response()->json([
'mastertasks' => MasterTaskResource::collection($mastertasks)
], 200);
}
public function store(Request $request)
{
$created_by = User::getUserIdFromBearerToken($request->bearerToken());
+1
View File
@@ -68,6 +68,7 @@ Route::middleware(['auth:sanctum'])->group(function () {
return new MasterTaskResource( MasterTask::find($id));
});
Route::get('/v1/mastertasks',MasterTaskController::class . '@index');
Route::post('/v1/mastertasks', MasterTaskController::class . '@store');
Route::put('/v1/mastertasks/{id}', MasterTaskController::class . '@update');
Route::delete('/v1/mastertasks/{id}', MasterTaskController::class . '@delete');