Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
membrubackend
/
app
/
Http
/
Resources
/
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 :
KeyResultResource.php
| Size :
3.87
KB
Copy
<?php namespace App\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; use App\Models\User; use Carbon\Carbon; use Auth; use Arr; class KeyResultResource extends JsonResource { /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return array */ public function toArray($request) { $authUser = Auth::user(); $user = $this->user ? $this->user : User::withTrashed()->find($this->user_id); $lastKeyResultLog = $this->lastKeyResultLog(); $diffDays = $lastKeyResultLog ? Carbon::today()->diffInDays($lastKeyResultLog->created_at->startOfDay()) : 0; return [ 'id' => $this->id, 'name' => $this->name, 'objective' => $this->objective ? [ "id" => $this->objective_id, "name" => $this->objective->name, "start_date" => $this->objective->start_date, "end_date" => $this->objective->end_date ] : null, 'user' => $user ? [ 'id' => $user->id, 'name' => $user->getFullName(), 'first_name' => $user->first_name, 'last_name' => $user->last_name, 'slug' => $user->slug, 'avatar' => $user->avatar, ] : null, 'description' => $this->description, 'start_date' => $this->start_date, 'end_date' => $this->end_date, 'percent' => $this->percent, 'uuid' => $this->uuid, 'status' => $this->status, 'measurement' => $this->measurement, 'unity' => $this->unity, 'target' => $this->target, 'start_value' => $this->start_value, 'progress_type' => $this->progress_type, 'created_at' => $this->created_at, 'needs_an_update' => $this->checkIfNeedsUpdate(), 'last_update_value' => $lastKeyResultLog ? $lastKeyResultLog->value : $this->start_value, 'diff_days_last_update' => $diffDays, 'last_key_result_log' => $lastKeyResultLog ? [ 'id' => $lastKeyResultLog->id, 'value' => $lastKeyResultLog->value, 'created_at'=> $lastKeyResultLog->created_at, 'state' => $lastKeyResultLog->state, 'status' => $lastKeyResultLog->status, 'diff_last_key_result_percent' => $lastKeyResultLog->diff_last_key_result_percent, ] : null, 'key_result_logs_count' => $this->key_result_logs->count(), 'promises_count' => $this->promises->where('is_set', 1)->count(), 'promises_completed' => $this->promises->whereNotNull('resolved_at')->whereNull('why_not')->count(), 'promises_pending' => $this->promises->whereNull('resolved_at')->where('is_set', 1)->count(), 'tasks_count' => $this->tasks->count(), 'tasks_completed' => $this->tasks->where('done', 1)->count(), 'tasks_incompleted' => $this->tasks->where('done', 0)->count(), 'need_evaluate_promise' => $this->checkIfNeedToEvaluatePromise() ? true : false, 'rights' => [ 'can_create' => $authUser ? $authUser->can('ownCrudActionOrAdmin', [User::class, $this->resource]) : false, 'edit' => $authUser->can('crudActionAndEntityInstance', [User::class, $this->resource]), 'delete' => $authUser->can('crudActionAndEntityInstance', [User::class, $this->resource]), ], ]; } }
Back