1#ifndef YAZE_CORE_PROJECT_PLAN_H_
2#define YAZE_CORE_PROJECT_PLAN_H_
8#include "absl/status/status.h"
9#include "absl/status/statusor.h"
10#include "nlohmann/json.hpp"
94 std::vector<std::string>
refs;
109 static absl::StatusOr<ProjectPlan>
Parse(std::string_view text);
110 static absl::StatusOr<ProjectPlan>
LoadFromFile(
const std::string& path);
114 absl::Status
SaveToFile(
const std::string& path)
const;
117 int FindStep(std::string_view
id)
const;
118 std::vector<const PlanRouteItem*>
ItemsAtStep(std::string_view step)
const;
std::string Serialize() const
absl::Status SaveToFile(const std::string &path) const
static ProjectPlan CreateEmpty(std::string title)
static absl::StatusOr< ProjectPlan > Parse(std::string_view text)
std::vector< PlanReference > references
std::vector< const PlanRouteItem * > ItemsAtStep(std::string_view step) const
const PlanMilestone * CurrentMilestone(std::string_view today) const
std::vector< const PlanDecision * > OpenDecisions() const
std::vector< PlanMilestone > milestones
static absl::StatusOr< ProjectPlan > LoadFromFile(const std::string &path)
std::vector< PlanRouteItem > route_items
int FindStep(std::string_view id) const
std::vector< PlanRouteStep > route_steps
std::vector< PlanDecision > decisions
constexpr std::string_view kProjectPlanSchema
nlohmann::ordered_json PlanJson
std::vector< std::string > targets
std::vector< std::string > refs
std::string recommendation
std::vector< PlanNeed > needs
std::vector< std::string > targets
static PlanTarget Parse(std::string_view text)