add duration

This commit is contained in:
Romulus21
2024-02-17 00:02:39 +01:00
parent 335fc8b12b
commit f27ffc1ce8
19 changed files with 248 additions and 48 deletions

View File

@@ -12,9 +12,15 @@ class TimeTrackerController extends Controller
/**
* Display a listing of the resource.
*/
public function index()
public function index(Request $request)
{
//
$timeTrackers = $request->user()
->timeTrackers()
->with('toDo')
->orderBy('start_at', 'desc')
->paginate();
return response()->json(TimeTrackerResource::collection($timeTrackers));
}
/**

View File

@@ -18,7 +18,7 @@ class TimeTrackerResource extends JsonResource
'id' => $this->id,
'start_at' => $this->start_at->format('Y-m-d H:i:s'),
'end_at' => $this->end_at?->format('Y-m-d H:i:s'),
'to_do' => new ToDoResource($this->whenLoaded('toDo'))
'to_do' => new ToDoResource($this->whenLoaded('toDo')),
];
}
}

View File

@@ -3,7 +3,6 @@
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;

View File

@@ -6,7 +6,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
@@ -51,6 +51,11 @@ class User extends Authenticatable
return $this->belongsTo(TimeTracker::class, 'time_tracker_id');
}
public function timeTrackers(): HasManyThrough
{
return $this->hasManyThrough(TimeTracker::class, ToDo::class);
}
public function toDos(): HasMany
{
return $this->hasMany(ToDo::class);