diff --git a/src/metabase/api/geojson.clj b/src/metabase/api/geojson.clj index 1f96aee01f54249bd5ef59a88cc22a69ba9c0316..472234cca155b9766fbd0c1a0c727ee21faf3c1b 100644 --- a/src/metabase/api/geojson.clj +++ b/src/metabase/api/geojson.clj @@ -38,10 +38,11 @@ (throw (Exception. (str "Invalid JSON URL or resource: " url-or-resource-path))))))) (def ^:private CustomGeoJSON - {s/Keyword {:name s/Str - :url (s/constrained s/Str valid-json-url-or-resource? "URL must point to a valid JSON file.") - :region_key (s/maybe s/Str) - :region_name (s/maybe s/Str)}}) + {s/Keyword {:name s/Str + :url (s/constrained s/Str valid-json-url-or-resource? "URL must point to a valid JSON file.") + :region_key (s/maybe s/Str) + :region_name (s/maybe s/Str) + (s/optional-key :builtin) s/Bool}}) (def ^:private builtin-geojson {:us_states {:name "United States" :url "/app/charts/us-states.json" :region_key "name" :region_name "name" :builtin true} diff --git a/test/metabase/api/geojson_test.clj b/test/metabase/api/geojson_test.clj index b2e0a3f4bf69310c42ff3022701bd1d2062c5db6..bdf0fce9c8c1655507e606f4609294c110f817bd 100644 --- a/test/metabase/api/geojson_test.clj +++ b/test/metabase/api/geojson_test.clj @@ -14,10 +14,20 @@ "https://raw.githubusercontent.com/metabase/metabase/master/test_resources/test.geojson") (def ^:private ^:const test-custom-geojson - {:middle-earth {:name "Middle Earth" - :url test-geojson-url - :region_key nil - :region_name nil}}) + {:middle-earth {:name "Middle Earth" + :url test-geojson-url + :region_key nil + :region_name nil} + :us_states {:name "United States" + :url "/app/charts/us-states.json" + :region_key "name" + :region_name "name" + :builtin true} + :world_countries {:name "World" + :url "/app/charts/world.json" + :region_key "ISO_A2" + :region_name "NAME" + :builtin true}}) ;;; test valid-json-url?