ORE Studio 0.0.4
Loading...
Searching...
No Matches
Public Attributes | List of all members
report_definition Struct Referencefinal

Persistent template for a scheduled report. More...

#include <report_definition.hpp>

Collaboration diagram for report_definition:
Collaboration graph

Public Attributes

int version = 0
 Version number for optimistic locking and change tracking.
 
utility::uuid::tenant_id tenant_id = utility::uuid::tenant_id::system()
 Tenant identifier for multi-tenancy isolation.
 
boost::uuids::uuid id
 UUID uniquely identifying this report definition.
 
std::string name
 Unique name for the report definition within a tenant.
 
boost::uuids::uuid party_id
 Party that owns this report definition.
 
std::string description
 Optional human-readable description of the report.
 
std::string report_type
 Report type code (FK to ores_reporting_report_types_tbl).
 
std::optional< boost::uuids::uuid > fsm_state_id
 Current FSM state (FK to ores_dq_fsm_states_tbl). Null until first activation.
 
std::string schedule_expression
 Validated cron expression driving report recurrence.
 
std::string concurrency_policy
 Concurrency policy code (FK to ores_reporting_concurrency_policies_tbl).
 
std::optional< boost::uuids::uuid > scheduler_job_id
 Scheduler job UUID (FK to ores_scheduler_job_definitions_tbl). Present only when status is active.
 
std::string modified_by
 Username of the person who last modified this report definition.
 
std::string performed_by
 Username of the account that performed this action.
 
std::string change_reason_code
 Code identifying the reason for the change.
 
std::string change_commentary
 Free-text commentary explaining the change.
 
std::chrono::system_clock::time_point recorded_at
 Timestamp when this version of the record was recorded.
 

Detailed Description

Persistent template for a scheduled report.

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.

Member Data Documentation

◆ change_reason_code

std::string change_reason_code

Code identifying the reason for the change.

References change_reasons table (soft FK).