file provider

This commit is contained in:
2026-03-01 20:31:31 +01:00
parent ea9643bcb2
commit 0285070c07
2 changed files with 27 additions and 0 deletions
+26
View File
@@ -3,6 +3,7 @@ package http
import (
"encoding/json"
"net/http"
"strings"
"teletype_softwares/domain"
)
@@ -17,5 +18,30 @@ func NewAPISoftwareController(software_service domain.SoftwareServiceInterface)
func (c *APISoftwareController) Index(w http.ResponseWriter, r *http.Request) {
softwares, _ := c.softwareService.DetailedList()
for _, softwareShowData := range softwares.Softwares {
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/")
}
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/")
}
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/")
}
}
json.NewEncoder(w).Encode(softwares)
}