SchemalessAttributes::class, 'personal_team' => 'boolean', ]; protected $fillable = [ 'id', 'name', 'personal_team', 'extra_attributes', ]; public function routeNotificationForDiscord() { return $this->extra_attributes->get('discord_webhook'); } public function routeNotificationForCoolifyEmail() { $recipients = $this->extra_attributes->get('recipients', ''); return explode(PHP_EOL, $recipients); } public function scopeWithExtraAttributes(): Builder { return $this->extra_attributes->modelScope(); } public function projects() { return $this->hasMany(Project::class); } public function servers() { return $this->hasMany(Server::class); } public function applications() { return $this->hasManyThrough(Application::class, Project::class); } public function privateKeys() { return $this->hasMany(PrivateKey::class); } }