From 7f7e9bb495c9d5137e29675044fbecee98cab0d5 Mon Sep 17 00:00:00 2001 From: Brady Wied Date: Tue, 30 Sep 2025 22:59:50 -0600 Subject: [PATCH 1/7] form step type added to clients --- src/main/domain/io.fusionauth.domain.form.FormStep.json | 3 +++ src/main/domainNG/io.fusionauth.domain.form.FormStep.json | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/domain/io.fusionauth.domain.form.FormStep.json b/src/main/domain/io.fusionauth.domain.form.FormStep.json index acda6584..53cdd9a5 100644 --- a/src/main/domain/io.fusionauth.domain.form.FormStep.json +++ b/src/main/domain/io.fusionauth.domain.form.FormStep.json @@ -14,6 +14,9 @@ "typeArguments" : [ { "type" : "UUID" } ] + }, + "formStepType" : { + "type" : "FormStepType" } } } \ No newline at end of file diff --git a/src/main/domainNG/io.fusionauth.domain.form.FormStep.json b/src/main/domainNG/io.fusionauth.domain.form.FormStep.json index f8982f61..aa649b4a 100644 --- a/src/main/domainNG/io.fusionauth.domain.form.FormStep.json +++ b/src/main/domainNG/io.fusionauth.domain.form.FormStep.json @@ -12,9 +12,13 @@ "className" : "java.util.UUID", "type" : "UUID" } ] + }, + "formStepType" : { + "className" : "io.fusionauth.domain.form.FormStepType", + "type" : "FormStepType" } }, - "imports" : [ "io.fusionauth.domain.Buildable", "java.util.List", "java.util.UUID" ], + "imports" : [ "io.fusionauth.domain.Buildable", "java.util.List", "java.util.UUID", "io.fusionauth.domain.form.FormStepType" ], "interfaces" : [ { "className" : "io.fusionauth.domain.Buildable", "type" : "Buildable", From 9a2bb89568c762fd99a1f04d3611427ac5e4ab40 Mon Sep 17 00:00:00 2001 From: Brady Wied Date: Tue, 30 Sep 2025 23:00:25 -0600 Subject: [PATCH 2/7] form step type added to clients --- .../domain/io.fusionauth.domain.form.FormStepType.json | 6 ++++++ .../domainNG/io.fusionauth.domain.form.FormStepType.json | 8 ++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/main/domain/io.fusionauth.domain.form.FormStepType.json create mode 100644 src/main/domainNG/io.fusionauth.domain.form.FormStepType.json diff --git a/src/main/domain/io.fusionauth.domain.form.FormStepType.json b/src/main/domain/io.fusionauth.domain.form.FormStepType.json new file mode 100644 index 00000000..1e6fcbd9 --- /dev/null +++ b/src/main/domain/io.fusionauth.domain.form.FormStepType.json @@ -0,0 +1,6 @@ +{ + "packageName" : "io.fusionauth.domain.form", + "type" : "FormStepType", + "description" : "/**\n * Which type of step is in use?\n */\n", + "enum" : [ "collectData", "verifyEmail", "verifyPhone" ] +} \ No newline at end of file diff --git a/src/main/domainNG/io.fusionauth.domain.form.FormStepType.json b/src/main/domainNG/io.fusionauth.domain.form.FormStepType.json new file mode 100644 index 00000000..ee0d6347 --- /dev/null +++ b/src/main/domainNG/io.fusionauth.domain.form.FormStepType.json @@ -0,0 +1,8 @@ +{ + "className" : "io.fusionauth.domain.form.FormStepType", + "enum" : [ "collectData", "verifyEmail", "verifyPhone" ], + "imports" : [ ], + "objectType" : "Enum", + "packageName" : "io.fusionauth.domain.form", + "type" : "FormStepType" +} \ No newline at end of file From bc96e119ff718314f0252f726b52e0703d33a5d8 Mon Sep 17 00:00:00 2001 From: Brady Wied Date: Thu, 2 Oct 2025 11:22:55 -0600 Subject: [PATCH 3/7] domain object updates --- .../domain/io.fusionauth.domain.form.FormStep.json | 2 +- .../domainNG/io.fusionauth.domain.form.FormStep.json | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/domain/io.fusionauth.domain.form.FormStep.json b/src/main/domain/io.fusionauth.domain.form.FormStep.json index 53cdd9a5..be1e5530 100644 --- a/src/main/domain/io.fusionauth.domain.form.FormStep.json +++ b/src/main/domain/io.fusionauth.domain.form.FormStep.json @@ -15,7 +15,7 @@ "type" : "UUID" } ] }, - "formStepType" : { + "type" : { "type" : "FormStepType" } } diff --git a/src/main/domainNG/io.fusionauth.domain.form.FormStep.json b/src/main/domainNG/io.fusionauth.domain.form.FormStep.json index aa649b4a..d7227d74 100644 --- a/src/main/domainNG/io.fusionauth.domain.form.FormStep.json +++ b/src/main/domainNG/io.fusionauth.domain.form.FormStep.json @@ -5,6 +5,14 @@ "type" : "Object" }, "fields" : { + "fieldObjects" : { + "className" : "java.util.List", + "type" : "List", + "typeArguments" : [ { + "className" : "io.fusionauth.domain.form.FormField", + "type" : "FormField" + } ] + }, "fields" : { "className" : "java.util.List", "type" : "List", @@ -13,12 +21,12 @@ "type" : "UUID" } ] }, - "formStepType" : { + "type" : { "className" : "io.fusionauth.domain.form.FormStepType", "type" : "FormStepType" } }, - "imports" : [ "io.fusionauth.domain.Buildable", "java.util.List", "java.util.UUID", "io.fusionauth.domain.form.FormStepType" ], + "imports" : [ "io.fusionauth.domain.Buildable", "java.util.List", "io.fusionauth.domain.form.FormField", "java.util.UUID", "io.fusionauth.domain.form.FormStepType" ], "interfaces" : [ { "className" : "io.fusionauth.domain.Buildable", "type" : "Buildable", From 06bd82f9167b380c978aba4cc7770f555818058c Mon Sep 17 00:00:00 2001 From: Brady Wied Date: Fri, 3 Oct 2025 14:29:23 -0600 Subject: [PATCH 4/7] exclude from java client --- build.savant | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/build.savant b/build.savant index c9777178..d246cfe1 100644 --- a/build.savant +++ b/build.savant @@ -177,7 +177,8 @@ void domainDSLBuilder() { var debug = switches.has("domain-debug") ? "debug" : "" var home = appPb.environment().get("HOME") - ProcessBuilder domainBuilder = new ProcessBuilder("${home}/dev/java/current21/bin/java", "-cp", classPath, "io.fusionauth.builders.DomainDSLBuilder", debug) + ProcessBuilder domainBuilder = new ProcessBuilder("${home}/dev/java/current21/bin/java", "-cp", classPath, + "io.fusionauth.builders.DomainDSLBuilder", debug) def domainBuilderProcess = domainBuilder.inheritIO().directory(new File("../fusionauth-app/")).start() domainBuilderProcess.consumeProcessOutput(System.out, System.err) domainBuilderProcess.waitFor() @@ -214,6 +215,9 @@ target(name: "build-java", description: "Build the Java Client Library") { filter(token: ".*@MaskMapValue\\(.*\n", value: "") filter(token: ".*@MaskString.*\n", value: "") filter(token: ".*@InternalUse.*\n ", value: "") + // don't need JSONIgnored fields in the public client + filter(token: " @JsonIgnore\n public List fieldObjects = new ArrayList<>\\(\\);\n", + value: "") // don't want internal tickets and such in here filter(token: "// TODO : ENG.*", value: "") filter(token: "// INTERNAL.*", value: "") From 2d9b969b3e1c4b8be7161d16b1b9849ec6fd4683 Mon Sep 17 00:00:00 2001 From: Brady Wied Date: Mon, 6 Oct 2025 15:05:06 -0600 Subject: [PATCH 5/7] updated form step type --- src/main/domain/io.fusionauth.domain.form.FormStepType.json | 2 +- src/main/domainNG/io.fusionauth.domain.form.FormStepType.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/domain/io.fusionauth.domain.form.FormStepType.json b/src/main/domain/io.fusionauth.domain.form.FormStepType.json index 1e6fcbd9..585e5945 100644 --- a/src/main/domain/io.fusionauth.domain.form.FormStepType.json +++ b/src/main/domain/io.fusionauth.domain.form.FormStepType.json @@ -2,5 +2,5 @@ "packageName" : "io.fusionauth.domain.form", "type" : "FormStepType", "description" : "/**\n * Which type of step is in use?\n */\n", - "enum" : [ "collectData", "verifyEmail", "verifyPhone" ] + "enum" : [ "collectData", "verifyEmail", "verifyPhoneNumber" ] } \ No newline at end of file diff --git a/src/main/domainNG/io.fusionauth.domain.form.FormStepType.json b/src/main/domainNG/io.fusionauth.domain.form.FormStepType.json index ee0d6347..cb09f85b 100644 --- a/src/main/domainNG/io.fusionauth.domain.form.FormStepType.json +++ b/src/main/domainNG/io.fusionauth.domain.form.FormStepType.json @@ -1,6 +1,6 @@ { "className" : "io.fusionauth.domain.form.FormStepType", - "enum" : [ "collectData", "verifyEmail", "verifyPhone" ], + "enum" : [ "collectData", "verifyEmail", "verifyPhoneNumber" ], "imports" : [ ], "objectType" : "Enum", "packageName" : "io.fusionauth.domain.form", From fa3b82f3394098a6b17a730b75381aac89c0daed Mon Sep 17 00:00:00 2001 From: Brady Wied Date: Tue, 7 Oct 2025 08:06:51 -0600 Subject: [PATCH 6/7] dial in our exclusion --- build.savant | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.savant b/build.savant index d246cfe1..1d46e8a4 100644 --- a/build.savant +++ b/build.savant @@ -214,10 +214,10 @@ target(name: "build-java", description: "Build the Java Client Library") { filter(token: ".*@MaskMapValue\\.List\\(\\{(\\n|.)*\\}\\)\\n", value: "") filter(token: ".*@MaskMapValue\\(.*\n", value: "") filter(token: ".*@MaskString.*\n", value: "") - filter(token: ".*@InternalUse.*\n ", value: "") - // don't need JSONIgnored fields in the public client - filter(token: " @JsonIgnore\n public List fieldObjects = new ArrayList<>\\(\\);\n", + // don't need this form field in the public client, it's not part of the API + filter(token: "\\s+@InternalUse\n\\s+@JsonIgnore\n\\s+public List fieldObjects = new ArrayList<>\\(\\);\n", value: "") + filter(token: ".*@InternalUse.*\n ", value: "") // don't want internal tickets and such in here filter(token: "// TODO : ENG.*", value: "") filter(token: "// INTERNAL.*", value: "") From 348e58081bd939a1370d971d4b012adb9858a9c4 Mon Sep 17 00:00:00 2001 From: Brady Wied Date: Tue, 7 Oct 2025 10:11:49 -0600 Subject: [PATCH 7/7] better comments on enum --- src/main/domain/io.fusionauth.domain.form.FormStepType.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/domain/io.fusionauth.domain.form.FormStepType.json b/src/main/domain/io.fusionauth.domain.form.FormStepType.json index 585e5945..ca06c9a8 100644 --- a/src/main/domain/io.fusionauth.domain.form.FormStepType.json +++ b/src/main/domain/io.fusionauth.domain.form.FormStepType.json @@ -1,6 +1,6 @@ { "packageName" : "io.fusionauth.domain.form", "type" : "FormStepType", - "description" : "/**\n * Which type of step is in use?\n */\n", + "description" : "/**\n * Denotes the type of form step. This is used to configure different behavior on form steps in the registration flow.\n */\n", "enum" : [ "collectData", "verifyEmail", "verifyPhoneNumber" ] } \ No newline at end of file