Difference between revisions of "Frame Schema"

From Telstar Wiki
Jump to navigation Jump to search
(Created page with "This is the basic JSON schema for a Telstar Frame: { "$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" ]...")
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is the basic JSON schema for a Telstar Frame:
With thanks to https://www.liquid-technologies.com/online-json-to-schema-converter


     {
     {
Line 70: Line 70:
             "type": {
             "type": {
               "type": "string"
               "type": "string"
            },
            "merge-data": {
              "type": "array",
              "items": [
                {
                  "type": "string"
                }
              ]
             }
             }
           },
           },
           "required": [
           "required": [
             "data",
             "data",
             "type"
             "type",
            "merge-data"
           ]
           ]
         },
         },
Line 143: Line 152:
           "type": "object",
           "type": "object",
           "properties": {
           "properties": {
             "responses": {
             "response-fields": {
               "type": "null"
               "type": "null"
             },
             },
Line 195: Line 204:
           },
           },
           "required": [
           "required": [
             "responses",
             "response-fields",
             "response-action"
             "response-action"
           ]
           ]
Line 209: Line 218:
         "pid",
         "pid",
         "visible",
         "visible",
        "header-text",
        "cost",
        "frame-type",
        "redirect",
        "content",
        "title",
        "routing-table",
        "cursor",
        "connection",
        "author-id",
        "response-data",
        "navmessage-select",
        "navmessage-notfound"
       ]
       ]
     }
     }

Latest revision as of 08:17, 21 April 2022

With thanks to https://www.liquid-technologies.com/online-json-to-schema-converter

   {
     "$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",
     ]
   }