*/ protected $fillable = ['project_id', 'name', 'provider', 'remote_url', 'default_branch', 'webhook_secret', 'is_active']; /** @var array */ protected $casts = ['project_id' => 'integer', 'is_active' => 'boolean']; /** @return BelongsTo */ public function project(): BelongsTo { return $this->belongsTo(Project::class, 'project_id'); } /** @return HasMany */ public function commits(): HasMany { return $this->hasMany(GitCommit::class, 'repository_id')->latest('committed_at'); } /** @return HasMany */ public function webhookLogs(): HasMany { return $this->hasMany(GitWebhookLog::class, 'repository_id')->latest('received_at'); } }