#ifndef TASK_HPP #define TASK_HPP #include "TaskState.hpp" #include "../core/Model.hpp" #include "matador/object/object_ptr.hpp" #include "matador/query/meta_table_macro.hpp" #include "matador/utils/base_class.hpp" #include "matador/utils/foreign_attributes.hpp" namespace work::models::jobs { struct Task : core::Model { std::string name; std::string description; std::string job_name; TaskState state; matador::object::object_ptr payload; JobMode job_mode; matador::utils::timestamp_type_t start_delay; matador::utils::timestamp_type_t interval; uint64_t user_session_id; template void process( Operator& op ) { namespace field = matador::access; field::process( op, *matador::base_class( this ) ); field::attribute( op, "name", name, 511 ); field::attribute( op, "description", description, 511 ); field::attribute( op, "job_name", job_name, 511 ); field::attribute( op, "state", state ); field::belongs_to( op, "payload", payload, matador::utils::CascadeAllFetchLazy ); field::attribute( op, "job_mode", job_mode ); field::attribute( op, "start_delay", start_delay ); field::attribute( op, "interval", interval ); field::attribute( op, "user_session_id", user_session_id ); } }; } META_TABLE(tasks, TASK, id, version, name, description, job_name, state, payload, job_mode, start_delay, interval, user_session_id) #endif //TASK_HPP