Big changes added events for decisions

This commit is contained in:
Simon Pocrnjič
2025-10-22 23:20:04 +02:00
parent 872b76b012
commit 67ebe4b225
36 changed files with 2240 additions and 189 deletions
+10
View File
@@ -0,0 +1,10 @@
<?php
namespace App\Events;
use App\Models\Activity;
class ActivityDecisionApplied
{
public function __construct(public Activity $activity) {}
}
+17
View File
@@ -0,0 +1,17 @@
<?php
namespace App\Events;
use App\Models\Contract;
use Illuminate\Foundation\Events\Dispatchable;
class ChangeContractSegment
{
use Dispatchable;
public function __construct(
public Contract $contract,
public int $segmentId,
public bool $deactivatePrevious = true,
) {}
}
-42
View File
@@ -1,42 +0,0 @@
<?php
namespace App\Events;
use App\Models\ClientCase;
use App\Models\Segment;
use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class ClientCaseToTerrain implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public ClientCase $clientCase;
/**
* Create a new event instance.
*/
public function __construct(ClientCase $clientCase)
{
$this->clientCase = $clientCase;
}
/**
* Get the channels the event should broadcast on.
*
* @return array<int, \Illuminate\Broadcasting\Channel>
*/
public function broadcastOn(): PrivateChannel
{
return new PrivateChannel('segments'.$this->clientCase->id);
}
public function broadcastAs(){
return 'client_case.terrain.add';
}
}
-43
View File
@@ -1,43 +0,0 @@
<?php
namespace App\Events;
use App\Models\Contract;
use App\Models\Segment;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class ContractToTerrain implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public Contract $contract;
public Segment $segment;
/**
* Create a new event instance.
*/
public function __construct(Contract $contract, Segment $segment)
{
//
$this->contract = $contract;
$this->segment = $segment;
}
/**
* Get the channels the event should broadcast on.
*
* @return array<int, \Illuminate\Broadcasting\Channel>
*/
public function broadcastOn(): PrivateChannel
{
return new PrivateChannel('contracts.'.$this->segment->id);
}
public function broadcastAs(){
return 'contract.terrain.add';
}
}