20#ifdef PACS_WITH_DATABASE_SYSTEM
30class sync_config_repository
31 :
public base_repository<client::sync_config, std::string> {
33 explicit sync_config_repository(std::shared_ptr<pacs_database_adapter> db);
42 [[nodiscard]]
auto find_by_config_id(std::string_view config_id)
48 [[nodiscard]]
auto find_enabled() -> list_result_type;
53 [[nodiscard]]
auto find_by_source_node(std::string_view node_id)
59 [[nodiscard]]
auto update_stats(
60 std::string_view config_id,
62 size_t studies_synced) -> VoidResult;
65 [[nodiscard]]
auto map_row_to_entity(
const database_row& row)
const
66 -> client::sync_config
override;
68 [[nodiscard]]
auto entity_to_row(
const client::sync_config& entity)
const
69 -> std::map<std::string, database_value>
override;
71 [[nodiscard]]
auto get_pk(
const client::sync_config& entity)
const
72 -> std::string
override;
74 [[nodiscard]]
auto has_pk(
const client::sync_config& entity)
const
77 [[nodiscard]]
auto select_columns() const
78 -> std::vector<std::
string> override;
81 [[nodiscard]] auto parse_timestamp(const std::
string& str) const
82 -> std::chrono::system_clock::time_point;
84 [[nodiscard]] auto format_timestamp(
85 std::chrono::system_clock::time_point tp) const -> std::
string;
87 [[nodiscard]] static auto serialize_vector(
88 const std::vector<std::
string>& vec) -> std::
string;
90 [[nodiscard]] static auto deserialize_vector(
91 std::string_view json) -> std::vector<std::
string>;
Generic base repository for CRUD operations.
Types and structures for bidirectional DICOM synchronization.