first commit
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled

This commit is contained in:
brusnitsyn
2026-04-06 00:06:00 +09:00
commit fb2e6c58e3
409 changed files with 42953 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Actions\Teams;
use App\Enums\TeamRole;
use App\Models\Team;
use App\Models\User;
use Illuminate\Support\Facades\DB;
class CreateTeam
{
/**
* Create a new team and add the user as owner.
*/
public function handle(User $user, string $name, bool $isPersonal = false): Team
{
return DB::transaction(function () use ($user, $name, $isPersonal) {
$team = Team::create([
'name' => $name,
'is_personal' => $isPersonal,
]);
$membership = $team->memberships()->create([
'user_id' => $user->id,
'role' => TeamRole::Owner,
]);
$user->switchTeam($team);
return $team;
});
}
}