From e96b2df2c010d9b67fd691ece142d5ed5ebc1894 Mon Sep 17 00:00:00 2001 From: Cristine Guadelupe Date: Tue, 5 Sep 2023 15:59:41 +0700 Subject: [PATCH 1/2] Fix: maptiler external key as secret --- lib/kino_maplibre/map_cell.ex | 7 ++++++- test/kino_maplibre/map_cell_test.exs | 30 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/lib/kino_maplibre/map_cell.ex b/lib/kino_maplibre/map_cell.ex index feab0cc..882bc4b 100644 --- a/lib/kino_maplibre/map_cell.ex +++ b/lib/kino_maplibre/map_cell.ex @@ -21,12 +21,17 @@ defmodule KinoMapLibre.MapCell do @impl true def init(attrs, ctx) do + use_maptiler_key_secret = + if Map.has_key?(attrs, "use_maptiler_key_secret"), + do: attrs["use_maptiler_key_secret"], + else: true + root_fields = %{ "style" => attrs["style"] || "default", "center" => attrs["center"], "zoom" => attrs["zoom"] || 0, "maptiler_key" => attrs["maptiler_key"], - "use_maptiler_key_secret" => attrs["use_maptiler_key_secret"] || true, + "use_maptiler_key_secret" => use_maptiler_key_secret, "maptiler_key_secret" => attrs["maptiler_key_secret"] } diff --git a/test/kino_maplibre/map_cell_test.exs b/test/kino_maplibre/map_cell_test.exs index b091dc6..b486900 100644 --- a/test/kino_maplibre/map_cell_test.exs +++ b/test/kino_maplibre/map_cell_test.exs @@ -100,6 +100,36 @@ defmodule KinoMapLibre.MapCellTest do """ end + test "maptiler external key as secret - from attrs" do + root = %{ + "use_maptiler_key_secret" => true, + "maptiler_key_secret" => "MAPTILER_SECRET_KEY", + "style" => "street (commercial)" + } + + attrs = Map.merge(@root, root) + {_kino, source} = start_smart_cell!(MapCell, attrs) + + assert source == """ + MapLibre.new(style: :street, key: System.fetch_env!("LB_MAPTILER_SECRET_KEY"))\ + """ + end + + test "maptiler external key as input - from attrs" do + root = %{ + "use_maptiler_key_secret" => false, + "maptiler_key" => "MAPTILER_KEY", + "style" => "street (commercial)" + } + + attrs = Map.merge(@root, root) + {_kino, source} = start_smart_cell!(MapCell, attrs) + + assert source == """ + MapLibre.new(style: :street, key: "MAPTILER_KEY")\ + """ + end + describe "code generation" do test "source for a default empty map" do attrs = Map.merge(@root, %{"layers" => [@default_layer]}) From c0170748daf05e7e1e11ba1cbcfb3242db4cdd45 Mon Sep 17 00:00:00 2001 From: Cristine Guadelupe Date: Tue, 5 Sep 2023 16:17:32 +0700 Subject: [PATCH 2/2] Applying suggestions --- lib/kino_maplibre/map_cell.ex | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/kino_maplibre/map_cell.ex b/lib/kino_maplibre/map_cell.ex index 882bc4b..7896e83 100644 --- a/lib/kino_maplibre/map_cell.ex +++ b/lib/kino_maplibre/map_cell.ex @@ -21,17 +21,12 @@ defmodule KinoMapLibre.MapCell do @impl true def init(attrs, ctx) do - use_maptiler_key_secret = - if Map.has_key?(attrs, "use_maptiler_key_secret"), - do: attrs["use_maptiler_key_secret"], - else: true - root_fields = %{ "style" => attrs["style"] || "default", "center" => attrs["center"], "zoom" => attrs["zoom"] || 0, "maptiler_key" => attrs["maptiler_key"], - "use_maptiler_key_secret" => use_maptiler_key_secret, + "use_maptiler_key_secret" => Map.get(attrs, "use_maptiler_key_secret", true), "maptiler_key_secret" => attrs["maptiler_key_secret"] }