1b8a72a62Sopenharmony_ci{
2b8a72a62Sopenharmony_ci  "title": "JSON schema for shortcuts.json",
3b8a72a62Sopenharmony_ci  "$schema": "http://json-schema.org/draft-07/schema#",
4b8a72a62Sopenharmony_ci  "type": "object",
5b8a72a62Sopenharmony_ci  "additionalProperties": true,
6b8a72a62Sopenharmony_ci  "required": [
7b8a72a62Sopenharmony_ci    "shortcuts"
8b8a72a62Sopenharmony_ci  ],
9b8a72a62Sopenharmony_ci  "propertyNames": {
10b8a72a62Sopenharmony_ci    "enum": [
11b8a72a62Sopenharmony_ci      "shortcuts"
12b8a72a62Sopenharmony_ci    ]
13b8a72a62Sopenharmony_ci  },
14b8a72a62Sopenharmony_ci  "properties": {
15b8a72a62Sopenharmony_ci    "shortcuts": {
16b8a72a62Sopenharmony_ci      "description": "Indicates the shortcut information of the application. The value is an array, in which each element represents a shortcut object.",
17b8a72a62Sopenharmony_ci      "type": "array",
18b8a72a62Sopenharmony_ci      "items": {
19b8a72a62Sopenharmony_ci        "type": "object",
20b8a72a62Sopenharmony_ci        "propertyNames": {
21b8a72a62Sopenharmony_ci          "enum": [
22b8a72a62Sopenharmony_ci            "shortcutId",
23b8a72a62Sopenharmony_ci            "label",
24b8a72a62Sopenharmony_ci            "icon",
25b8a72a62Sopenharmony_ci            "wants"
26b8a72a62Sopenharmony_ci          ]
27b8a72a62Sopenharmony_ci        },
28b8a72a62Sopenharmony_ci        "required": [
29b8a72a62Sopenharmony_ci          "shortcutId"
30b8a72a62Sopenharmony_ci        ],
31b8a72a62Sopenharmony_ci        "properties": {
32b8a72a62Sopenharmony_ci          "shortcutId": {
33b8a72a62Sopenharmony_ci            "description": "Identifies a shortcut. The value is a string with a maximum of 63 bytes.",
34b8a72a62Sopenharmony_ci            "type": "string",
35b8a72a62Sopenharmony_ci            "maxLength": 63
36b8a72a62Sopenharmony_ci          },
37b8a72a62Sopenharmony_ci          "label": {
38b8a72a62Sopenharmony_ci            "description": "Indicates the label of the shortcut, that is, the text description displayed by the shortcut. The value can be a string or a resource index to description. A string can contain a maximum of 63 bytes. If the value exceeds 63 bytes, use the resource index.",
39b8a72a62Sopenharmony_ci            "type": "string",
40b8a72a62Sopenharmony_ci            "maxLength": 255,
41b8a72a62Sopenharmony_ci            "pattern": "^[$]string:[0-9a-zA-Z_.]+|(?=.*[{])(?=.*[}])[0-9a-zA-Z_.{}]+$"
42b8a72a62Sopenharmony_ci          },
43b8a72a62Sopenharmony_ci          "icon": {
44b8a72a62Sopenharmony_ci            "description": "Indicates the icon of the shortcut. The value is the index to the resource file.",
45b8a72a62Sopenharmony_ci            "type": "string",
46b8a72a62Sopenharmony_ci            "pattern": "^[$]media:"
47b8a72a62Sopenharmony_ci          },
48b8a72a62Sopenharmony_ci          "wants": {
49b8a72a62Sopenharmony_ci            "description": "Indicates the wants to which the shortcut points. The attribute consists of the targetClass and targetBundle sub-attributes.",
50b8a72a62Sopenharmony_ci            "type": "array",
51b8a72a62Sopenharmony_ci            "items": {
52b8a72a62Sopenharmony_ci              "type": "object",
53b8a72a62Sopenharmony_ci              "propertyNames": {
54b8a72a62Sopenharmony_ci                "enum": [
55b8a72a62Sopenharmony_ci                  "bundleName",
56b8a72a62Sopenharmony_ci                  "moduleName",
57b8a72a62Sopenharmony_ci                  "abilityName",
58b8a72a62Sopenharmony_ci                  "parameters"
59b8a72a62Sopenharmony_ci                ]
60b8a72a62Sopenharmony_ci              },
61b8a72a62Sopenharmony_ci              "properties": {
62b8a72a62Sopenharmony_ci                "bundleName": {
63b8a72a62Sopenharmony_ci                  "description": "Indicates the application bundle name for the target ability of the shortcut.",
64b8a72a62Sopenharmony_ci                  "type": "string"
65b8a72a62Sopenharmony_ci                },
66b8a72a62Sopenharmony_ci                "moduleName": {
67b8a72a62Sopenharmony_ci                  "description": "Indicates the module name for the target ability of the shortcut.",
68b8a72a62Sopenharmony_ci                  "type": "string"
69b8a72a62Sopenharmony_ci                },
70b8a72a62Sopenharmony_ci                "abilityName": {
71b8a72a62Sopenharmony_ci                  "description": "Indicates the class name for the target ability of the shortcut.",
72b8a72a62Sopenharmony_ci                  "type": "string"
73b8a72a62Sopenharmony_ci                },
74b8a72a62Sopenharmony_ci                "parameters": {
75b8a72a62Sopenharmony_ci                  "description": "Indicates the parameters for the target ability of the shortcut.",
76b8a72a62Sopenharmony_ci                  "type": "object",
77b8a72a62Sopenharmony_ci                  "maxProperties": 1024,
78b8a72a62Sopenharmony_ci                  "propertyNames": {
79b8a72a62Sopenharmony_ci                    "pattern": "^[\\x00-\\x7F]+$",
80b8a72a62Sopenharmony_ci                    "maxLength": 1024
81b8a72a62Sopenharmony_ci                  },
82b8a72a62Sopenharmony_ci                  "additionalProperties": {
83b8a72a62Sopenharmony_ci                    "type": "string",
84b8a72a62Sopenharmony_ci                    "minLength": 0,
85b8a72a62Sopenharmony_ci                    "maxLength": 1024,
86b8a72a62Sopenharmony_ci                    "pattern": "^[\\x00-\\x7F]*$"
87b8a72a62Sopenharmony_ci                  }
88b8a72a62Sopenharmony_ci                }
89b8a72a62Sopenharmony_ci              }
90b8a72a62Sopenharmony_ci            }
91b8a72a62Sopenharmony_ci          }
92b8a72a62Sopenharmony_ci        }
93b8a72a62Sopenharmony_ci      }
94b8a72a62Sopenharmony_ci    }
95b8a72a62Sopenharmony_ci  }
96b8a72a62Sopenharmony_ci}