Make upload GET an API request

This commit is contained in:
Eli Ribble 2026-03-25 21:44:06 -07:00
parent 2a92420bbe
commit ef412b28ec
No known key found for this signature in database
7 changed files with 140 additions and 119 deletions

View file

@ -30,6 +30,7 @@ func AddRoutes(r chi.Router) {
r.Method("GET", "/signal", authenticatedHandlerJSON(listSignal))
r.Method("GET", "/trap-data", auth.NewEnsureAuth(apiTrapData))
r.Method("GET", "/tile/{z}/{y}/{x}", auth.NewEnsureAuth(getTile))
r.Method("GET", "/upload/{id}", authenticatedHandlerJSON(getUploadByID))
r.Method("GET", "/user/self", authenticatedHandlerJSON(getUserSelf))
r.Method("GET", "/user/suggestion", authenticatedHandlerJSON(listUserSuggestion))
r.Method("GET", "/user", authenticatedHandlerJSON(listUser))

24
api/upload.go Normal file
View file

@ -0,0 +1,24 @@
package api
import (
"context"
"net/http"
"strconv"
nhttp "github.com/Gleipnir-Technology/nidus-sync/http"
"github.com/Gleipnir-Technology/nidus-sync/platform"
"github.com/go-chi/chi/v5"
//"github.com/rs/zerolog/log"
)
func getUploadByID(ctx context.Context, r *http.Request, u platform.User, query queryParams) (*platform.UploadPoolDetail, *nhttp.ErrorWithStatus) {
file_id_str := chi.URLParam(r, "id")
file_id_, err := strconv.ParseInt(file_id_str, 10, 32)
if err != nil {
return nil, nhttp.NewError("Failed to parse file_id: %w", err)
}
file_id := int32(file_id_)
detail, err := platform.GetUploadDetail(ctx, u.Organization.ID, file_id)
if err != nil {
return nil, nhttp.NewError("Failed to get pool: %w", err)
}
return detail, nil
}

View file

@ -14,6 +14,7 @@ type contentURLAPI struct {
Communication string `json:"communication"`
PublicreportMessage string `json:"publicreport_message"`
Signal string `json:"signal"`
Upload string `json:"upload"`
}
type contentURLs struct {
API contentURLAPI `json:"api"`
@ -44,6 +45,7 @@ func getUserSelf(ctx context.Context, r *http.Request, user platform.User, query
Communication: urls.API.Communication,
PublicreportMessage: urls.API.Publicreport.Message,
Signal: config.MakeURLNidus("/api/signal"),
Upload: config.MakeURLNidus("/api/upload"),
},
Tegola: urls.Tegola,
Tile: config.MakeURLNidus("/api/tile/{z}/{y}/{x}"),