Merge "registration: Improve schema validation for some properties"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 26 Apr 2016 19:29:06 +0000 (19:29 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 26 Apr 2016 19:29:06 +0000 (19:29 +0000)
docs/extension.schema.json

index f1decd3..3c2c057 100644 (file)
                },
                "TrackingCategories": {
                        "type": "array",
-                       "description": "Tracking category message keys"
+                       "description": "Tracking category message keys",
+                       "items": {
+                               "type": "string"
+                       }
                },
                "DefaultUserOptions": {
                        "type": "object",
                },
                "HiddenPrefs": {
                        "type": "array",
-                       "description": "Preferences users cannot set"
+                       "description": "Preferences users cannot set",
+                       "items": {
+                               "type": "string"
+                       }
                },
                "GroupPermissions": {
                        "type": "object",
-                       "description": "Default permissions to give to user groups"
+                       "description": "Default permissions to give to user groups",
+                       "patternProperties": {
+                               "^[a-z]+$": {
+                                       "type": "object",
+                                       "patternProperties": {
+                                               "^[a-z]+$": {
+                                                       "type": "boolean"
+                                               }
+                                       }
+                               }
+                       }
                },
                "RevokePermissions": {
                        "type": "object",
-                       "description": "Default permissions to revoke from user groups"
+                       "description": "Default permissions to revoke from user groups",
+                       "patternProperties": {
+                               "^[a-z]+$": {
+                                       "type": "object",
+                                       "patternProperties": {
+                                               "^[a-z]+$": {
+                                                       "type": "boolean"
+                                               }
+                                       }
+                               }
+                       }
                },
                "ImplicitGroups": {
                        "type": "array",
                },
                "AvailableRights": {
                        "type": "array",
-                       "description": "User rights added by the extension"
+                       "description": "User rights added by the extension",
+                       "items": {
+                               "type": "string"
+                       }
                },
                "ContentHandlers": {
                        "type": "object",
-                       "description": "Mapping of model ID to class name"
+                       "description": "Mapping of model ID to class name",
+                       "patternProperties": {
+                               "^[A-Za-z]+$": {
+                                       "type": "string"
+                               }
+                       }
                },
                "RateLimits": {
                        "type": "object",
                                "array",
                                "string"
                        ],
-                       "description": "Function to call after setup has finished"
+                       "description": "Function to call after setup has finished",
+                       "items": {
+                               "type": "string"
+                       }
                },
                "ExtensionMessagesFiles": {
                        "type": "object",