Metadata JSON Fields

The metadata JSON files located in src/main/resources/metadata define the schema, UI behavior, and security constraints for the V3NITY PAAS resources. This document provides a comprehensive reference for all unique fields used across these configurations.

Root Level Fields

These fields define the high-level configuration for a resource, including its database source and default filtering behavior.

Field Description & Example
columns An array of objects defining the metadata for each database column.
Example "columns": [ { "column_name": "id", ... }, ... ]
default_app_filter Boolean. If true, the system automatically filters results by the current application ID.
Example "default_app_filter": true
default_days_filter_by_create_time Integer. Specifies the default number of days to look back when filtering by creation time.
Example "default_days_filter_by_create_time": 3
default_order_by String. The default SQL ORDER BY clause.
Example "default_order_by": "p_task.id DESC"
default_tenant_filter Boolean. If true, the system automatically filters results by the current tenant ID.
Example "default_tenant_filter": true
default_user_filter Boolean. If true, the system automatically filters results by the current user ID.
Example "default_user_filter": false
detail_foreign_key String. The foreign key column name used in detail/child table relationships.
Example "detail_foreign_key": "task_id"
detail_foreign_table String. The name of the child table for master-detail views.
Example "detail_foreign_table": "/resource/plan/data/tasksummary"
detail_foreign_table_list Array. A list of child tables and their keys for complex master-detail relationships.
Example "detail_foreign_table_list": [ { "table": "/resource/common/data/assetclasslicence", "key": "asset_id" } ]
detail_primary_key String. The primary key of the master table used for detail lookups.
Example "detail_primary_key": "id"
generated_on String. Timestamp indicating when the metadata file was last generated.
Example "generated_on": "2024-03-27 14:19:32"
import_supported Boolean. Indicates if the resource supports bulk data import.
Example "import_supported": true
maximum_total_record_per_request Integer. The hard limit for the number of records returned in a single API call.
Example "maximum_total_record_per_request": 1000
plural String. The plural display name of the resource.
Example "plural": "Incidents"
raw_query String. The base SQL SELECT statement used to fetch data.
Example "raw_query": "SELECT p_task.*, c_tenant.name AS 'tenant_name' FROM p_task ..."
resource_name String. The unique identifier for the resource in the API.
Example "resource_name": "Incident"
table_join String. The SQL JOIN clauses used in the raw_query.
Example "table_join": "INNER JOIN c_tenant ON c_tenant.id = p_task.tenant_id ..."
table_name String. The primary database table name for this resource.
Example "table_name": "p_task"
total_record_per_page Integer. The default number of records per page for paginated results.
Example "total_record_per_page": 50

Column Object Fields

These fields are defined within the columns array and control how individual data points are validated, displayed, and secured.

Field Description & Example
auto_increment Boolean. Indicates if the column value is automatically incremented by the database.
Example "auto_increment": true
colour_lookup_column String. The column name used to determine the display color for a row or cell.
Example "colour_lookup_column": "incident_priority_colour"
column_decimal_point Integer. The number of decimal places for numeric/float types.
Example "column_decimal_point": 1
column_default_value String/Number. The default value assigned to the column if none is provided.
Example "column_default_value": 60
column_description String. A tooltip or help text describing the field's purpose.
Example "column_description": "Represents the highest level definition of a location."
column_display String. The human-readable label displayed in the UI.
Example "column_display": "Task Category"
column_edit_break_line Boolean. If true, forces a line break after this field in the edit form.
Example "column_edit_break_line": true
column_label String. The alias or label used in the SQL result set.
Example "column_label": "category_name"
column_length Integer. The maximum character length or precision of the column.
Example "column_length": 100
column_name String. The actual name of the column in the database table.
Example "column_name": "category_id"
column_populate_value String. A predefined value or expression used to auto-populate the field.
Example "column_populate_value": "username"
column_subtype String. A specialized type hint for UI rendering or data handling.
Example "column_subtype": "identity" | "filepath" | "nfc" | "address" | "signaturepath"
column_table String. The table name the column belongs to.
Example "column_table": "p_task"
column_text_input_helper String. Reference to a helper configuration for text input (e.g., predefined options).
Example "column_text_input_helper": "TaskFeedbackType"
column_type String. The data type of the column.
Example "column_type": "int" | "nvarchar" | "datetime" | "bit" | "geography" | "json" | "money"
column_validator String. The name of the Java validator class used for data validation.
Example "column_validator": "EmailValidator" | "MultilineFieldValidator"
confidential Boolean. If true, the field is treated as sensitive and may be masked in logs or UI.
Example "confidential": true
display_in_edit Boolean. Controls whether the field is visible in edit forms.
Example "display_in_edit": true
display_line_count Integer. For text areas, specifies the number of visible rows in the UI.
Example "display_line_count": 3
encrypted Boolean. Indicates if the data is stored in an encrypted format in the database.
Example "encrypted": true
extensions String/Object. Allowed file extensions or UI extension configurations (like duration buttons).
Example "extensions": "jpg,png" OR { "duration_button": { ... } }
filterer_parent_column_name String. Used in cascading dropdowns to identify the parent filter column.
Example "filterer_parent_column_name": "site_id"
filterer_parent_foreign_key String. The foreign key in the child table that links to the parent filter.
Example "filterer_parent_foreign_key": "site_id"
filterer_parent_nullable Boolean. Whether the parent filter can be empty.
Example "filterer_parent_nullable": true
foreign Boolean. Indicates if the column is a foreign key or part of a joined table.
Example "foreign": true
foreign_display_column String. The column from the foreign table to display in the UI dropdown.
Example "foreign_display_column": "name"
foreign_endpoint String. The API endpoint used to fetch available values for the foreign key.
Example "foreign_endpoint": "/resource/common/data/branch"
foreign_key String. The primary key column name in the foreign table.
Example "foreign_key": "id"
foreign_master Boolean. Indicates if this is the primary master-detail link.
Example "foreign_master": true
foreign_table String. The name of the table this column references.
Example "foreign_table": "c_branch"
hashed Boolean. Indicates if the value is stored as a cryptographic hash (e.g., passwords).
Example "hashed": true
immutable Boolean. If true, the value cannot be changed once the record is created.
Example "immutable": true
local_identity_column String. The column used as a local identifier in specific sync or lookup scenarios.
Example "local_identity_column": "category_id"
nullable Boolean. Indicates if the column can contain NULL values.
Example "nullable": true
primary_key Boolean. Indicates if the column is the primary key of the table.
Example "primary_key": true
readable Boolean. Controls if the field is included in GET API responses.
Example "readable": true
reference_config_table String. Reference to a configuration table for dynamic lookups or reference number generation.
Example "reference_config_table": "p_task_config"
searchable Boolean. Indicates if the field can be used in search filters.
Example "searchable": true
selection_list String. A hardcoded list of key-value pairs for dropdown selections.
Example "selection_list": "1:Active,0:Inactive"
sensitive Boolean. Similar to confidential, used for PII (Personally Identifiable Information).
Example "sensitive": false
writable Boolean. Controls if the field can be updated via POST or PUT requests.
Example "writable": true

Nested Fields

These fields appear within nested objects, such as those in the detail_foreign_table_list.

Field Description & Example
key The foreign key column name in the child table.
Example "key": "incident_id"
table The resource endpoint or table name of the child resource.
Example "table": "/resource/plan/data/task"