Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
tbfguestbe.tbf.ro
/
app
/
Http
/
Controllers
/
Api
/
Information Server
MySQL :
OFF
Perl :
OFF
CURL :
ON
WGET :
OFF
PKEXEC :
OFF
Directive
Local Value
IP Address
89.40.16.97
System
Linux server.atelieruldeit.ro 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
User
tbf
PHP Version
7.3.33
Software
Apache
Doc root
Writable
close
Edit File :
ActivityController.php
| Size :
7.42
KB
Copy
<?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Http\Requests\ActivityEvaluationFormRequest; use App\Http\Requests\ActivityForEvaluationFormRequest; use App\Http\Requests\ActivityFormRequest; use App\Http\Resources\ActivityCollection; use App\Http\Resources\ActivityFilterResource; use App\Http\Resources\ActivityResource; use App\Http\Resources\PositionSimpleResource; use App\Http\Resources\PositionUserResource; use App\Managers\PromptManager; use App\Models\Activity; use App\Models\ActivityImportance; use App\Models\EntityStatus; use App\Models\Position; use App\Models\User; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Http\Resources\Json\AnonymousResourceCollection; class ActivityController extends Controller { /** * Display a listing of the resource. * * @param Position $position * * @return JsonResponse */ public function indexAll(Position $position): JsonResponse { $user = auth()->user(); $activities = $position->activities()->where('generated_by_ai', 1)->get(); return response()->json([ 'position' => new PositionSimpleResource($position), 'data' => new ActivityCollection($activities), 'rights' => [ 'can_evaluate' => $user->can('viewEvaluation', $position), ] ]); } /** * Display a listing for filter of the resource. * * @param Position $position * * @return AnonymousResourceCollection */ public function indexList(Position $position): AnonymousResourceCollection { $activities = $position->activities()->where('generated_by_ai', 1)->get(); return ActivityFilterResource::collection($activities); } /** * Display a listing of the resource. * * @param Position $position * @param User $user * * @return JsonResponse */ public function index(Position $position, User $user): JsonResponse { $activities = $position->activities()->where(function ($query) use ($user) { $query->where('user_id', $user->id); }) ->latest() ->get(); $user = $position->users()->where('user_id', $user->id)->first(); return response()->json([ 'user' => new PositionUserResource($user), 'position' => new PositionSimpleResource($position), 'data' => new ActivityCollection($activities) ]); } /** * Store a newly created resource in storage. * * @param ActivityFormRequest $request * @param Position $position * @param User $user * * @return JsonResponse */ public function store(ActivityFormRequest $request, Position $position, User $user): JsonResponse { $data = $request->validated(); $instance = auth()->user()->instance; $data['user_id'] = $user->id; $data['emoji'] = PromptManager::generateEmoji($data['description'], $instance); $data['title'] = trim(PromptManager::generateActivityTitle($data['description'], $instance)); $activity = $position->activities()->create($data); return response()->json([ 'status' => 'success', 'data' => new ActivityResource($activity) ]); } /** * Store a newly created resource in storage for evaluation. * * @param ActivityForEvaluationFormRequest $request * @param Position $position * * @return JsonResponse */ public function storeForEvaluation(ActivityForEvaluationFormRequest $request, Position $position): JsonResponse { $data = $request->validated(); $instance = auth()->user()->instance; $data['generated_by_ai'] = true; $data['emoji'] = PromptManager::generateEmoji($data['description'], $instance); $data['title'] = trim(PromptManager::generateActivityTitle($data['description'], $instance)); $activity = $position->activities()->create($data); return response()->json([ 'status' => 'success', 'data' => new ActivityResource($activity) ]); } /** * Display the specified resource. * * @param Position $position * @param User $user * @param Activity $activity * * @return ActivityResource */ public function show(Position $position, User $user, Activity $activity): ActivityResource { return new ActivityResource($activity); } /** * Display the specified resource. * * @param Position $position * @param User $user * @param Activity $activity * * @return ActivityResource */ public function edit(Position $position, User $user, Activity $activity): ActivityResource { return new ActivityResource($activity); } /** * Update the specified resource in storage. * * @param ActivityFormRequest $request * @param Position $position * @param User $user * @param Activity $activity * * @return JsonResponse */ public function update(ActivityFormRequest $request, Position $position, User $user, Activity $activity) { $data = $request->validated(); $activity->update($data); return response()->json([ 'status' => 'success', 'data' => new ActivityResource($activity), ], 200); } /** * Update the specified resource in storage for evaluation. * * @param ActivityForEvaluationFormRequest $request * @param Position $position * @param Activity $activity * * @return JsonResponse */ public function updateForEvaluation(ActivityForEvaluationFormRequest $request, Position $position, Activity $activity) { $data = $request->validated(); $activity->update($data); return response()->json([ 'status' => 'success', 'data' => new ActivityResource($activity), ], 200); } /** * Update the specified resource in storage. * * @param ActivityEvaluationFormRequest $request * @param Position $position * @param User $user * @param Activity $activity * * @return JsonResponse */ public function updateEvaluation(ActivityEvaluationFormRequest $request, Position $position, User $user, Activity $activity) { $data = $request->validated(); $activity->update($data); return response()->json([ 'status' => 'success', 'data' => new ActivityResource($activity), ], 200); } /** * Remove the specified resource from storage. * * @param Position $position * @param User $user * @param Activity $activity * * @return JsonResponse */ public function destroy(Position $position, User $user, Activity $activity) { $activity->delete(); return response()->json([ 'status' => 'success' ], 200); } /** * Remove the specified resource from storage. * * @param Position $position * @param Activity $activity * * @return JsonResponse */ public function destroyAiActivity(Position $position, Activity $activity) { $activity->delete(); return response()->json([ 'status' => 'success' ], 200); } }
Back