Skip to content

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

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