56 const std::string& master_password);
61 void delete_folder(
const boost::uuids::uuid&
id);
62 std::vector<domain::folder> get_all_folders();
63 std::optional<domain::folder> get_folder(
const boost::uuids::uuid&
id);
64 std::vector<domain::folder> get_root_folders();
65 std::vector<domain::folder> get_child_folders(
const boost::uuids::uuid& parent_id);
70 void delete_tag(
const boost::uuids::uuid&
id);
71 std::vector<domain::tag> get_all_tags();
72 std::optional<domain::tag> get_tag(
const boost::uuids::uuid&
id);
73 std::optional<domain::tag> get_tag_by_name(
const std::string& name);
78 void delete_environment(
const boost::uuids::uuid&
id);
79 std::vector<domain::server_environment> get_all_environments();
80 std::optional<domain::server_environment> get_environment(
const boost::uuids::uuid&
id);
81 std::vector<domain::server_environment> get_environments_in_folder(
82 const std::optional<boost::uuids::uuid>& folder_id);
87 std::string
get_password(
const boost::uuids::uuid& environment_id);
90 void add_tag_to_environment(
const boost::uuids::uuid& environment_id,
91 const boost::uuids::uuid& tag_id);
92 void remove_tag_from_environment(
const boost::uuids::uuid& environment_id,
93 const boost::uuids::uuid& tag_id);
94 std::vector<domain::tag> get_tags_for_environment(
const boost::uuids::uuid& environment_id);
95 std::vector<domain::server_environment> get_environments_with_tag(
96 const boost::uuids::uuid& tag_id);
124 repository::tag_repository tag_repo_;
125 repository::server_environment_repository env_repo_;
126 repository::environment_tag_repository env_tag_repo_;
127 std::string master_password_;