23#include <kcenon/common/patterns/result.h>
30#ifdef PACS_WITH_DATABASE_SYSTEM
62class key_image_repository
63 :
public base_repository<key_image_record, std::string> {
85 [[nodiscard]] auto
find_by_pk(int64_t pk) -> result_type;
102 [[nodiscard]] auto
search(const key_image_query& query) -> list_result_type;
118 [[nodiscard]] auto map_row_to_entity(const database_row& row) const
119 -> key_image_record override;
121 [[nodiscard]] auto entity_to_row(const key_image_record& entity) const
122 -> std::map<std::
string, database_value> override;
124 [[nodiscard]] auto get_pk(const key_image_record& entity) const
125 -> std::
string override;
127 [[nodiscard]] auto has_pk(const key_image_record& entity) const
130 [[nodiscard]] auto select_columns() const
131 -> std::vector<std::
string> override;
134 [[nodiscard]] auto parse_timestamp(const std::
string& str) const
135 -> std::chrono::system_clock::time_point;
137 [[nodiscard]] auto format_timestamp(
138 std::chrono::system_clock::time_point tp) const -> std::
string;
153using VoidResult = kcenon::common::VoidResult;
174 [[nodiscard]] auto
find_by_id(std::string_view key_image_id) const
176 [[nodiscard]] auto
find_by_pk(int64_t pk) const
178 [[nodiscard]] auto
find_by_study(std::string_view study_uid) const
182 [[nodiscard]] auto
remove(std::string_view key_image_id) -> VoidResult;
183 [[nodiscard]] auto
exists(std::string_view key_image_id) const ->
bool;
184 [[nodiscard]] auto
count() const ->
size_t;
185 [[nodiscard]] auto
count_by_study(std::string_view study_uid) const
187 [[nodiscard]] auto
is_valid() const noexcept ->
bool;
Generic base repository for CRUD operations.
Repository for key image persistence (legacy SQLite interface)
auto search(const key_image_query &query) const -> std::vector< key_image_record >
key_image_repository(key_image_repository &&) noexcept
key_image_repository(const key_image_repository &)=delete
key_image_repository(sqlite3 *db)
auto find_by_study(std::string_view study_uid) const -> std::vector< key_image_record >
auto find_by_id(std::string_view key_image_id) const -> std::optional< key_image_record >
auto count_by_study(std::string_view study_uid) const -> size_t
auto remove(std::string_view key_image_id) -> VoidResult
auto count() const -> size_t
auto exists(std::string_view key_image_id) const -> bool
auto find_by_pk(int64_t pk) const -> std::optional< key_image_record >
auto operator=(const key_image_repository &) -> key_image_repository &=delete
auto parse_row(void *stmt) const -> key_image_record
auto is_valid() const noexcept -> bool
auto save(const key_image_record &record) -> VoidResult
Key image record data structures for database operations.
kcenon::common::Result< T > Result
Result type alias for operations returning a value.
Key image record from the database.