ores.reporting.report_definition
Table of Contents
The persistent template for a report. Describes what to run, when to run it, and how to handle concurrent executions. Type-specific configuration (e.g. risk parameters) lives in a separate table keyed by report_definition_id.
Lifecycle is managed through the report_definition_lifecycle FSM machine. fsm_state_id points to the current state in ores_dq_fsm_states_tbl.
scheduler_job_id links to ores_scheduler_job_definitions_tbl.id and is set by the scheduler service when the definition is activated (state: active). It is cleared when the definition is suspended or archived.
1. Flags
2. Columns
2.1. id
UUID uniquely identifying this report definition.
2.2. name
Unique name for the report definition within a party.
std::string(faker::word::noun()) + "_report"
2.3. party_id
Party that owns this report definition.
ctx.generate_uuid()
2.4. description
Human-readable description of the report.
std::string(faker::lorem::sentence())
2.5. report_type
Report type code (FK to ores_reporting_report_types_tbl).
std::string("risk")
2.6. fsm_state_id
Current FSM state (FK to ores_dq_fsm_states_tbl). Null until first activation.
std::nullopt
2.7. schedule_expression
Validated cron expression driving report recurrence.
std::string("0 6 * * 1")
2.8. concurrency_policy
Concurrency policy code (FK to ores_reporting_concurrency_policies_tbl).
std::string("skip")
2.9. scheduler_job_id
Scheduler job UUID (FK to ores_scheduler_job_definitions_tbl). Present only when status is active.
std::nullopt
3. SQL
3.1. Flags
4. C++
4.1. Flags
4.2. Repository
4.3. Domain includes
#include <optional> #include <string> #include <boost/uuid/uuid.hpp>
4.4. Entity includes
#include <optional> #include <string> #include "sqlgen/Timestamp.hpp" #include <boost/uuid/uuid.hpp>
4.5. Conventions
4.6. Table display
| column | header |
|---|---|
| id | ID |
| name | Name |
| report_type | Type |
| modified_by | Modified By |
| version | Version |
4.7. Presentation
4.7.1. Detail fields
| field | label | widget | type | is_key | is_required | placeholder |
|---|---|---|---|---|---|---|
| name | Name | nameEdit | line_edit | true | true | Enter report definition name |
| description | Description | descriptionEdit | text_edit | Enter a description | ||
| report_type | Report Type | reportTypeEdit | line_edit | true | e.g. risk | |
| schedule_expression | Schedule (cron) | scheduleExpressionEdit | line_edit | true | e.g. 0 6 * * 1 | |
| concurrency_policy | Concurrency Policy | concurrencyPolicyEdit | line_edit | true | e.g. skip |
4.7.2. Columns
| enum_name | field | header | type | width |
|---|---|---|---|---|
| Name | name | Name | string | 200 |
| ReportType | report_type | Type | string | 100 |
| ScheduleExpression | schedule_expression | Schedule | string | 150 |
| ConcurrencyPolicy | concurrency_policy | Concurrency | string | 100 |
| Version | version | Version | int | 60 |
| ModifiedBy | modified_by | Modified By | string | 120 |
4.8. Custom repository methods
5. See also
- ores.reporting — component group overview.