20#ifndef ORES_SCHEDULER_REPOSITORY_JOB_DEFINITION_REPOSITORY_HPP
21#define ORES_SCHEDULER_REPOSITORY_JOB_DEFINITION_REPOSITORY_HPP
26#include <sqlgen/postgres.hpp>
27#include <boost/uuid/uuid.hpp>
28#include "ores.logging/make_logger.hpp"
29#include "ores.database/domain/context.hpp"
30#include "ores.scheduler.api/domain/job_definition.hpp"
32namespace ores::scheduler::repository {
39 inline static std::string_view logger_name =
40 "ores.scheduler.repository.job_definition_repository";
42 [[nodiscard]]
static auto& lg() {
44 static auto instance = make_logger(logger_name);
54 void write(
context ctx,
const std::vector<domain::job_definition>& v);
56 std::vector<domain::job_definition> read_latest(
context ctx);
57 std::vector<domain::job_definition>
58 read_latest(
context ctx,
const std::string&
id);
59 std::vector<domain::job_definition>
60 read_all(
context ctx,
const std::string&
id);
69 std::optional<domain::job_definition>
70 find_by_id(
context ctx,
const boost::uuids::uuid&
id);
72 void remove(
context ctx,
const std::string&
id);
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Context for the operations on a postgres database.
Definition context.hpp:47
Persistent plan for an in-process scheduled job.
Definition job_definition.hpp:38
Reads and writes job definitions to data storage.
Definition job_definition_repository.hpp:37
std::vector< domain::job_definition > read_all_active(context ctx)
Returns all active job definitions regardless of tenant.
Definition job_definition_repository.cpp:138