Frame Schema

From Telstar Wiki
Revision as of 22:43, 20 April 2022 by John (talk | contribs)
Jump to navigation Jump to search
   {
     "$schema": "http://json-schema.org/draft-04/schema#",
     "type": "object",
     "properties": {
       "pid": {
         "type": "object",
         "properties": {
           "page-no": {
             "type": "integer"
           },
           "frame-id": {
             "type": "string"
           }
         },
         "required": [
           "page-no",
           "frame-id"
         ]
       },
       "visible": {
         "type": "boolean"
       },
       "header-text": {
         "type": "string"
       },
       "cost": {
         "type": "integer"
       },
       "frame-type": {
         "type": "string"
       },
       "redirect": {
         "type": "object",
         "properties": {
           "page-no": {
             "type": "integer"
           },
           "frame-id": {
             "type": "string"
           }
         },
         "required": [
           "page-no",
           "frame-id"
         ]
       },
       "content": {
         "type": "object",
         "properties": {
           "data": {
             "type": "string"
           },
           "type": {
             "type": "string"
           }
         },
         "required": [
           "data",
           "type"
         ]
       },
       "title": {
         "type": "object",
         "properties": {
           "data": {
             "type": "string"
           },
           "type": {
             "type": "string"
           },
           "merge-data": {
             "type": "array",
             "items": [
               {
                 "type": "string"
               }
             ]
           }
         },
         "required": [
           "data",
           "type",
           "merge-data"
         ]
       },
       "routing-table": {
         "type": "array",
         "items": [
           {
             "type": "integer"
           },
           {
             "type": "integer"
           },
           {
             "type": "integer"
           },
           {
             "type": "integer"
           },
           {
             "type": "integer"
           },
           {
             "type": "integer"
           },
           {
             "type": "integer"
           },
           {
             "type": "integer"
           },
           {
             "type": "integer"
           },
           {
             "type": "integer"
           },
           {
             "type": "integer"
           }
         ]
       },
       "cursor": {
         "type": "boolean"
       },
       "connection": {
         "type": "object",
         "properties": {
           "address": {
             "type": "string"
           },
           "mode": {
             "type": "string"
           },
           "port": {
             "type": "integer"
           }
         },
         "required": [
           "address",
           "mode",
           "port"
         ]
       },
       "author-id": {
         "type": "string"
       },
       "response-data": {
         "type": "object",
         "properties": {
           "response-fields": {
             "type": "null"
           },
           "response-action": {
             "type": "object",
             "properties": {
               "exec": {
                 "type": "string"
               },
               "args": {
                 "type": "null"
               },
               "post-action-frame": {
                 "type": "object",
                 "properties": {
                   "page-no": {
                     "type": "integer"
                   },
                   "frame-id": {
                     "type": "string"
                   }
                 },
                 "required": [
                   "page-no",
                   "frame-id"
                 ]
               },
               "post-cancel-frame": {
                 "type": "object",
                 "properties": {
                   "page-no": {
                     "type": "integer"
                   },
                   "frame-id": {
                     "type": "string"
                   }
                 },
                 "required": [
                   "page-no",
                   "frame-id"
                 ]
               }
             },
             "required": [
               "exec",
               "args",
               "post-action-frame",
               "post-cancel-frame"
             ]
           }
         },
         "required": [
           "response-fields",
           "response-action"
         ]
       },
       "navmessage-select": {
         "type": "string"
       },
       "navmessage-notfound": {
         "type": "string"
       }
     },
     "required": [
       "pid",
       "visible",
     ]
   }