Added usage check to delete endpoints

This commit is contained in:
Constantin Graf
2024-04-18 21:42:29 +02:00
committed by Constantin Graf
parent 40f1159ea5
commit ad6146c483
18 changed files with 326 additions and 6 deletions

View File

@@ -7,6 +7,7 @@ namespace App\Models;
use App\Service\BillableRateService;
use Carbon\CarbonInterval;
use Database\Factories\TimeEntryFactory;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Concerns\HasUuids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
@@ -31,6 +32,7 @@ use Korridor\LaravelComputedAttributes\ComputedAttributes;
* @property string|null $task_id
* @property-read Task|null $task
*
* @method Builder<TimeEntry> hasTag(Tag $tag)
* @method static TimeEntryFactory factory()
*/
class TimeEntry extends Model
@@ -73,6 +75,14 @@ class TimeEntry extends Model
return $this->end === null ? null : $this->start->diffAsCarbonInterval($this->end);
}
/**
* @param Builder<TimeEntry> $builder
*/
public function scopeHasTag(Builder $builder, Tag $tag): void
{
$builder->whereJsonContains('tags', $tag->getKey());
}
/**
* @return BelongsTo<User, TimeEntry>
*/