Implement get config command and api endpoint for testing purposes

This commit is contained in:
Lorow
2024-12-05 00:40:06 +01:00
parent e033f663ff
commit 44179cee65
8 changed files with 48 additions and 2 deletions

View File

@@ -29,6 +29,8 @@ std::unique_ptr<Command> CommandManager::createCommand(CommandType type)
return std::make_unique<setMDNSCommand>(projectConfig);
case CommandType::UPDATE_CAMERA:
return std::make_unique<updateCameraCommand>(projectConfig);
case CommandType::GET_CONFIG:
return std::make_unique<getConfigCommand>(projectConfig);
case CommandType::SAVE_CONFIG:
return std::make_unique<saveConfigCommand>(projectConfig);
default:

View File

@@ -32,6 +32,7 @@ enum CommandType
SET_MDNS,
UPDATE_CAMERA,
SAVE_CONFIG,
GET_CONFIG,
RESET_CONFIG,
RESTART_DEVICE,
};

View File

@@ -9,3 +9,5 @@ public:
CommandResult execute(std::string_view jsonPayload) override;
std::optional<UpdateCameraConfigPayload> parsePayload(std::string_view jsonPayload);
};
// add cropping command

View File

@@ -4,4 +4,10 @@ CommandResult saveConfigCommand::execute(std::string_view jsonPayload)
{
projectConfig->save();
return CommandResult::getSuccessResult("Config saved");
}
CommandResult getConfigCommand::execute(std::string_view jsonPayload)
{
auto configRepresentation = projectConfig->getTrackerConfig().toRepresentation();
return CommandResult::getSuccessResult(configRepresentation);
}

View File

@@ -6,4 +6,12 @@ public:
std::shared_ptr<ProjectConfig> projectConfig;
saveConfigCommand(std::shared_ptr<ProjectConfig> projectConfig) : projectConfig(projectConfig) {};
CommandResult execute(std::string_view jsonPayload) override;
};
};
class getConfigCommand : public Command
{
public:
std::shared_ptr<ProjectConfig> projectConfig;
getConfigCommand(std::shared_ptr<ProjectConfig> projectConfig) : projectConfig(projectConfig) {};
CommandResult execute(std::string_view jsonPayload) override;
};