Skip to main content

GUI_TABLE_FORM_JSON_SCHEMA

Constant GUI_TABLE_FORM_JSON_SCHEMA 

Source
pub const GUI_TABLE_FORM_JSON_SCHEMA: &str = "{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"$id\": \"https://radixdb.dev/schema/radixdb.gui.table-form.v1.schema.json\",\n  \"title\": \"RadixDB GUI table form descriptor v1\",\n  \"type\": \"object\",\n  \"required\": [\"descriptor\", \"table\", \"schema_fingerprint\", \"fields\", \"table_checks\"],\n  \"properties\": {\n    \"descriptor\": { \"const\": \"radixdb.gui.table-form.v1\" },\n    \"table\": { \"type\": \"string\", \"minLength\": 1 },\n    \"schema_fingerprint\": { \"type\": \"string\", \"minLength\": 1 },\n    \"fields\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"required\": [\"name\", \"ordinal\", \"data_type\", \"editor\", \"nullable\", \"required\", \"primary_key\", \"unique\", \"auto_increment\", \"read_only\", \"generated\", \"default_expression\", \"checks\", \"reference\"],\n        \"properties\": {\n          \"name\": { \"type\": \"string\", \"minLength\": 1 },\n          \"ordinal\": { \"type\": \"integer\", \"minimum\": 0 },\n          \"data_type\": { \"$ref\": \"radixdb.schema.v1.schema.json#/$defs/dataType\" },\n          \"editor\": { \"enum\": [\"integer\", \"float\", \"decimal\", \"text\", \"boolean\", \"timestamp\", \"date\", \"json\", \"uuid\", \"bytes\", \"vector\", \"reference_select\", \"unsupported\"] },\n          \"nullable\": { \"type\": \"boolean\" },\n          \"required\": { \"type\": \"boolean\" },\n          \"primary_key\": { \"type\": \"boolean\" },\n          \"unique\": { \"type\": \"boolean\" },\n          \"auto_increment\": { \"type\": \"boolean\" },\n          \"read_only\": { \"type\": \"boolean\" },\n          \"generated\": { \"type\": \"boolean\" },\n          \"default_expression\": { \"type\": [\"string\", \"null\"] },\n          \"checks\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } },\n          \"reference\": {\n            \"oneOf\": [\n              { \"type\": \"null\" },\n              {\n                \"type\": \"object\",\n                \"required\": [\"target_table\", \"target_column\", \"on_delete\", \"on_update\"],\n                \"properties\": {\n                  \"target_table\": { \"type\": \"string\", \"minLength\": 1 },\n                  \"target_column\": { \"type\": \"string\", \"minLength\": 1 },\n                  \"on_delete\": { \"enum\": [\"restrict\", \"cascade\", \"set_null\", \"no_action\"] },\n                  \"on_update\": { \"enum\": [\"restrict\", \"cascade\", \"set_null\", \"no_action\"] }\n                },\n                \"additionalProperties\": false\n              }\n            ]\n          },\n          \"extensions\": { \"type\": \"object\", \"additionalProperties\": true }\n        },\n        \"additionalProperties\": false\n      }\n    },\n    \"table_checks\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } },\n    \"extensions\": { \"type\": \"object\", \"additionalProperties\": true }\n  },\n  \"additionalProperties\": false\n}\n";