fix
This commit is contained in:
@@ -11,5 +11,5 @@ type Software struct {
|
||||
Site string `gorm:"size:255" json:"site"`
|
||||
License string `gorm:"size:128" json:"license"`
|
||||
Platform string `gorm:"size:128" json:"platform"`
|
||||
Releases []Release `json:"releases"`
|
||||
Releases []Release `json:"-"`
|
||||
}
|
||||
|
||||
@@ -67,7 +67,6 @@ func (s *SoftwareService) List() ([]SoftwareListDTO, error) {
|
||||
|
||||
func (s *SoftwareService) GetByName(name string) (*Software, error) {
|
||||
return s.softeare_repository.GetByName(name)
|
||||
|
||||
}
|
||||
|
||||
func (s *SoftwareService) GetForShowByName(name string) (*SoftwareShowData, error) {
|
||||
@@ -89,10 +88,10 @@ func (s *SoftwareService) GetForShowByName(name string) (*SoftwareShowData, erro
|
||||
latest_release = &releases[0]
|
||||
}
|
||||
|
||||
var web_payable_release *Release
|
||||
for _, release := range releases {
|
||||
if release.HTMLFolderPath != "" {
|
||||
web_payable_release = &release
|
||||
var web_playable_release *Release
|
||||
for i := range releases {
|
||||
if releases[i].HTMLFolderPath != "" {
|
||||
web_playable_release = &releases[i] // fix: slice elem címe, nem a loop változóé
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -101,7 +100,7 @@ func (s *SoftwareService) GetForShowByName(name string) (*SoftwareShowData, erro
|
||||
Software: software,
|
||||
Releases: releases,
|
||||
LatestRelease: latest_release,
|
||||
WebPlayableRelease: web_payable_release,
|
||||
WebPlayableRelease: web_playable_release,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -16,30 +16,30 @@ func NewAPISoftwareController(software_service domain.SoftwareServiceInterface)
|
||||
return &APISoftwareController{softwareService: software_service}
|
||||
}
|
||||
|
||||
func replaceReleasePaths(release *domain.Release) {
|
||||
release.CartridgePath = strings.ReplaceAll(release.CartridgePath, "/softwares/", "/file/")
|
||||
release.SourcePath = strings.ReplaceAll(release.SourcePath, "/softwares/", "/file/")
|
||||
release.HTMLFolderPath = strings.ReplaceAll(release.HTMLFolderPath, "/softwares/", "/file/")
|
||||
release.DocsFolderPath = strings.ReplaceAll(release.DocsFolderPath, "/softwares/", "/file/")
|
||||
}
|
||||
|
||||
func (c *APISoftwareController) Index(w http.ResponseWriter, r *http.Request) {
|
||||
softwares, _ := c.softwareService.DetailedList()
|
||||
|
||||
for _, softwareShowData := range softwares.Softwares {
|
||||
for idx := range softwares.Softwares {
|
||||
softwareShowData := &softwares.Softwares[idx]
|
||||
|
||||
for i := range softwareShowData.Releases {
|
||||
release := &softwareShowData.Releases[i]
|
||||
release.CartridgePath = strings.ReplaceAll(release.CartridgePath, "/softwares/", "/file/")
|
||||
release.SourcePath = strings.ReplaceAll(release.SourcePath, "/softwares/", "/file/")
|
||||
release.HTMLFolderPath = strings.ReplaceAll(release.HTMLFolderPath, "/softwares/", "/file/")
|
||||
release.DocsFolderPath = strings.ReplaceAll(release.DocsFolderPath, "/softwares/", "/file/")
|
||||
replaceReleasePaths(&softwareShowData.Releases[i])
|
||||
}
|
||||
|
||||
// LatestRelease és WebPlayableRelease a Releases slice elemeire mutat,
|
||||
// ezért ezeket külön is frissíteni kell, mivel értékmásolat kerülhet bele
|
||||
if softwareShowData.LatestRelease != nil {
|
||||
release := softwareShowData.LatestRelease
|
||||
release.CartridgePath = strings.ReplaceAll(release.CartridgePath, "/softwares/", "/file/")
|
||||
release.SourcePath = strings.ReplaceAll(release.SourcePath, "/softwares/", "/file/")
|
||||
release.HTMLFolderPath = strings.ReplaceAll(release.HTMLFolderPath, "/softwares/", "/file/")
|
||||
release.DocsFolderPath = strings.ReplaceAll(release.DocsFolderPath, "/softwares/", "/file/")
|
||||
replaceReleasePaths(softwareShowData.LatestRelease)
|
||||
}
|
||||
if softwareShowData.WebPlayableRelease != nil {
|
||||
release := softwareShowData.WebPlayableRelease
|
||||
release.CartridgePath = strings.ReplaceAll(release.CartridgePath, "/softwares/", "/file/")
|
||||
release.SourcePath = strings.ReplaceAll(release.SourcePath, "/softwares/", "/file/")
|
||||
release.HTMLFolderPath = strings.ReplaceAll(release.HTMLFolderPath, "/softwares/", "/file/")
|
||||
release.DocsFolderPath = strings.ReplaceAll(release.DocsFolderPath, "/softwares/", "/file/")
|
||||
replaceReleasePaths(softwareShowData.WebPlayableRelease)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user