syntax = "proto3"; import "google/protobuf/struct.proto"; import "google/protobuf/wrappers.proto"; option csharp_namespace = "SquaredUp.Dashboard.Schema"; package squaredup; //------------------------------------------------------------------------------------- // // Web content and web API tiles // //------------------------------------------------------------------------------------- // tile/web-content message WebContentTileConfig { WebContentTileConfig_Display display = 1; // Generally empty (source: {}) google.protobuf.Value source = 2; // Generally empty google.protobuf.Value context = 3; } message WebContentTileConfig_Display { int32 height = 1; double zoom = 2; bool border = 3; bool scrolling = 4; bool refresh = 5; // URL, if specified string src = 6; // Literal HTML content, if specified string content = 7; bool link = 8; } //------------------------------------------------------------------------------------- // tile/webapi-as-scalar message WebApiAsScalarTileConfig { WebApiAsScalarTileConfig_Context context = 1; WebApiAsScalarTileConfig_Source source = 2; WebApiAsScalarTileConfig_Display display = 3; } message WebApiAsScalarTileConfig_Context { // Empty } message WebApiAsScalarTileConfig_Source { // Typically "signing" string _security = 1; // GET or POST string method = 2; string provider = 3; string url = 4; // Keypath from response string keypath = 5; repeated WebApiAsScalarTileConfig_Source_Header headers = 6; repeated WebApiAsScalarTileConfig_Source_Data data = 7; } message WebApiAsScalarTileConfig_Source_Header { string key = 1; string value = 2; } message WebApiAsScalarTileConfig_Source_Data { string key = 1; string value = 2; } message WebApiAsScalarTileConfig_Display { double fontsize = 1; bool coerce_object = 2; string unit = 3; // e.g. 'column' string zoom = 4; } //------------------------------------------------------------------------------------- // tile/webapi-as-table message WebApiAsTableTileConfig { WebApiAsTableTileConfig_Context context = 1; WebApiAsTableTileConfig_Source source = 2; WebApiAsTableTileConfig_Display display = 3; } message WebApiAsTableTileConfig_Context { // Empty } message WebApiAsTableTileConfig_Source { // Typically "signing" string _security = 1; // GET or POST string method = 2; string provider = 3; string url = 4; // Keypath from response string keypath = 5; repeated WebApiAsTableTileConfig_Source_Header headers = 6; repeated WebApiAsTableTileConfig_Source_Data data = 7; } message WebApiAsTableTileConfig_Source_Header { string key = 1; string value = 2; } message WebApiAsTableTileConfig_Source_Data { string key = 1; string value = 2; } message WebApiAsTableTileConfig_Display { bool show_headers = 1; // Column template overrides // name -> override data map column_overrides = 2; // Custom columns // internal name (e.g. custom_column) -> data key path map custom_columns = 3; // List/order of each column repeated string columns = 4; bool autohide = 5; string row_link = 6; // e.g. 'column' string zoom = 7; } message WebApiAsTableTileConfig_ColumnOverride { string template = 1; }