#pragma once

#include <any>
#include <string>
#include <hack/security/uuid.hpp>

namespace VE
{
  struct event
  {
    event(std::any type, std::any data, std::string id = hack::security::generate_uuid()) : m_type{ type }, m_data{ data }, m_id { id } {}
    ~event() = default;

    std::any m_type;
    std::any m_data;
    std::any m_result;
    std::string m_id;
    std::string m_event_log_message;
    std::string m_event_id = hack::security::generate_uuid();
  };
}
