async def get_source_connection_jobs(
        self,
        db: AsyncSession,
        source_connection_id: UUID,
        current_user: schemas.User,
    ) -> list[schemas.SourceConnectionJob]:
        """Get all sync jobs for a source connection.

        Args:
            db: The database session
            source_connection_id: The ID of the source connection
            current_user: The current user

        Returns:
            A list of sync jobs

        Raises:
            HTTPException: If the source connection is not found
        """
        source_connection = await crud.source_connection.get(
            db=db, id=source_connection_id, current_user=current_user
        )
        if not source_connection:
            raise HTTPException(status_code=404, detail="Source connection not found")

        if not source_connection.sync_id:
            return []

        # Get all jobs for the sync
        sync_jobs = await sync_service.list_sync_jobs(
            db=db, current_user=current_user, sync_id=source_connection.sync_id
        )

        # Map SyncJob objects to SourceConnectionJob objects
        source_connection_jobs = []
        for job in sync_jobs:
            # Create a new SourceConnectionJob with data from SyncJob
            sync_job_schema = schemas.SyncJob.model_validate(job, from_attributes=True)
            source_connection_job = sync_job_schema.to_source_connection_job(source_connection_id)
            source_connection_jobs.append(source_connection_job)

        return source_connection_jobs
Get all sync jobs for a source connection.

        Args:
            db: The database session
            source_connection_id: The ID of the source connection
            current_user: The current user

        Returns:
            A list of sync jobs

        Raises:
            HTTPException: If the source connection is not found
        
backend/airweave/core/source_connection_service.py