From 7fc046faa22a037abda82d9218dbed560b9c60e2 Mon Sep 17 00:00:00 2001 From: Manuel Luypaert Date: Fri, 11 Sep 2020 11:53:07 +0100 Subject: [PATCH] Reverted batch cgc-name removal (and other-names addition/removal) response structure to state before cb1f4d7 (and analoguous for other-names) #304 --- src/wormbase/names/batch/gene.clj | 6 +++--- src/wormbase/names/batch/generic.clj | 9 ++++++++- src/wormbase/specs/batch.clj | 3 +++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/wormbase/names/batch/gene.clj b/src/wormbase/names/batch/gene.clj index e532ec2f..4d9b43c5 100644 --- a/src/wormbase/names/batch/gene.clj +++ b/src/wormbase/names/batch/gene.clj @@ -121,7 +121,7 @@ :x-name ::batch-add-other-names-genes :parameters {:body-params {:data ::wsg/update-other-names-batch :prov ::wsp/provenance}} - :responses (wnu/response-map ok {:schema ::wsb/success-response}) + :responses wnbg/data-changed-responses :handler (fn [request] (wnbg/adjust-attr-vals :gene/id :gene/other-names @@ -136,7 +136,7 @@ :x-name ::batch-delete-other-names-genes :parameters {:body-params {:data ::wsg/update-other-names-batch :prov ::wsp/provenance}} - :responses (wnu/response-map ok {:schema ::wsb/success-response}) + :responses wnbg/data-changed-responses :handler (fn [request] (wnbg/adjust-attr-vals :gene/id :gene/other-names @@ -168,7 +168,7 @@ request)) (sweet/DELETE "/cgc-name" request :summary "Remove CGC names from a gene." - :responses (wnu/response-map ok {:schema ::wsb/success-response}) + :responses wnbg/data-changed-responses :body [data {:data ::wsg/cgc-names} prov {:prov ::wsp/provenance}] (wnbg/adjust-attr-vals :gene/cgc-name diff --git a/src/wormbase/names/batch/generic.clj b/src/wormbase/names/batch/generic.clj index 92682b1f..a8a6e002 100644 --- a/src/wormbase/names/batch/generic.clj +++ b/src/wormbase/names/batch/generic.clj @@ -30,6 +30,13 @@ :descrpition "Information provided about entity status changes."}) (wnu/response-map))) +(def data-changed-responses + (-> wnu/default-responses + (dissoc not-modified) + (assoc ok {:schema ::wsb/data-changed + :description "Information provided about entity data changes."}) + (wnu/response-map))) + (defn conform-data-drop-labels "Conform data to an 'or' spec, striping away the label. @@ -257,7 +264,7 @@ cdata prov :batch-size bsize)] - (ok result))))) + (ok {(if add :added :retracted) result}))))) (defn retract-names [request entity-type] (let [name-attr (keyword entity-type "name") diff --git a/src/wormbase/specs/batch.clj b/src/wormbase/specs/batch.clj index 525b4019..97985b6f 100644 --- a/src/wormbase/specs/batch.clj +++ b/src/wormbase/specs/batch.clj @@ -23,6 +23,9 @@ (s/def ::status-changed (stc/spec (s/map-of (s/and keyword #{:dead :live :suppressed :retracted}) ::success-response))) +(s/def ::data-changed (stc/spec (s/map-of (s/and keyword #{:added :retracted}) + ::success-response))) + (s/def ::merge-into :gene/id) (s/def ::merge-from :gene/id)