|
PACS System 0.1.0
PACS DICOM system library
|
A complete routing rule with conditions and actions. More...
#include <routing_types.h>

Public Member Functions | |
| bool | is_effective_now () const noexcept |
| Check if the rule is currently effective based on schedule. | |
Public Attributes | |
| std::string | rule_id |
| Unique rule identifier. | |
| std::string | name |
| Human-readable name. | |
| std::string | description |
| Detailed description. | |
| bool | enabled {true} |
| Whether the rule is active. | |
| int | priority {0} |
| Evaluation priority (higher = first) | |
| std::vector< routing_condition > | conditions |
| Conditions (AND logic) | |
| std::vector< routing_action > | actions |
| Actions to execute on match. | |
| std::optional< std::string > | schedule_cron |
| Cron expression for scheduling. | |
| std::optional< std::chrono::system_clock::time_point > | effective_from |
| std::optional< std::chrono::system_clock::time_point > | effective_until |
| size_t | triggered_count {0} |
| Number of times the rule was triggered. | |
| size_t | success_count {0} |
| Successful forwarding count. | |
| size_t | failure_count {0} |
| Failed forwarding count. | |
| std::chrono::system_clock::time_point | last_triggered |
| std::chrono::system_clock::time_point | created_at |
| std::chrono::system_clock::time_point | updated_at |
| int64_t | pk {0} |
| Primary key (0 if not persisted) | |
A complete routing rule with conditions and actions.
Rules are evaluated in priority order (higher priority first). All conditions must match (AND logic) for actions to be triggered.
Definition at line 176 of file routing_types.h.
|
inlinenodiscardnoexcept |
Check if the rule is currently effective based on schedule.
Definition at line 232 of file routing_types.h.
References effective_from, effective_until, and enabled.
| std::vector<routing_action> kcenon::pacs::client::routing_rule::actions |
Actions to execute on match.
Definition at line 197 of file routing_types.h.
| std::vector<routing_condition> kcenon::pacs::client::routing_rule::conditions |
Conditions (AND logic)
Definition at line 196 of file routing_types.h.
| std::chrono::system_clock::time_point kcenon::pacs::client::routing_rule::created_at |
Definition at line 215 of file routing_types.h.
| std::string kcenon::pacs::client::routing_rule::description |
Detailed description.
Definition at line 183 of file routing_types.h.
| std::optional<std::chrono::system_clock::time_point> kcenon::pacs::client::routing_rule::effective_from |
Definition at line 204 of file routing_types.h.
Referenced by is_effective_now().
| std::optional<std::chrono::system_clock::time_point> kcenon::pacs::client::routing_rule::effective_until |
Definition at line 205 of file routing_types.h.
Referenced by is_effective_now().
| bool kcenon::pacs::client::routing_rule::enabled {true} |
Whether the rule is active.
Definition at line 189 of file routing_types.h.
Referenced by is_effective_now().
| size_t kcenon::pacs::client::routing_rule::failure_count {0} |
| std::chrono::system_clock::time_point kcenon::pacs::client::routing_rule::last_triggered |
Definition at line 214 of file routing_types.h.
| std::string kcenon::pacs::client::routing_rule::name |
Human-readable name.
Definition at line 182 of file routing_types.h.
Referenced by kcenon::pacs::client::routing_manager::add_rule(), and kcenon::pacs::client::routing_manager::update_rule().
| int64_t kcenon::pacs::client::routing_rule::pk {0} |
| int kcenon::pacs::client::routing_rule::priority {0} |
| std::string kcenon::pacs::client::routing_rule::rule_id |
Unique rule identifier.
Definition at line 181 of file routing_types.h.
Referenced by kcenon::pacs::client::routing_manager::add_rule(), and kcenon::pacs::client::routing_manager::update_rule().
| std::optional<std::string> kcenon::pacs::client::routing_rule::schedule_cron |
Cron expression for scheduling.
Definition at line 203 of file routing_types.h.
| size_t kcenon::pacs::client::routing_rule::success_count {0} |
| size_t kcenon::pacs::client::routing_rule::triggered_count {0} |
| std::chrono::system_clock::time_point kcenon::pacs::client::routing_rule::updated_at |
Definition at line 216 of file routing_types.h.