26 lines
657 B
PHP
26 lines
657 B
PHP
<?php
|
|
|
|
namespace App\Actions\ProjectTicketMetadata;
|
|
|
|
use App\Models\Project;
|
|
use App\Models\TicketFieldDefinition;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class DeleteTicketFieldDefinition
|
|
{
|
|
use ReordersProjectMetadata;
|
|
|
|
public function handle(Project $project, TicketFieldDefinition $ticketFieldDefinition): string
|
|
{
|
|
$deletedLabel = $ticketFieldDefinition->label;
|
|
|
|
DB::transaction(function () use ($project, $ticketFieldDefinition): void {
|
|
$ticketFieldDefinition->delete();
|
|
|
|
$this->persistOrderedModels($project->ticketFieldDefinitions()->get()->values());
|
|
});
|
|
|
|
return $deletedLabel;
|
|
}
|
|
}
|