mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 00:39:13 +00:00
feat(releases): delete based on age/indexer/status (#1522)
* feat(releases): delete based on age/indexer/status * fix: sanitize releaseStatuses * swap to RMSC * add AgeSelect component * improve texts * refactor: streamline form layout * improve text * remove a paragraph * improved UX explaining the options, better error handling * reinstate red border * fix: labels to match other similar labels for selects - improved contrast for the word "required" in desc - added red asterisk to required select * minor text improvement to warning * fix: delete-button vertical alignment * feat: cleanup queries * feat: cleanup delete --------- Co-authored-by: ze0s <ze0s@riseup.net>
This commit is contained in:
parent
f8715c193c
commit
19e129e55f
6 changed files with 289 additions and 67 deletions
|
@ -211,6 +211,31 @@ func (h releaseHandler) deleteReleases(w http.ResponseWriter, r *http.Request) {
|
|||
req.OlderThan = duration
|
||||
}
|
||||
|
||||
indexers := r.URL.Query()["indexer"]
|
||||
if len(indexers) > 0 {
|
||||
req.Indexers = indexers
|
||||
}
|
||||
|
||||
releaseStatuses := r.URL.Query()["releaseStatus"]
|
||||
validStatuses := map[string]bool{
|
||||
"PUSH_APPROVED": true,
|
||||
"PUSH_REJECTED": true,
|
||||
"PUSH_ERROR": true,
|
||||
}
|
||||
var filteredStatuses []string
|
||||
for _, status := range releaseStatuses {
|
||||
if _, valid := validStatuses[status]; valid {
|
||||
filteredStatuses = append(filteredStatuses, status)
|
||||
} else {
|
||||
h.encoder.StatusResponse(w, http.StatusBadRequest, map[string]interface{}{
|
||||
"code": "INVALID_RELEASE_STATUS",
|
||||
"message": "releaseStatus contains invalid value",
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
req.ReleaseStatuses = filteredStatuses
|
||||
|
||||
if err := h.service.Delete(r.Context(), &req); err != nil {
|
||||
h.encoder.Error(w, err)
|
||||
return
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue