diff --git a/lowcode/schema/definitions/command-interceptor-descriptor.schema.json b/lowcode/schema/definitions/command-interceptor-descriptor.schema.json deleted file mode 100644 index ad0d0b02bd..0000000000 --- a/lowcode/schema/definitions/command-interceptor-descriptor.schema.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "command-interceptor-descriptor.schema.json", - "title": "CommandInterceptorDescriptor", - "description": "Describes a command interceptor", - "type": "object", - "properties": { - "commandName": { - "type": "string", - "description": "Name of the command to intercept", - "enum": ["Create", "Update", "Delete"] - }, - "type": { - "$ref": "interceptor-type.schema.json" - }, - "javascript": { - "type": "string", - "description": "JavaScript code to execute" - } - }, - "required": ["commandName", "type", "javascript"], - "additionalProperties": false -} \ No newline at end of file diff --git a/lowcode/schema/definitions/endpoint-descriptor.schema.json b/lowcode/schema/definitions/endpoint-descriptor.schema.json deleted file mode 100644 index 7837e47f69..0000000000 --- a/lowcode/schema/definitions/endpoint-descriptor.schema.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "urn:abp:lowcode:endpoint-descriptor", - "title": "Custom Endpoint Descriptor", - "description": "Defines a custom HTTP endpoint that executes JavaScript code", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Unique identifier for the endpoint" - }, - "route": { - "type": "string", - "description": "URL route pattern (e.g., '/api/custom/products/{id}')" - }, - "method": { - "type": "string", - "description": "HTTP method", - "enum": ["GET", "POST", "PUT", "DELETE", "PATCH"], - "default": "GET" - }, - "javascript": { - "type": "string", - "description": "JavaScript code to execute. Has access to context object with request, db, currentUser, emailSender." - }, - "requireAuthentication": { - "type": "boolean", - "description": "Whether authentication is required", - "default": true - }, - "requiredPermissions": { - "type": "array", - "description": "Permission names required to access the endpoint", - "items": { - "type": "string" - } - }, - "description": { - "type": "string", - "description": "Optional description for documentation" - } - }, - "required": ["name", "route", "javascript"], - "additionalProperties": false -} diff --git a/lowcode/schema/definitions/entity-descriptor.schema.json b/lowcode/schema/definitions/entity-descriptor.schema.json deleted file mode 100644 index 2023a043bc..0000000000 --- a/lowcode/schema/definitions/entity-descriptor.schema.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "entity-descriptor.schema.json", - "title": "EntityDescriptor", - "description": "Describes an entity configuration", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Full name of the entity (e.g., 'Namespace.EntityName')", - "minLength": 1 - }, - "displayProperty": { - "type": "string", - "description": "The property to be used as the display property for the entity" - }, - "parent": { - "type": "string", - "description": "Full name of the parent entity (e.g., 'Namespace.EntityName')", - "minLength": 1 - }, - "ui": { - "$ref": "entity-ui-descriptor.schema.json" - }, - "properties": { - "type": "array", - "description": "List of property descriptors", - "items": { - "$ref": "entity-property-descriptor.schema.json" - } - }, - "interceptors": { - "type": "array", - "description": "List of command interceptors", - "items": { - "$ref": "command-interceptor-descriptor.schema.json" - } - } - }, - "required": ["name"], - "additionalProperties": false -} \ No newline at end of file diff --git a/lowcode/schema/definitions/entity-property-descriptor.schema.json b/lowcode/schema/definitions/entity-property-descriptor.schema.json deleted file mode 100644 index ceeeb9eb60..0000000000 --- a/lowcode/schema/definitions/entity-property-descriptor.schema.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "entity-property-descriptor.schema.json", - "title": "EntityPropertyDescriptor", - "description": "Describes a property configuration", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the property", - "minLength": 1 - }, - "type": { - "$ref": "entity-property-type.schema.json" - }, - "enumType": { - "type": "string", - "description": "Name of a JSON-defined enum (or full type name for code enums)" - }, - "allowSetByClients": { - "type": "boolean", - "description": "Indicates whether clients are allowed to set this property" - }, - "serverOnly": { - "type": "boolean", - "description": "When true, this property is completely hidden from clients (API responses and UI definitions). Use for sensitive data like passwords." - }, - "isMappedToDbField": { - "type": "boolean", - "description": "Indicates whether the property is mapped to a database field" - }, - "isUnique": { - "type": "boolean", - "description": "Indicates whether the property value must be unique across all entities" - }, - "isRequired": { - "type": "boolean", - "description": "When true, the property is required (not nullable). Affects DB column (NOT NULL), UI validation, and backend validation." - }, - "ui": { - "$ref": "entity-property-ui-descriptor.schema.json" - }, - "foreignKey": { - "$ref": "foreign-key-descriptor.schema.json" - }, - "validators": { - "type": "array", - "description": "Array of validators to apply to this property", - "items": { - "$ref": "validator-descriptor.schema.json" - } - } - }, - "required": [ - "name" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/lowcode/schema/definitions/entity-property-type.schema.json b/lowcode/schema/definitions/entity-property-type.schema.json deleted file mode 100644 index 5eb7defa6a..0000000000 --- a/lowcode/schema/definitions/entity-property-type.schema.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "entity-property-type.schema.json", - "title": "EntityPropertyType", - "description": "Data type of the property", - "type": "string", - "enum": [ - "string", - "String", - "int", - "Int", - "long", - "Long", - "decimal", - "Decimal", - "dateTime", - "DateTime", - "boolean", - "Boolean", - "guid", - "Guid", - "enum", - "Enum" - ] -} \ No newline at end of file diff --git a/lowcode/schema/definitions/entity-property-ui-descriptor.schema.json b/lowcode/schema/definitions/entity-property-ui-descriptor.schema.json deleted file mode 100644 index 1a0ded7b76..0000000000 --- a/lowcode/schema/definitions/entity-property-ui-descriptor.schema.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "entity-property-ui-descriptor.schema.json", - "title": "EntityPropertyUIDescriptor", - "description": "UI configuration for a property", - "type": "object", - "properties": { - "displayName": { - "type": "string", - "description": "Display name for the property in UI. Falls back to property name if not set." - }, - "isAvailableOnDataTable": { - "type": "boolean", - "description": "Whether the property is shown in the data table listing" - }, - "isAvailableOnDataTableFiltering": { - "type": "boolean", - "description": "Whether the property is available for filtering in the data table" - }, - "creationFormAvailability": { - "$ref": "entity-property-ui-form-availability.schema.json" - }, - "editingFormAvailability": { - "$ref": "entity-property-ui-form-availability.schema.json" - }, - "quickLookOrder": { - "type": "integer", - "description": "Order of the property in quick look views. Higher numbers appear first. Set to -1 to exclude from quick look. If no property has a value, first 5 properties by name are shown." - } - }, - "additionalProperties": false -} \ No newline at end of file diff --git a/lowcode/schema/definitions/entity-property-ui-form-availability.schema.json b/lowcode/schema/definitions/entity-property-ui-form-availability.schema.json deleted file mode 100644 index dff4a5665c..0000000000 --- a/lowcode/schema/definitions/entity-property-ui-form-availability.schema.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "entity-property-ui-form-availability.schema.json", - "title": "EntityPropertyUIFormAvailability", - "description": "Availability of the property on forms", - "type": "string", - "enum": [ - "Available", - "available", - "Hidden", - "hidden", - "NotAvailable", - "notAvailable" - ] -} \ No newline at end of file diff --git a/lowcode/schema/definitions/entity-ui-descriptor.schema.json b/lowcode/schema/definitions/entity-ui-descriptor.schema.json deleted file mode 100644 index 3525d6c38e..0000000000 --- a/lowcode/schema/definitions/entity-ui-descriptor.schema.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "entity-ui-descriptor.schema.json", - "title": "EntityUIDescriptor", - "description": "UI configuration for the entity", - "type": "object", - "properties": { - "pageTitle": { - "type": "string", - "description": "Title to display on the entity's page" - } - }, - "additionalProperties": false -} \ No newline at end of file diff --git a/lowcode/schema/definitions/enum-descriptor.schema.json b/lowcode/schema/definitions/enum-descriptor.schema.json deleted file mode 100644 index 347f7e66ff..0000000000 --- a/lowcode/schema/definitions/enum-descriptor.schema.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "enum-descriptor.schema.json", - "title": "EnumDescriptor", - "description": "Describes an enum definition for use in entity properties", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Unique name for the enum", - "minLength": 1 - }, - "values": { - "type": "array", - "description": "List of enum values", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Display name of the enum value" - }, - "value": { - "type": "integer", - "description": "Integer value (auto-assigned if omitted)" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - "minItems": 1 - } - }, - "required": [ - "name", - "values" - ], - "additionalProperties": false -} \ No newline at end of file diff --git a/lowcode/schema/definitions/foreign-key-descriptor.schema.json b/lowcode/schema/definitions/foreign-key-descriptor.schema.json deleted file mode 100644 index 8c38f0acf7..0000000000 --- a/lowcode/schema/definitions/foreign-key-descriptor.schema.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "foreign-key-descriptor.schema.json", - "title": "ForeignKeyDescriptor", - "description": "Describes a foreign key relationship", - "type": "object", - "properties": { - "entityName": { - "type": "string", - "description": "Full name of the related entity", - "minLength": 1 - }, - "displayPropertyName": { - "type": "string", - "description": "Property name to display from the related entity", - "minLength": 1 - }, - "access": { - "type": "string", - "description": "Access level for managing this relation from the referenced entity side. When set to 'view' or 'edit', the referenced entity can see/manage items that reference it.", - "enum": ["none", "view", "edit"], - "default": "none" - }, - "dependsOn": { - "type": "object", - "description": "Cascading dependency: filter this FK's lookup by the value of another FK property on the same entity.", - "properties": { - "propertyName": { - "type": "string", - "description": "The property name on the owning entity whose value provides the filter (e.g. 'CountryId' on Author)", - "minLength": 1 - }, - "filterPropertyName": { - "type": "string", - "description": "The property name on the target (lookup) entity to filter by (e.g. 'CountryId' on City)", - "minLength": 1 - } - }, - "required": ["propertyName", "filterPropertyName"], - "additionalProperties": false - } - }, - "required": ["entityName"], - "additionalProperties": false -} \ No newline at end of file diff --git a/lowcode/schema/definitions/form-descriptor.schema.json b/lowcode/schema/definitions/form-descriptor.schema.json deleted file mode 100644 index 60a0b14f0e..0000000000 --- a/lowcode/schema/definitions/form-descriptor.schema.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "form-descriptor.schema.json", - "title": "FormDescriptor", - "description": "Describes a named form definition bound to an entity", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Unique identifier for the form", - "minLength": 1 - }, - "entityName": { - "type": "string", - "description": "Full name of the entity this form is bound to (e.g., 'Namespace.EntityName')", - "minLength": 1 - }, - "fields": { - "type": "array", - "description": "Flat list of all field definitions in this form", - "items": { - "$ref": "form-field-descriptor.schema.json" - } - }, - "layout": { - "$ref": "form-layout-descriptor.schema.json" - }, - "rules": { - "type": "array", - "description": "Conditional rules for field/group visibility and enabled state", - "items": { - "$ref": "form-rule-descriptor.schema.json" - } - } - }, - "required": ["name", "entityName", "fields", "layout"], - "additionalProperties": false -} diff --git a/lowcode/schema/definitions/form-field-descriptor.schema.json b/lowcode/schema/definitions/form-field-descriptor.schema.json deleted file mode 100644 index b5334cc583..0000000000 --- a/lowcode/schema/definitions/form-field-descriptor.schema.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "form-field-descriptor.schema.json", - "title": "FormFieldDescriptor", - "description": "Describes a single field in a form", - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for this field within the form", - "minLength": 1 - }, - "label": { - "type": "string", - "description": "Display label for the field", - "minLength": 1 - }, - "type": { - "$ref": "form-field-type.schema.json" - }, - "binding": { - "type": ["string", "null"], - "description": "Entity property name to bind to, or null for unbound fields. Supports dotted paths like 'Parent.Name' for related entity display." - }, - "enumType": { - "type": "string", - "description": "Full enum type name for select fields" - }, - "defaultValue": { - "description": "Default value for the field" - }, - "placeholder": { - "type": "string", - "description": "Placeholder text for the input" - }, - "helpText": { - "type": "string", - "description": "Help text displayed below the field" - }, - "readOnly": { - "type": "boolean", - "description": "Whether the field is read-only", - "default": false - }, - "modeVisibility": { - "type": "string", - "enum": ["both", "createOnly", "editOnly"], - "description": "Controls in which form mode the field is visible", - "default": "both" - }, - "validations": { - "type": "array", - "description": "Form-level validation rules (override or extend entity-level validators)", - "items": { - "$ref": "validator-descriptor.schema.json" - } - } - }, - "required": ["id", "label", "type"], - "additionalProperties": false -} diff --git a/lowcode/schema/definitions/form-field-type.schema.json b/lowcode/schema/definitions/form-field-type.schema.json deleted file mode 100644 index 03af7d0117..0000000000 --- a/lowcode/schema/definitions/form-field-type.schema.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "form-field-type.schema.json", - "title": "FormFieldType", - "description": "Available field types for form fields", - "type": "string", - "enum": [ - "text", - "textarea", - "number", - "checkbox", - "date", - "select", - "lookup", - "guid", - "computed" - ] -} diff --git a/lowcode/schema/definitions/form-layout-descriptor.schema.json b/lowcode/schema/definitions/form-layout-descriptor.schema.json deleted file mode 100644 index 74457b0ed6..0000000000 --- a/lowcode/schema/definitions/form-layout-descriptor.schema.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "form-layout-descriptor.schema.json", - "title": "FormLayoutDescriptor", - "description": "Describes the visual layout of a form (tabs > groups > field placements)", - "type": "object", - "properties": { - "tabs": { - "type": "array", - "description": "Ordered list of tabs in the form", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for this tab", - "minLength": 1 - }, - "title": { - "type": "string", - "description": "Display title for the tab", - "minLength": 1 - }, - "isDefault": { - "type": "boolean", - "description": "Whether this is the default tab (cannot be deleted, receives orphaned fields)", - "default": false - }, - "groups": { - "type": "array", - "description": "Ordered list of groups within this tab", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for this group", - "minLength": 1 - }, - "title": { - "type": ["string", "null"], - "description": "Optional display title for the group" - }, - "isDefault": { - "type": "boolean", - "description": "Whether this is the default group (cannot be deleted, receives orphaned fields)", - "default": false - }, - "rows": { - "type": "array", - "description": "Ordered list of layout rows; each row contains one or more cells (fields placed side-by-side)", - "items": { - "type": "object", - "properties": { - "cells": { - "type": "array", - "description": "Fields placed side-by-side in this row (total colSpan should not exceed 4)", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "fieldId": { - "type": "string", - "description": "Reference to a field id in the form's fields array", - "minLength": 1 - }, - "colSpan": { - "type": "integer", - "description": "Number of grid columns this field spans (1-4)", - "minimum": 1, - "maximum": 4, - "default": 4 - }, - "colStart": { - "type": "integer", - "description": "Starting grid column (1-4). Omit or null to auto-place after the previous cell.", - "minimum": 1, - "maximum": 4 - } - }, - "required": ["fieldId"], - "additionalProperties": false - } - } - }, - "required": ["cells"], - "additionalProperties": false - } - } - }, - "required": ["id", "rows"], - "additionalProperties": false - } - } - }, - "required": ["id", "title", "groups"], - "additionalProperties": false - } - } - }, - "required": ["tabs"], - "additionalProperties": false -} diff --git a/lowcode/schema/definitions/form-rule-descriptor.schema.json b/lowcode/schema/definitions/form-rule-descriptor.schema.json deleted file mode 100644 index aeee227991..0000000000 --- a/lowcode/schema/definitions/form-rule-descriptor.schema.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "form-rule-descriptor.schema.json", - "title": "FormRuleDescriptor", - "description": "Describes a conditional rule with one or more actions that execute when the condition is met", - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for this rule", - "minLength": 1 - }, - "name": { - "type": "string", - "description": "Human-readable name for this rule (optional)" - }, - "condition": { - "type": "object", - "description": "The condition that triggers this rule", - "properties": { - "fieldId": { - "type": "string", - "description": "The field whose value is evaluated", - "minLength": 1 - }, - "operator": { - "type": "string", - "enum": ["equals", "notEquals", "isEmpty", "isNotEmpty"], - "description": "Comparison operator" - }, - "value": { - "description": "The value to compare against (not used for isEmpty/isNotEmpty)" - } - }, - "required": ["fieldId", "operator"], - "additionalProperties": false - }, - "actions": { - "type": "array", - "description": "Actions to perform when condition is met (executed in order)", - "minItems": 1, - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["hide", "show", "disable", "enable", "setValue"], - "description": "The action type" - }, - "targetType": { - "type": "string", - "enum": ["field", "group"], - "description": "Whether the target is a field or a group" - }, - "targetId": { - "type": "string", - "description": "The id of the target field or group", - "minLength": 1 - }, - "value": { - "description": "The value to set (only for setValue action)" - } - }, - "required": ["type", "targetType", "targetId"], - "additionalProperties": false - } - } - }, - "required": ["id", "condition", "actions"], - "additionalProperties": false -} diff --git a/lowcode/schema/definitions/interceptor-type.schema.json b/lowcode/schema/definitions/interceptor-type.schema.json deleted file mode 100644 index 435c26b434..0000000000 --- a/lowcode/schema/definitions/interceptor-type.schema.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "interceptor-type.schema.json", - "title": "InterceptorType", - "description": "When the interceptor runs", - "type": "string", - "enum": [ - "Pre", - "pre", - "Post", - "post", - "Replace", - "replace" - ] -} \ No newline at end of file diff --git a/lowcode/schema/definitions/page-descriptor.schema.json b/lowcode/schema/definitions/page-descriptor.schema.json deleted file mode 100644 index b328dbe073..0000000000 --- a/lowcode/schema/definitions/page-descriptor.schema.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "page-descriptor.schema.json", - "title": "PageDescriptor", - "description": "Describes a UI page bound to an entity", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Unique URL-safe identifier for the page", - "minLength": 1 - }, - "title": { - "type": "string", - "description": "Display title for the menu item and page header", - "minLength": 1 - }, - "icon": { - "type": "string", - "description": "FontAwesome icon class (e.g., 'fa-solid fa-users')" - }, - "type": { - "$ref": "page-type.schema.json" - }, - "entityName": { - "type": "string", - "description": "Full name of the root entity this page displays (e.g., 'Namespace.EntityName')", - "minLength": 1 - }, - "groupByProperty": { - "type": "string", - "description": "Property name to group entities by (required for kanban). Must reference an enum property.", - "minLength": 1 - }, - "order": { - "type": "integer", - "description": "Menu sort order (lower values appear first)", - "default": 0 - }, - "formName": { - "type": "string", - "description": "Name of the form to render (required when type is 'form')", - "minLength": 1 - }, - "createFormName": { - "type": "string", - "description": "Name of the form to use for creating entities (for dataGrid/kanban pages)" - }, - "editFormName": { - "type": "string", - "description": "Name of the form to use for editing entities (for dataGrid/kanban pages)" - }, - "createFormDisplay": { - "type": "string", - "enum": ["modal", "page"], - "description": "How to display the create form", - "default": "modal" - }, - "editFormDisplay": { - "type": "string", - "enum": ["modal", "page"], - "description": "How to display the edit form", - "default": "modal" - } - }, - "required": ["name", "title", "type", "entityName"], - "allOf": [ - { - "if": { - "properties": { "type": { "const": "kanban" } } - }, - "then": { - "required": ["groupByProperty"] - } - }, - { - "if": { - "properties": { "type": { "const": "form" } } - }, - "then": { - "required": ["formName"] - } - } - ], - "additionalProperties": false -} diff --git a/lowcode/schema/definitions/page-type.schema.json b/lowcode/schema/definitions/page-type.schema.json deleted file mode 100644 index 8a185619fe..0000000000 --- a/lowcode/schema/definitions/page-type.schema.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "page-type.schema.json", - "title": "PageType", - "description": "The type of page to render", - "type": "string", - "enum": ["dataGrid", "kanban", "calendar", "form"] -} diff --git a/lowcode/schema/definitions/validator-descriptor.schema.json b/lowcode/schema/definitions/validator-descriptor.schema.json deleted file mode 100644 index 7eeac0eba9..0000000000 --- a/lowcode/schema/definitions/validator-descriptor.schema.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "validator-descriptor.schema.json", - "title": "ValidatorDescriptor", - "description": "A single validator in the validators array", - "type": "object", - "required": ["type"], - "properties": { - "type": { - "type": "string", - "description": "Type of validator", - "enum": [ - "required", - "minLength", - "maxLength", - "stringLength", - "min", - "minimum", - "max", - "maximum", - "range", - "pattern", - "regularExpression", - "email", - "emailAddress", - "phone", - "url", - "creditCard" - ] - }, - "message": { - "type": "string", - "description": "Custom error message for this validator" - }, - "length": { - "type": "integer", - "description": "Length value for minLength, maxLength validators", - "minimum": 0 - }, - "minimumLength": { - "type": "integer", - "description": "Minimum length for stringLength validator", - "minimum": 0 - }, - "maximumLength": { - "type": "integer", - "description": "Maximum length for stringLength validator", - "minimum": 0 - }, - "value": { - "type": "number", - "description": "Value for min/minimum, max/maximum validators" - }, - "minimum": { - "type": "number", - "description": "Minimum value for range validator" - }, - "maximum": { - "type": "number", - "description": "Maximum value for range validator" - }, - "pattern": { - "type": "string", - "description": "Regular expression pattern for pattern/regularExpression validators" - } - }, - "additionalProperties": true -} - diff --git a/lowcode/schema/model.schema.json b/lowcode/schema/model.schema.json deleted file mode 100644 index 2315475939..0000000000 --- a/lowcode/schema/model.schema.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "model.schema.json", - "title": "ABP Low Code Model", - "description": "Schema for ABP Low Code model.json configuration file", - "type": "object", - "properties": { - "$schema": { - "type": "string", - "description": "Reference to the JSON schema" - }, - "enums": { - "type": "array", - "description": "List of enum definitions", - "items": { - "$ref": "definitions/enum-descriptor.schema.json" - } - }, - "entities": { - "type": "array", - "description": "List of entity descriptors", - "items": { - "$ref": "definitions/entity-descriptor.schema.json" - } - }, - "endpoints": { - "type": "array", - "description": "List of custom HTTP endpoints that execute JavaScript code", - "items": { - "$ref": "definitions/endpoint-descriptor.schema.json" - } - }, - "pages": { - "type": "array", - "description": "List of UI pages that appear as menu items and define how entities are displayed", - "items": { - "$ref": "definitions/page-descriptor.schema.json" - } - }, - "forms": { - "type": "array", - "description": "List of named form definitions for entity create/edit", - "items": { - "$ref": "definitions/form-descriptor.schema.json" - } - } - }, - "additionalProperties": false -} \ No newline at end of file