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"
|