FetchFiles retrieves files from GitHub repositories
(ctx context.Context)
| 70 | |
| 71 | // FetchFiles retrieves files from GitHub repositories |
| 72 | func (g *GitHubAdapter) FetchFiles(ctx context.Context) ([]*File, error) { |
| 73 | var files []*File |
| 74 | |
| 75 | for _, repo := range g.repositories { |
| 76 | logrus.Debugf("Fetching files from repository: %s", repo) |
| 77 | knowledgeID := g.mappings[repo] |
| 78 | repoFiles, err := g.fetchRepositoryFiles(ctx, repo, knowledgeID) |
| 79 | if err != nil { |
| 80 | return nil, fmt.Errorf("failed to fetch files from repository %s: %w", repo, err) |
| 81 | } |
| 82 | logrus.Debugf("Found %d files in repository %s (knowledge_id: %s)", len(repoFiles), repo, knowledgeID) |
| 83 | files = append(files, repoFiles...) |
| 84 | } |
| 85 | |
| 86 | logrus.Debugf("Total files fetched: %d", len(files)) |
| 87 | return files, nil |
| 88 | } |
| 89 | |
| 90 | // fetchRepositoryFiles fetches files from a specific repository |
| 91 | func (g *GitHubAdapter) fetchRepositoryFiles(ctx context.Context, repo string, knowledgeID string) ([]*File, error) { |