@@ -15,6 +15,7 @@ import (
15
15
"log"
16
16
"net/http"
17
17
"net/netip"
18
+ "slices"
18
19
19
20
"github.com/aws/aws-sdk-go-v2/aws"
20
21
"github.com/aws/aws-sdk-go-v2/config"
@@ -131,6 +132,7 @@ func New(ctx context.Context, cfg Config) (*Server, error) {
131
132
cfg .Mux .Handle ("/static/" , http .FileServer (http .FS (staticFiles )))
132
133
cfg .Mux .HandleFunc ("/api/list" , ret .list )
133
134
cfg .Mux .HandleFunc ("/api/get" , ret .get )
135
+ cfg .Mux .HandleFunc ("/api/get-all" , ret .getAll )
134
136
cfg .Mux .HandleFunc ("/api/info" , ret .info )
135
137
cfg .Mux .HandleFunc ("/api/put" , ret .put )
136
138
cfg .Mux .HandleFunc ("/api/activate" , ret .activate )
@@ -221,6 +223,21 @@ func (s *Server) get(w http.ResponseWriter, r *http.Request) {
221
223
})
222
224
}
223
225
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
+
224
241
func (s * Server ) info (w http.ResponseWriter , r * http.Request ) {
225
242
serveJSON (s , w , r , func (req api.InfoRequest , id db.Caller ) (* api.SecretInfo , error ) {
226
243
return s .db .Info (id , req .Name )
0 commit comments