diff --git a/app/Domains/Analytics/Models/Click.php b/app/Domains/Analytics/Models/Click.php index 4d16290..6d4c7de 100644 --- a/app/Domains/Analytics/Models/Click.php +++ b/app/Domains/Analytics/Models/Click.php @@ -3,6 +3,7 @@ namespace App\Domains\Analytics\Models; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; class Click extends Model { @@ -23,7 +24,7 @@ class Click extends Model return parent::save($options); } - public function link() + public function link(): BelongsTo { return $this->belongsTo(\App\Domains\Link\Models\Link::class); } diff --git a/app/Domains/Domain/Models/Domain.php b/app/Domains/Domain/Models/Domain.php index bbdb84a..594c337 100644 --- a/app/Domains/Domain/Models/Domain.php +++ b/app/Domains/Domain/Models/Domain.php @@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; class Domain extends Model { - protected $guarded = ['id', 'workspace_id']; + protected $guarded = ['id']; protected $casts = [ 'verified_at' => 'datetime', diff --git a/app/Domains/Link/Models/Link.php b/app/Domains/Link/Models/Link.php index 4ec2a8e..09105ab 100644 --- a/app/Domains/Link/Models/Link.php +++ b/app/Domains/Link/Models/Link.php @@ -11,7 +11,7 @@ class Link extends Model { use SoftDeletes; - protected $guarded = ['id', 'workspace_id', 'created_by']; + protected $guarded = ['id']; protected static function booted(): void { diff --git a/app/Domains/Link/Models/LinkVariant.php b/app/Domains/Link/Models/LinkVariant.php index 867dd4f..086578d 100644 --- a/app/Domains/Link/Models/LinkVariant.php +++ b/app/Domains/Link/Models/LinkVariant.php @@ -9,6 +9,12 @@ class LinkVariant extends Model { protected $guarded = ['id']; + protected $casts = [ + 'weight' => 'integer', + 'clicks_count' => 'integer', + 'conversions_count' => 'integer', + ]; + public function link(): BelongsTo { return $this->belongsTo(Link::class); diff --git a/app/Domains/Workspace/Models/Workspace.php b/app/Domains/Workspace/Models/Workspace.php index 6112f4e..a451e49 100644 --- a/app/Domains/Workspace/Models/Workspace.php +++ b/app/Domains/Workspace/Models/Workspace.php @@ -11,7 +11,7 @@ class Workspace extends Model { use SoftDeletes; - protected $guarded = ['id', 'owner_id']; + protected $guarded = ['id']; protected static function booted(): void { diff --git a/app/Domains/Workspace/Models/WorkspaceInvitation.php b/app/Domains/Workspace/Models/WorkspaceInvitation.php index 872e0a6..3c83a03 100644 --- a/app/Domains/Workspace/Models/WorkspaceInvitation.php +++ b/app/Domains/Workspace/Models/WorkspaceInvitation.php @@ -26,7 +26,7 @@ class WorkspaceInvitation extends Model public function isExpired(): bool { - return $this->expires_at->isPast(); + return $this->expires_at !== null && $this->expires_at->isPast(); } public function isAccepted(): bool diff --git a/app/Models/User.php b/app/Models/User.php index 04f3efa..6f3d3eb 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -5,6 +5,8 @@ namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Database\Factories\UserFactory; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -49,17 +51,17 @@ class User extends Authenticatable ]; } - public function workspaces() + public function workspaces(): HasMany { return $this->hasMany(\App\Domains\Workspace\Models\Workspace::class, 'owner_id'); } - public function defaultWorkspace() + public function defaultWorkspace(): BelongsTo { return $this->belongsTo(\App\Domains\Workspace\Models\Workspace::class, 'default_workspace_id'); } - public function workspaceMemberships() + public function workspaceMemberships(): HasMany { return $this->hasMany(\App\Domains\Workspace\Models\WorkspaceMember::class); }