adding git data to file

This commit is contained in:
David Wertenteil
2022-06-08 16:26:02 +03:00
parent d8ef471eb2
commit 536a94de45
6 changed files with 52 additions and 55 deletions

View File

@@ -40,7 +40,7 @@ func (fileHandler *FileResourceHandler) GetResources(sessionObj *cautils.OPASess
workloads := []workloadinterface.IMetadata{}
// load resource from local file system
sourceToWorkloads, err := cautils.LoadResourcesFromFiles(fileHandler.inputPatterns)
sourceToWorkloads, err := cautils.LoadResourcesFromFiles(fileHandler.inputPatterns[0])
if err != nil {
return nil, allResources, nil, err
}
@@ -52,6 +52,8 @@ func (fileHandler *FileResourceHandler) GetResources(sessionObj *cautils.OPASess
}
logger.L().Debug("files found in local storage", helpers.Int("files", len(sourceToWorkloads)), helpers.Int("workloads", len(workloads)))
addCommitData(fileHandler.inputPatterns[0], workloadIDToSource)
// load resources from url
sourceToWorkloads, err = loadResourcesFromUrl(fileHandler.inputPatterns)
if err != nil {
@@ -126,3 +128,25 @@ func mapResources(workloads []workloadinterface.IMetadata) map[string][]workload
return allResources
}
func addCommitData(input string, workloadIDToSource map[string]reporthandling.Source) {
giRepo, err := cautils.NewLocalGitRepository(input)
if err != nil {
return
}
for k := range workloadIDToSource {
sourceObj := workloadIDToSource[k]
lastCommit, err := giRepo.GetFileLastCommit(sourceObj.RelativePath)
if err != nil {
continue
}
sourceObj.LastCommit = reporthandling.LastCommit{
Hash: lastCommit.SHA,
Date: lastCommit.Author.Date,
CommitterName: lastCommit.Author.Name,
CommitterEmail: lastCommit.Author.Email,
Message: lastCommit.Message,
}
workloadIDToSource[k] = sourceObj
}
}