fix(filters): store and update with no external filters (#1049)

* fix(filters): store and update

* fix(filters): bad fmt var

* fix(filters): store expect status

* fix(filters): store expect status

* fix(filters): external filter always rejected
This commit is contained in:
ze0s 2023-08-17 21:42:43 +02:00 committed by GitHub
parent 0fa53b0b2e
commit 3e244fac10
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 151 additions and 125 deletions

View file

@ -21,9 +21,9 @@ type filterService interface {
ListFilters(ctx context.Context) ([]domain.Filter, error)
FindByID(ctx context.Context, filterID int) (*domain.Filter, error)
Find(ctx context.Context, params domain.FilterQueryParams) ([]domain.Filter, error)
Store(ctx context.Context, filter domain.Filter) (*domain.Filter, error)
Store(ctx context.Context, filter *domain.Filter) error
Delete(ctx context.Context, filterID int) error
Update(ctx context.Context, filter domain.Filter) (*domain.Filter, error)
Update(ctx context.Context, filter *domain.Filter) error
UpdatePartial(ctx context.Context, filter domain.FilterUpdate) error
Duplicate(ctx context.Context, filterID int) (*domain.Filter, error)
ToggleEnabled(ctx context.Context, filterID int, enabled bool) error
@ -144,7 +144,7 @@ func (h filterHandler) duplicate(w http.ResponseWriter, r *http.Request) {
filter, err := h.service.Duplicate(ctx, id)
if err != nil {
h.encoder.StatusNotFound(w)
h.encoder.StatusInternalError(w)
return
}
@ -154,7 +154,7 @@ func (h filterHandler) duplicate(w http.ResponseWriter, r *http.Request) {
func (h filterHandler) store(w http.ResponseWriter, r *http.Request) {
var (
ctx = r.Context()
data domain.Filter
data *domain.Filter
)
if err := json.NewDecoder(r.Body).Decode(&data); err != nil {
@ -162,19 +162,18 @@ func (h filterHandler) store(w http.ResponseWriter, r *http.Request) {
return
}
filter, err := h.service.Store(ctx, data)
if err != nil {
if err := h.service.Store(ctx, data); err != nil {
h.encoder.Error(w, err)
return
}
h.encoder.StatusCreatedData(w, filter)
h.encoder.StatusCreatedData(w, data)
}
func (h filterHandler) update(w http.ResponseWriter, r *http.Request) {
var (
ctx = r.Context()
data domain.Filter
data *domain.Filter
)
if err := json.NewDecoder(r.Body).Decode(&data); err != nil {
@ -182,13 +181,12 @@ func (h filterHandler) update(w http.ResponseWriter, r *http.Request) {
return
}
filter, err := h.service.Update(ctx, data)
if err != nil {
if err := h.service.Update(ctx, data); err != nil {
h.encoder.Error(w, err)
return
}
h.encoder.StatusResponse(w, http.StatusOK, filter)
h.encoder.StatusResponse(w, http.StatusOK, data)
}
func (h filterHandler) updatePartial(w http.ResponseWriter, r *http.Request) {