92 lines
2.8 KiB
PHP
92 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace Modules\Admin\app\Http\Controllers;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Modules\Admin\app\Http\Controllers\AbstractController;
|
|
use Modules\Admin\app\Models\ProjectReview;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Http\Request;
|
|
use DateTime;
|
|
|
|
class ProjectReviewController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of the resource.
|
|
*/
|
|
public function getListReviews(Request $request)
|
|
{
|
|
$request->validate([
|
|
'userID' => 'required|exists:users,id',
|
|
'fromDate' => 'nullable|date',
|
|
'toDate' => 'nullable|date',
|
|
]);
|
|
$userID = $request->input('userID');
|
|
$startDate = $request->input('fromDate');
|
|
$endDate = $request->input('toDate');
|
|
$projectsData = ProjectReview::where('user_id', $userID);
|
|
|
|
if ($startDate && $endDate) {
|
|
$projectsData->whereBetween('updated_at', [$startDate, $endDate . ' 23:59:59']);
|
|
} elseif ($startDate) {
|
|
$projectsData->where('updated_at', '>=', $startDate);
|
|
} elseif ($endDate) {
|
|
$projectsData->where('updated_at', '<=', $endDate . ' 23:59:59');
|
|
}
|
|
return AbstractController::ResultSuccess($projectsData->get());
|
|
}
|
|
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
*/
|
|
public function create(Request $request)
|
|
{
|
|
$request->validate([
|
|
'name' => 'required|string',
|
|
'role' => 'required|string',
|
|
'note' => 'required|string',
|
|
'user_id' => 'required|exists:users,id',
|
|
]);
|
|
|
|
$review = ProjectReview::create($request->all());
|
|
return response()->json($review, 201);
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
*/
|
|
public function update(Request $request)
|
|
{
|
|
$request->validate([
|
|
'name' => 'sometimes|required|string',
|
|
'role' => 'sometimes|required|string',
|
|
'note' => 'sometimes|required|string',
|
|
'user_id' => 'sometimes|required|exists:users,id',
|
|
]);
|
|
$id = $request->get('id');
|
|
$projectReview = ProjectReview::find($id);
|
|
$payload = $request->all();
|
|
// if ($request->has('created_at')) {
|
|
// $created_at = Carbon::create($request->get('created_at'))->setTimezone(env('TIME_ZONE'));
|
|
// $payload['created_at'] = $created_at;
|
|
// }
|
|
if ($projectReview) {
|
|
$projectReview->update($payload);
|
|
}
|
|
return response()->json([
|
|
'data' => $projectReview,
|
|
'status' => true
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
*/
|
|
public function destroy(Request $request)
|
|
{
|
|
$id = $request->get('id');
|
|
ProjectReview::destroy($id);
|
|
return response()->json(['message' => 'Deleted successfully', 'status' => true]);
|
|
}
|
|
}
|