Difference between revisions of "Frame Schema"

From Telstar Wiki
Jump to navigation Jump to search
Line 1: Line 1:
This is the basic JSON schema for a Telstar Frame:
{
 
  "$schema": "http://json-schema.org/draft-04/schema#",
    {
  "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
  "properties": {
    "pid": {
       "type": "object",
       "type": "object",
       "properties": {
       "properties": {
         "pid": {
         "page-no": {
          "type": "object",
          "type": "integer"
          "properties": {
            "page-no": {
              "type": "integer"
            },
            "frame-id": {
              "type": "string"
            }
          },
          "required": [
            "page-no",
            "frame-id"
          ]
         },
         },
         "visible": {
         "frame-id": {
           "type": "boolean"
          "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"
         },
         },
         "header-text": {
         "frame-id": {
          "type": "string"
        }
      },
      "required": [
        "page-no",
        "frame-id"
      ]
    },
    "content": {
      "type": "object",
      "properties": {
        "data": {
           "type": "string"
           "type": "string"
         },
         },
         "cost": {
         "type": {
           "type": "integer"
          "type": "string"
        }
      },
      "required": [
        "data",
        "type"
      ]
    },
    "title": {
      "type": "object",
      "properties": {
        "data": {
           "type": "string"
         },
         },
         "frame-type": {
         "type": {
           "type": "string"
           "type": "string"
         },
         },
         "redirect": {
         "merge-data": {
           "type": "object",
           "type": "array",
           "properties": {
           "items": [
             "page-no": {
             {
              "type": "integer"
            },
            "frame-id": {
               "type": "string"
               "type": "string"
             }
             }
          },
          "required": [
            "page-no",
            "frame-id"
           ]
           ]
        }
      },
      "required": [
        "data",
        "type",
        "merge-data"
      ]
    },
    "routing-table": {
      "type": "array",
      "items": [
        {
          "type": "integer"
        },
        {
          "type": "integer"
        },
        {
          "type": "integer"
        },
        {
          "type": "integer"
        },
        {
          "type": "integer"
        },
        {
          "type": "integer"
         },
         },
         "content": {
         {
           "type": "object",
           "type": "integer"
          "properties": {
            "data": {
              "type": "string"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "data",
            "type"
          ]
         },
         },
         "title": {
         {
           "type": "object",
           "type": "integer"
          "properties": {
            "data": {
              "type": "string"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "data",
            "type"
          ]
         },
         },
         "routing-table": {
         {
           "type": "array",
           "type": "integer"
          "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"
           "type": "integer"
         },
         },
         "connection": {
         {
           "type": "object",
           "type": "integer"
          "properties": {
        }
            "address": {
      ]
              "type": "string"
    },
            },
    "cursor": {
            "mode": {
      "type": "boolean"
              "type": "string"
    },
            },
    "connection": {
            "port": {
      "type": "object",
              "type": "integer"
      "properties": {
            }
        "address": {
          },
          "type": "string"
          "required": [
            "address",
            "mode",
            "port"
          ]
         },
         },
         "author-id": {
         "mode": {
           "type": "string"
           "type": "string"
         },
         },
         "response-data": {
         "port": {
          "type": "integer"
        }
      },
      "required": [
        "address",
        "mode",
        "port"
      ]
    },
    "author-id": {
      "type": "string"
    },
    "response-data": {
      "type": "object",
      "properties": {
        "response-fields": {
          "type": "null"
        },
        "response-action": {
           "type": "object",
           "type": "object",
           "properties": {
           "properties": {
             "responses": {
             "exec": {
              "type": "string"
            },
            "args": {
               "type": "null"
               "type": "null"
             },
             },
             "response-action": {
             "post-action-frame": {
               "type": "object",
               "type": "object",
               "properties": {
               "properties": {
                 "exec": {
                 "page-no": {
                  "type": "integer"
                },
                "frame-id": {
                   "type": "string"
                   "type": "string"
                }
              },
              "required": [
                "page-no",
                "frame-id"
              ]
            },
            "post-cancel-frame": {
              "type": "object",
              "properties": {
                "page-no": {
                  "type": "integer"
                 },
                 },
                 "args": {
                 "frame-id": {
                  "type": "null"
                   "type": "string"
                },
                "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": [
               "required": [
                 "exec",
                 "page-no",
                "args",
                 "frame-id"
                 "post-action-frame",
                "post-cancel-frame"
               ]
               ]
             }
             }
           },
           },
           "required": [
           "required": [
             "responses",
             "exec",
             "response-action"
             "args",
            "post-action-frame",
            "post-cancel-frame"
           ]
           ]
        },
        "navmessage-select": {
          "type": "string"
        },
        "navmessage-notfound": {
          "type": "string"
         }
         }
       },
       },
       "required": [
       "required": [
         "pid",
         "response-fields",
         "visible",
         "response-action"
       ]
       ]
    },
    "navmessage-select": {
      "type": "string"
    },
    "navmessage-notfound": {
      "type": "string"
     }
     }
  },
  "required": [
    "pid",
    "visible",
    "frame-type",
  ]
}

Revision as of 22:38, 20 April 2022

{

 "$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",
   "frame-type",
 ]

}