public GetSettingResponse GetSetting()

in Runtime/Core/SettingsManagement/SettingsStore.cs [72:113]


        public GetSettingResponse GetSetting(GetSettingRequest request)
        {
            if (string.IsNullOrEmpty(request.Key))
            {
                return Response.Fail(new GetSettingResponse
                {
                    ErrorCode = ErrorCode.InvalidParameters
                });
            }

            if (_fileWrapper.FileExists(_settingsFilePath))
            {
                var input = new StringReader(_fileWrapper.ReadAllText(_settingsFilePath));

                _yamlStreamWrapper.Load(input);

                YamlMappingNode rootMappingNode = (_yamlStreamWrapper.GetDocuments().Count > 0) ? (YamlMappingNode)_yamlStreamWrapper.GetDocuments()[0].RootNode : default;

                if (rootMappingNode == null)
                {
                    return Response.Fail(new GetSettingResponse()
                    {
                        ErrorCode = ErrorCode.InvalidSettingsFile
                    });
                }

                return rootMappingNode.Children.ContainsKey(request.Key)
                    ? Response.Ok(new GetSettingResponse()
                    {
                        Value = rootMappingNode.Children.First(x => x.Key.ToString() == request.Key).Value.ToString()
                    })
                    : Response.Fail(new GetSettingResponse()
                    {
                        ErrorCode = ErrorCode.NoSettingsKeyFound
                    });
            }

            return Response.Fail(new GetSettingResponse
            {
                ErrorCode = ErrorCode.NoSettingsFileFound
            });
        }