Skip to content

Commit e261367

Browse files
committed
caching valid license list
1 parent eefb4e8 commit e261367

4 files changed

Lines changed: 12 additions & 7 deletions

File tree

cmd/devguard/api/api.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -676,13 +676,13 @@ func BuildRouter(db core.DB) *echo.Echo {
676676
firstPartyVulnRouter.POST("/:firstPartyVulnID/mitigate/", firstPartyVulnController.Mitigate, neededScope([]string{"manage"}), projectScopedRBAC(core.ObjectAsset, core.ActionUpdate))
677677
firstPartyVulnRouter.GET("/:firstPartyVulnID/events/", vulnEventController.ReadAssetEventsByVulnID)
678678

679-
assetVersionRouter.POST("/license-risk/", licenseRiskController.Create)
679+
assetVersionRouter.POST("/license-risks/", licenseRiskController.Create)
680680
licenseRiskRouter := assetVersionRouter.Group("/license-risks")
681681
licenseRiskRouter.GET("/", licenseRiskController.ListPaged)
682682
licenseRiskRouter.GET("/:licenseRiskID/", licenseRiskController.Read)
683683
licenseRiskRouter.POST("/:licenseRiskID/", licenseRiskController.CreateEvent, neededScope([]string{"manage"}), projectScopedRBAC(core.ObjectAsset, core.ActionUpdate))
684684
licenseRiskRouter.POST("/:licenseRiskID/mitigate", licenseRiskController.Mitigate, neededScope([]string{"manage"}), projectScopedRBAC(core.ObjectAsset, core.ActionUpdate))
685-
licenseRiskRouter.POST("/:licenseRiskID/finalLicenseDecision", licenseRiskController.MakeFinalLicenseDecision, neededScope([]string{"manage"}), projectScopedRBAC(core.ObjectAsset, core.ActionUpdate))
685+
licenseRiskRouter.POST("/:licenseRiskID/final-license-decision", licenseRiskController.MakeFinalLicenseDecision, neededScope([]string{"manage"}), projectScopedRBAC(core.ObjectAsset, core.ActionUpdate))
686686

687687
routes := server.Routes()
688688
sort.Slice(routes, func(i, j int) bool {

internal/core/component/component_service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ func (s *service) GetAndSaveLicenseInformation(assetVersion models.AssetVersion,
168168
}
169169
}
170170

171-
//why are we only getting new licenses and not updating existing ones?
171+
//why are we only getting new licenses and not updating existing ones? - licenses shouldn't change after once they are set
172172
slog.Info("getting license information for components", "amount", len(componentsWithoutLicense))
173173
errGroup := utils.ErrGroup[models.Component](10)
174174
for _, component := range componentsWithoutLicense {

internal/core/vuln/license_risk_service.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ type LicenseRiskService struct {
1919
vulnEventRepository core.VulnEventRepository
2020
}
2121

22-
func NewLicenseRiskService(licenseRiskReposiory core.LicenseRiskRepository, vulnEventRepository core.VulnEventRepository) *LicenseRiskService {
22+
func NewLicenseRiskService(licenseRiskRepository core.LicenseRiskRepository, vulnEventRepository core.VulnEventRepository) *LicenseRiskService {
2323
return &LicenseRiskService{
24-
licenseRiskRepository: licenseRiskReposiory,
24+
licenseRiskRepository: licenseRiskRepository,
2525
vulnEventRepository: vulnEventRepository,
2626
}
2727
}
@@ -86,8 +86,13 @@ func (service *LicenseRiskService) FindLicenseRisksInComponents(assetVersion mod
8686
return nil
8787
}
8888

89+
var validOSILicenses []string = make([]string, 0)
90+
8991
func GetOSILicenses() ([]string, error) {
90-
var validOSILicenses []string
92+
if len(validOSILicenses) > 0 {
93+
return validOSILicenses, nil
94+
}
95+
9196
apiURL := os.Getenv("OSI_LICENSES_API")
9297
if apiURL == "" {
9398
return nil, fmt.Errorf("could not get the URL of the OSI API, check the OSI_LICENSES_API variable in your .env file")

0 commit comments

Comments
 (0)