Coverage for src / mafw / models / filter_schema.py: 100%
8 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-30 16:10 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-30 16:10 +0000
1# Copyright 2025–2026 European Union
2# Author: Bulgheroni Antonio (antonio.bulgheroni@ec.europa.eu)
3# SPDX-License-Identifier: EUPL-1.2
4"""Static metadata describing the models available for filtering."""
6from __future__ import annotations
8from dataclasses import dataclass, field
10from mafw.db.db_model import MAFwBaseModel
12__all__ = ['FilterSchema']
15@dataclass(frozen=True)
16class FilterSchema:
17 """
18 Static descriptor of the models available to the GUI filter builder.
20 :param root_model: Model that controls the primary query entry point.
21 :param allowed_models: Supplementary models that can be joined during filtering.
22 """
24 root_model: type[MAFwBaseModel]
25 allowed_models: tuple[type[MAFwBaseModel], ...] = field(default_factory=tuple)