fix: invitation

This commit is contained in:
Andras Bacsai
2023-09-15 11:19:36 +02:00
parent 82c235d5af
commit b07cc500e7
19 changed files with 183 additions and 89 deletions

View File

@@ -19,4 +19,13 @@ class TeamInvitation extends Model
{
return $this->belongsTo(Team::class);
}
public function isValid() {
$createdAt = $this->created_at;
$diff = $createdAt->diffInMinutes(now());
if ($diff <= config('constants.invitation.link.expiration')) {
return true;
} else {
$this->delete();
}
}
}

View File

@@ -4,10 +4,10 @@ namespace App\Models;
use App\Notifications\Channels\SendsEmail;
use App\Notifications\TransactionalEmails\ResetPassword as TransactionalEmailsResetPassword;
use Cache;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Cache;
use Laravel\Fortify\TwoFactorAuthenticatable;
use Laravel\Sanctum\HasApiTokens;
@@ -61,7 +61,7 @@ class User extends Authenticatable implements SendsEmail
public function isAdmin()
{
return $this->pivot->role === 'admin' || $this->pivot->role === 'owner';
return data_get($this->pivot,'role') === 'admin' || data_get($this->pivot,'role') === 'owner';
}
public function isAdminFromSession()
@@ -78,7 +78,8 @@ class User extends Authenticatable implements SendsEmail
if ($is_part_of_root_team && $is_admin_of_root_team) {
return true;
}
$role = $teams->where('id', session('currentTeam')->id)->first()->pivot->role;
$team = $teams->where('id', session('currentTeam')->id)->first();
$role = data_get($team,'pivot.role');
return $role === 'admin' || $role === 'owner';
}