tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

message-group.schema.json (2107B)


      1 {
      2  "title": "MessageGroup",
      3  "description": "Configuration object for groups of Messaging System messages",
      4  "type": "object",
      5  "version": "1.0.0",
      6  "properties": {
      7    "id": {
      8      "type": "string",
      9      "description": "A unique identifier for the message that should not conflict with any other previous message."
     10    },
     11    "enabled": {
     12      "type": "boolean",
     13      "description": "Enables or disables all messages associated with this group."
     14    },
     15    "userPreferences": {
     16      "type": "array",
     17      "description": "Collection of preferences that control if the group is enabled.",
     18      "items": {
     19        "type": "string",
     20        "description": "Preference name"
     21      }
     22    },
     23    "frequency": {
     24      "type": "object",
     25      "description": "An object containing frequency cap information for a message.",
     26      "properties": {
     27        "lifetime": {
     28          "type": "integer",
     29          "description": "The maximum lifetime impressions for a message.",
     30          "minimum": 1,
     31          "maximum": 100
     32        },
     33        "custom": {
     34          "type": "array",
     35          "description": "An array of custom frequency cap definitions.",
     36          "items": {
     37            "description": "A frequency cap definition containing time and max impression information",
     38            "type": "object",
     39            "properties": {
     40              "period": {
     41                "type": "integer",
     42                "description": "Period of time in milliseconds (e.g. 86400000 for one day)"
     43              },
     44              "cap": {
     45                "type": "integer",
     46                "description": "The maximum impressions for the message within the defined period.",
     47                "minimum": 1,
     48                "maximum": 100
     49              }
     50            },
     51            "required": ["period", "cap"]
     52          }
     53        }
     54      }
     55    },
     56    "type": {
     57      "type": "string",
     58      "description": "Local auto-generated group or remote group configuration from RS.",
     59      "enum": ["remote-settings", "local", "default"]
     60    }
     61  },
     62  "required": ["id", "enabled", "type"],
     63  "additionalProperties": true
     64 }