forked from p15670423/monkey
Island: Remove config type logic from new configuration resource
This commit is contained in:
parent
5f253e79b3
commit
74bc55e077
|
@ -1,6 +1,5 @@
|
||||||
import json
|
import json
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from enum import Enum
|
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
from typing import Mapping
|
from typing import Mapping
|
||||||
|
|
||||||
|
@ -13,11 +12,6 @@ from monkey_island.cc.resources.AbstractResource import AbstractResource
|
||||||
from monkey_island.cc.resources.request_authentication import jwt_required
|
from monkey_island.cc.resources.request_authentication import jwt_required
|
||||||
|
|
||||||
|
|
||||||
class ConfigurationTypeEnum(Enum):
|
|
||||||
ISLAND = "island"
|
|
||||||
AGENT = "agent"
|
|
||||||
|
|
||||||
|
|
||||||
class ImportStatuses:
|
class ImportStatuses:
|
||||||
UNSAFE_OPTION_VERIFICATION_REQUIRED = "unsafe_options_verification_required"
|
UNSAFE_OPTION_VERIFICATION_REQUIRED = "unsafe_options_verification_required"
|
||||||
INVALID_CONFIGURATION = "invalid_configuration"
|
INVALID_CONFIGURATION = "invalid_configuration"
|
||||||
|
@ -38,23 +32,18 @@ class ResponseContents:
|
||||||
|
|
||||||
|
|
||||||
class Configuration(AbstractResource):
|
class Configuration(AbstractResource):
|
||||||
urls = ["/api/configuration/<string:configuration_type>"]
|
urls = ["/api/configuration"]
|
||||||
|
|
||||||
def __init__(self, file_agent_configuration_repository: IAgentConfigurationRepository):
|
def __init__(self, file_agent_configuration_repository: IAgentConfigurationRepository):
|
||||||
self._file_agent_configuration_repository = file_agent_configuration_repository
|
self._file_agent_configuration_repository = file_agent_configuration_repository
|
||||||
|
|
||||||
@jwt_required
|
@jwt_required
|
||||||
def get(self, configuration_type: str):
|
def get(self):
|
||||||
# Q: we probably still need this because of credential fields, HTTP ports, etc in the
|
configuration = self._file_agent_configuration_repository.get_configuration()
|
||||||
# config?
|
return jsonify(configuration=configuration)
|
||||||
if configuration_type == ConfigurationTypeEnum.ISLAND:
|
|
||||||
pass
|
|
||||||
elif configuration_type == ConfigurationTypeEnum.AGENT:
|
|
||||||
configuration = self._file_agent_configuration_repository.get_configuration()
|
|
||||||
return jsonify(configuration=configuration)
|
|
||||||
|
|
||||||
@jwt_required
|
@jwt_required
|
||||||
def post(self, configuration_type: str):
|
def post(self):
|
||||||
request_contents = json.loads(request.data)
|
request_contents = json.loads(request.data)
|
||||||
configuration_json = json.loads(request_contents["config"])
|
configuration_json = json.loads(request_contents["config"])
|
||||||
Configuration._remove_metadata_from_config(configuration_json)
|
Configuration._remove_metadata_from_config(configuration_json)
|
||||||
|
|
Loading…
Reference in New Issue