Skip to content

Commit 36053f2

Browse files
committed
server: add /api/get-all
1 parent f3e8d03 commit 36053f2

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

server/server.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"log"
1616
"net/http"
1717
"net/netip"
18+
"slices"
1819

1920
"github.com/aws/aws-sdk-go-v2/aws"
2021
"github.com/aws/aws-sdk-go-v2/config"
@@ -131,6 +132,7 @@ func New(ctx context.Context, cfg Config) (*Server, error) {
131132
cfg.Mux.Handle("/static/", http.FileServer(http.FS(staticFiles)))
132133
cfg.Mux.HandleFunc("/api/list", ret.list)
133134
cfg.Mux.HandleFunc("/api/get", ret.get)
135+
cfg.Mux.HandleFunc("/api/get-all", ret.getAll)
134136
cfg.Mux.HandleFunc("/api/info", ret.info)
135137
cfg.Mux.HandleFunc("/api/put", ret.put)
136138
cfg.Mux.HandleFunc("/api/activate", ret.activate)
@@ -221,6 +223,21 @@ func (s *Server) get(w http.ResponseWriter, r *http.Request) {
221223
})
222224
}
223225

226+
func (s *Server) getAll(w http.ResponseWriter, r *http.Request) {
227+
serveJSON(s, w, r, func(req api.GetAllRequest, id db.Caller) (*api.GetAllResponse, error) {
228+
filtered, err := s.db.GetAllFiltered(id, req.Name, req.SkipVersions)
229+
if err != nil {
230+
return nil, err
231+
}
232+
slices.Sort(filtered.Versions)
233+
return &api.GetAllResponse{
234+
Active: filtered.Active,
235+
Versions: filtered.Versions,
236+
Values: filtered.Values,
237+
}, nil
238+
})
239+
}
240+
224241
func (s *Server) info(w http.ResponseWriter, r *http.Request) {
225242
serveJSON(s, w, r, func(req api.InfoRequest, id db.Caller) (*api.SecretInfo, error) {
226243
return s.db.Info(id, req.Name)

0 commit comments

Comments
 (0)