               [dataset-tag dataset] (dataset/fetch-metadata tenant-conn dataset-id)]
           (when (and (= map-data-tag ::lib/ok)
                      (= dataset-tag ::lib/ok))
-            {"datasets" {dataset-id dataset}
-             "visualisations" {(:id visualisation) (merge visualisation map-data)}
-             "metadata" {(:id visualisation) map-data}}))
+            {:datasets {dataset-id dataset}
+             :visualisations {(:id visualisation) (merge visualisation map-data)}
+             :metadata {(:id visualisation) map-data}}))
       (let [[map-data-tag map-data] (maps/create tenant-conn windshaft-url (walk/keywordize-keys layers))]
           (when (= map-data-tag ::lib/ok)
-            {"visualisations" {(:id visualisation) (merge visualisation map-data)}
-             "metadata" {(:id visualisation) map-data}})))))
+            {:visualisations {(:id visualisation) (merge visualisation map-data)}
+             :metadata {(:id visualisation) map-data}})))))
 
 (defn run-unknown-type-visualisation 
   [tenant-conn visualisation]
   (let [dataset-id (:datasetId visualisation)
         [tag dataset] (dataset/fetch-metadata tenant-conn dataset-id)]
     (when (= tag ::lib/ok)
-      {"datasets" {dataset-id dataset}
-       "visualisations" {(:id visualisation) visualisation}})))
+      {:datasets {dataset-id dataset}
+       :visualisations {(:id visualisation) visualisation}})))
 
 (defn visualisation-response-data [tenant-conn id windshaft-url]
   (try

                                              (:spec visualisation))]
    (when (and (= tag ::lib/ok)
               (= dataset-tag ::lib/ok))
      {"visualisations" {(:id visualisation) (assoc visualisation :data query-result)}
       "datasets" { (:id dataset) dataset}})))

(defn run-map-visualisation
  [tenant-conn visualisation windshaft-url]

                      (map #(visualisation-response-data tenant-conn % windshaft-url))
                      (sort-by #(-> % (get "datasets") vals first (get :rows) boolean))
                      (apply merge-with merge))]
        (assoc deps :dashboards {id dashboard})))))

(defn response-data [tenant-conn share windshaft-url]
  (if-let [dashboard-id (:dashboard-id share)]
    (assoc (dashboard-response-data tenant-conn dashboard-id windshaft-url)
           :dashboardId dashboard-id)
    (let [visualisation-id (:visualisation-id share)]
      (assoc (visualisation-response-data tenant-conn visualisation-id windshaft-url)
             :visualisationId visualisation-id))))

(defn share
  [tenant-conn windshaft-url id password]
