DodoApp: Fix app.schema.json file address

Change-Id: Ie8f333a08e5b5f8da5d3cea8d5fcdef4953d3fbb
diff --git a/core/installer/server/dodo-app/server.go b/core/installer/server/dodo-app/server.go
index d6b862e..f921a09 100644
--- a/core/installer/server/dodo-app/server.go
+++ b/core/installer/server/dodo-app/server.go
@@ -1447,7 +1447,7 @@
 	if err != nil {
 		return nil, err
 	}
-	return appTmpl.Render(fmt.Sprintf("%s/statit/schemas/dodo_app.jsonschema", s.selfPublic), network, subdomain)
+	return appTmpl.Render(fmt.Sprintf("%s/schemas/app.schema.json", s.selfPublic), network, subdomain)
 }
 
 func generatePassword() string {
diff --git a/core/installer/server/dodo-app/static/schemas/app.schema.json b/core/installer/server/dodo-app/static/schemas/app.schema.json
index f6264de..6e49d62 100644
--- a/core/installer/server/dodo-app/static/schemas/app.schema.json
+++ b/core/installer/server/dodo-app/static/schemas/app.schema.json
@@ -14,6 +14,9 @@
         },
         {
           "$ref": "#/definitions/php"
+        },
+        {
+          "$ref": "#/definitions/nextjs-deno2"
         }
       ]
     }
@@ -44,6 +47,9 @@
         },
         "postgresql": {
           "$ref": "#/definitions/postgresql"
+        },
+        "dev": {
+          "$ref": "#/definitions/dev"
         }
       },
       "additionalProperties": false,
@@ -64,6 +70,9 @@
         },
         "ingress": {
           "$ref": "#/definitions/ingress"
+        },
+        "dev": {
+          "$ref": "#/definitions/dev"
         }
       },
       "additionalProperties": false,
@@ -90,6 +99,9 @@
         },
         "postgresql": {
           "$ref": "#/definitions/postgresql"
+        },
+        "dev": {
+          "$ref": "#/definitions/dev"
         }
       },
       "additionalProperties": false,
@@ -97,6 +109,46 @@
         "type"
       ]
     },
+    "nextjs-deno2": {
+      "type": "object",
+      "properties": {
+        "type": {
+          "type": "string",
+          "oneOf": [
+            {
+              "const": "nextjs:deno-2.0.0"
+            }
+          ]
+        },
+        "ingress": {
+          "$ref": "#/definitions/ingress"
+        },
+        "volumes": {
+          "$ref": "#/definitions/volumes"
+        },
+        "postgresql": {
+          "$ref": "#/definitions/postgresql"
+        },
+        "dev": {
+          "$ref": "#/definitions/dev"
+        }
+      },
+      "additionalProperties": false,
+      "required": [
+        "type"
+      ]
+    },
+    "dev": {
+      "type": "object",
+      "properties": {
+        "enabled": { "type": "boolean" },
+        "user": { "type": "string" },
+        "additionalProperties": false,
+        "required": [
+          "enabled"
+        ]
+      }
+    },
     "volume": {
       "type": "object",
       "properties": {