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

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

5 

6from __future__ import annotations 

7 

8from dataclasses import dataclass, field 

9 

10from mafw.db.db_model import MAFwBaseModel 

11 

12__all__ = ['FilterSchema'] 

13 

14 

15@dataclass(frozen=True) 

16class FilterSchema: 

17 """ 

18 Static descriptor of the models available to the GUI filter builder. 

19 

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

23 

24 root_model: type[MAFwBaseModel] 

25 allowed_models: tuple[type[MAFwBaseModel], ...] = field(default_factory=tuple)