'boolean' ]; public function platformInstance(): BelongsTo { return $this->belongsTo(PlatformInstance::class); } public function platformAccounts(): BelongsToMany { return $this->belongsToMany(PlatformAccount::class, 'platform_account_channels') ->withPivot(['is_active', 'priority']) ->withTimestamps(); } public function getFullNameAttribute(): string { // For Lemmy, use /c/ prefix. Other platforms may use different formats $prefix = $this->platformInstance->platform === 'lemmy' ? '/c/' : '/'; return $this->platformInstance->url . $prefix . $this->name; } public function feeds(): BelongsToMany { return $this->belongsToMany(Feed::class, 'feed_platform_channels') ->withPivot(['is_active', 'priority', 'filters']) ->withTimestamps(); } public function activeFeeds(): BelongsToMany { return $this->feeds() ->wherePivot('is_active', true) ->orderByPivot('priority', 'desc'); } public function language(): BelongsTo { return $this->belongsTo(Language::class); } }