2023-06-02 10:34:45 +00:00
|
|
|
<?php
|
|
|
|
|
2023-12-07 18:06:32 +00:00
|
|
|
namespace App\Livewire\Team;
|
2023-06-02 10:34:45 +00:00
|
|
|
|
|
|
|
use App\Models\User;
|
2023-09-15 09:19:36 +00:00
|
|
|
use Illuminate\Support\Facades\Cache;
|
2023-06-02 10:34:45 +00:00
|
|
|
use Livewire\Component;
|
|
|
|
|
|
|
|
class Member extends Component
|
|
|
|
{
|
|
|
|
public User $member;
|
2023-08-08 09:51:36 +00:00
|
|
|
|
2023-06-09 13:55:21 +00:00
|
|
|
public function makeAdmin()
|
|
|
|
{
|
2023-08-22 15:44:49 +00:00
|
|
|
$this->member->teams()->updateExistingPivot(currentTeam()->id, ['role' => 'admin']);
|
2023-12-07 18:06:32 +00:00
|
|
|
$this->dispatch('reloadWindow');
|
2023-06-09 13:55:21 +00:00
|
|
|
}
|
2023-08-08 09:51:36 +00:00
|
|
|
|
2024-02-23 11:34:36 +00:00
|
|
|
public function makeOwner()
|
|
|
|
{
|
|
|
|
$this->member->teams()->updateExistingPivot(currentTeam()->id, ['role' => 'owner']);
|
|
|
|
$this->dispatch('reloadWindow');
|
|
|
|
}
|
2023-06-09 13:55:21 +00:00
|
|
|
public function makeReadonly()
|
|
|
|
{
|
2023-08-22 15:44:49 +00:00
|
|
|
$this->member->teams()->updateExistingPivot(currentTeam()->id, ['role' => 'member']);
|
2023-12-07 18:06:32 +00:00
|
|
|
$this->dispatch('reloadWindow');
|
2023-06-09 13:55:21 +00:00
|
|
|
}
|
2023-08-08 09:51:36 +00:00
|
|
|
|
2023-06-08 09:43:14 +00:00
|
|
|
public function remove()
|
2023-06-02 10:34:45 +00:00
|
|
|
{
|
2023-08-22 15:44:49 +00:00
|
|
|
$this->member->teams()->detach(currentTeam());
|
2023-09-15 09:19:36 +00:00
|
|
|
Cache::forget("team:{$this->member->id}");
|
2024-02-23 11:34:36 +00:00
|
|
|
Cache::remember('team:' . $this->member->id, 3600, function () {
|
2023-09-15 09:19:36 +00:00
|
|
|
return $this->member->teams()->first();
|
|
|
|
});
|
2023-12-07 18:06:32 +00:00
|
|
|
$this->dispatch('reloadWindow');
|
2023-06-02 10:34:45 +00:00
|
|
|
}
|
|
|
|
}
|