mirror of https://github.com/abpframework/abp.git
committed by
GitHub
20 changed files with 0 additions and 860 deletions
@ -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 |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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" |
|||
] |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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" |
|||
] |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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" |
|||
] |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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" |
|||
] |
|||
} |
|||
@ -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 |
|||
} |
|||
@ -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"] |
|||
} |
|||
@ -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 |
|||
} |
|||
|
|||
@ -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 |
|||
} |
|||
Loading…
Reference in new issue