From cee9569581e4232e3d63a3cf7c1c57ad8139f0e7 Mon Sep 17 00:00:00 2001 From: garronej Date: Sun, 12 Dec 2021 18:59:39 +0100 Subject: [PATCH] Refactor: Create ftl function are_same_path (changelog ignore) --- ..._object_to_js_code_declaring_an_object.ftl | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl b/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl index 814ba0da..730c4d43 100644 --- a/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +++ b/src/bin/build-keycloak-theme/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl @@ -113,7 +113,7 @@ ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc}; <#if ["loginUpdatePasswordUrl", "loginUpdateProfileUrl", "loginUsernameReminderUrl", "loginUpdateTotpUrl"]?seq_contains(key) && - path?map(x -> x?is_number?string("_index_",x))?join("°") == ["url"]?join("°") + are_same_path(path, ["url"]) > <#local out_seq += ["/*If you need" + key + " please submit an issue to the Keycloakify repo*/"]> <#continue> @@ -226,5 +226,40 @@ ${ftl_object_to_js_code_declaring_an_object(.data_model, [])?no_esc}; <#return "ABORT: Couldn't convert into string non hash, non method, non boolean, non enumerable object"> + +<#function are_same_path path searchedPath> + + <#if path?size != path?size> + <#return false> + + + <#local i=0> + + <#list path as property> + + <#local searchedProperty=searchedPath[i]> + + <#if searchedProperty?is_string && searchedProperty == "*"> + <#continue> + + + <#if searchedProperty?is_string && !property?is_string> + <#return false> + + + <#if searchedProperty?is_number && !property?is_number> + <#return false> + + + <#if searchedProperty?string != property?string> + <#return false> + + + <#local i+= 1> + + + + <#return true> + \ No newline at end of file