diff --git a/src/schemas/json/ctfd.json b/src/schemas/json/ctfd.json index e1b21e68cde..398aa724010 100644 --- a/src/schemas/json/ctfd.json +++ b/src/schemas/json/ctfd.json @@ -57,11 +57,11 @@ "Admin": { "properties": { "name": { - "type": "string", + "$ref": "#/$defs/FromEnv", "description": "The administrator name. Immutable, or need the administrator to change the CTFd data AND the configuration file" }, "email": { - "type": "string", + "$ref": "#/$defs/FromEnv", "description": "The administrator email address. Immutable, or need the administrator to change the CTFd data AND the configuration file" }, "password": { @@ -101,6 +101,7 @@ "description": "Whether a player can see itw own previous submissions" }, "max_attempts_behavior": { + "type": "string", "enum": ["lockout", "timeout"], "description": "The behavior to adopt in case a player reached the submission rate limiting", "default": "lockout" @@ -114,6 +115,7 @@ "description": "Control whether users must be logged in to see free hints" }, "challenge_ratings": { + "type": "string", "enum": ["public", "private", "disabled"], "description": "Who can see and submit challenge ratings", "default": "public" @@ -172,6 +174,7 @@ "$ref": "#/$defs/Admin" }, "mode": { + "type": "string", "enum": ["users", "teams"], "description": "The mode of your CTFd, either users or teams", "default": "users" @@ -240,6 +243,13 @@ }, "additionalProperties": false, "type": "object", + "required": [ + "registration", + "confirmation", + "new_account", + "password_reset", + "password_reset_confirmation" + ], "description": "Email rules and server credentials" }, "EmailContent": { @@ -315,6 +325,7 @@ }, "additionalProperties": false, "type": "object", + "required": ["tos", "privacy_policy"], "description": "Legal contents for players" }, "MajorLeagueCyber": { @@ -343,6 +354,7 @@ "description": "Route to serve" }, "format": { + "type": "string", "enum": ["markdown", "html"], "description": "Format to consume the content", "default": "markdown" @@ -407,21 +419,25 @@ "Settings": { "properties": { "challenge_visibility": { + "type": "string", "enum": ["public", "private", "admins"], "description": "The visibility for the challenges. Please refer to CTFd documentation (https://docs.ctfd.io/docs/settings/visibility-settings/)", "default": "private" }, "account_visibility": { + "type": "string", "enum": ["public", "private", "admins"], "description": "The visibility for the accounts. Please refer to CTFd documentation (https://docs.ctfd.io/docs/settings/visibility-settings/)", "default": "public" }, "score_visibility": { + "type": "string", "enum": ["public", "private", "admins"], "description": "The visibility for the scoreboard. Please refer to CTFd documentation (https://docs.ctfd.io/docs/settings/visibility-settings/)", "default": "public" }, "registration_visibility": { + "type": "string", "enum": ["public", "private", "admins"], "description": "The visibility for the registration. Please refer to CTFd documentation (https://docs.ctfd.io/docs/settings/visibility-settings/)", "default": "public" @@ -463,7 +479,7 @@ "name": { "type": "string", "description": "The frontend theme name", - "default": "core-beta" + "default": "core" }, "color": { "type": "string",