ORE Studio 0.0.4
Loading...
Searching...
No Matches
feature_flags.hpp
1/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 *
3 * Copyright (C) 2025 Marco Craveiro <marco.craveiro@gmail.com>
4 *
5 * This program is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU General Public License as published by the Free Software
7 * Foundation; either version 3 of the License, or (at your option) any later
8 * version.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13 * details.
14 *
15 * You should have received a copy of the GNU General Public License along with
16 * this program; if not, write to the Free Software Foundation, Inc., 51
17 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 *
19 */
20#ifndef ORES_VARIABILITY_DOMAIN_FEATURE_FLAGS_HPP
21#define ORES_VARIABILITY_DOMAIN_FEATURE_FLAGS_HPP
22
23#include <chrono>
24#include <string>
25
27
31struct feature_flags final {
35 int version = 0;
36
40 bool enabled = false;
41
45 std::string name;
46
50 std::string description;
51
55 std::string recorded_by;
56
62 std::string change_reason_code;
63
67 std::string change_commentary;
68
72 std::chrono::system_clock::time_point recorded_at;
73};
74
75}
76
77#endif
Domain types for system variability.
Definition feature_flags.hpp:26
Represents a feature flag in the domain layer.
Definition feature_flags.hpp:31
std::string change_commentary
Free-text commentary explaining the change.
Definition feature_flags.hpp:67
std::string description
Description of what the feature flag controls.
Definition feature_flags.hpp:50
bool enabled
Flag indicating whether the feature is enabled or disabled.
Definition feature_flags.hpp:40
std::chrono::system_clock::time_point recorded_at
Timestamp when this version of the record was recorded in the system.
Definition feature_flags.hpp:72
std::string name
Name of the feature flag, serves as the unique identifier.
Definition feature_flags.hpp:45
std::string recorded_by
Username of the person who recorded this version in the system.
Definition feature_flags.hpp:55
int version
Version number for optimistic locking and change tracking.
Definition feature_flags.hpp:35
std::string change_reason_code
Code identifying the reason for the change.
Definition feature_flags.hpp:62