// @Title DeleteAll // @Description Delete all Url instances matched by filter // @Accept json // @Param filter query string false "JSON filter defining fields and includes" // @Success 204 {object} error "Request was successful" // @Router /urls [delete] func (c *UrlCtrl) DeleteAll(w http.ResponseWriter, r *http.Request, _ map[string]string) { filter, err := interfaces.GetQueryFilter(r) if err != nil { c.render.JSONError(w, http.StatusBadRequest, apierrors.FilterDecodingError, err) return } filter = interfaces.FilterIfLastResource(r, filter) filter = interfaces.FilterIfOwnerRelations(r, filter) relations := interfaces.GetOwnerRelations(r) err = c.interactor.DeleteAll(usecases.QueryContext{Filter: filter, OwnerRelations: relations}) if err != nil { c.render.JSONError(w, http.StatusInternalServerError, apierrors.InternalServerError, err) return } c.render.JSON(w, http.StatusNoContent, nil) }
// @Title Find // @Description Find all Url instances matched by filter // @Accept json // @Param filter query string false "JSON filter defining fields and includes" // @Success 200 {object} domain.Url "Request was successful" // @Router /urls [get] func (c *UrlCtrl) Find(w http.ResponseWriter, r *http.Request, _ map[string]string) { filter, err := interfaces.GetQueryFilter(r) if err != nil { c.render.JSONError(w, http.StatusBadRequest, apierrors.FilterDecodingError, err) return } filter = interfaces.FilterIfLastResource(r, filter) filter = interfaces.FilterIfOwnerRelations(r, filter) relations := interfaces.GetOwnerRelations(r) urls, err := c.interactor.Find(usecases.QueryContext{Filter: filter, OwnerRelations: relations}) if err != nil { c.render.JSONError(w, http.StatusInternalServerError, apierrors.InternalServerError, err) return } for i := range urls { (&urls[i]).BeforeRender() } c.render.JSON(w, http.StatusOK, urls) }