Table Service
The Table Service is a central component designed to work with dynamic tables within the system. It provides functionality for managing table metadata, retrieving data, filtering, pagination, caching, and access control.
Core Responsibilities
- Providing table metadata
- Retrieving table data
- Supporting multi-level (hierarchical) tables
- Dynamic data retrieval based on SQL sources
- Returning filtered and related (tree/select) data
- Managing table cache
- Enforcing security and access control
- Supporting public and authenticated access modes
Table Metadata
The service provides the following configuration details for tables:
- General table description
- Column configuration
- Filters and their logic
- Action and button definitions
- Pagination settings
Metadata visibility may be restricted based on user permissions.
Working with Table Data
Table data is primarily retrieved from SQL data sources and:
- Supports dynamic parameters
- Uses values from the session context
- Is returned with pagination
For tables with multiple levels, the configuration of the root (level 1) table is used as a base.
Pagination
- Each table may define its own page size
- If pagination is not configured, all data may be returned
- Results are provided in a standard pagination structure
Filtering and Related Data
The service supports advanced data retrieval patterns commonly used in UI components:
- Data filtering based on table-defined filters
- Tree-structured data retrieval
- Parent–child relationships
- Support for select and dependent select components
Security and Access Control
The service enforces access rules based on:
- Authentication state of the user
- Whether the table is public or restricted
- User permissions for accessing specific tables
Unauthorized access is blocked at both metadata and data levels.
Caching
- Table metadata is cached to improve performance
- Cache is refreshed automatically based on configuration
- Individual table cache can be cleared and reloaded when needed
This approach significantly reduces database load and improves response times.
Public Access Mode
The service supports unauthenticated (public) access:
- Public table metadata can be retrieved
- Public table data can be viewed
- All operations respect defined security constraints