示例#1
0
        public HttpResponseMessage Get(string key)
        {
            PersonaBarResponse response = null;

            if (!File.Exists(SecretsProvider.SecretsFile))
            {
                response = new PersonaBarResponse
                {
                    Success = false
                };

                return(response.ToHttpResponseMessage());
            }

            var json    = File.ReadAllText(SecretsProvider.SecretsFile);
            var secrets = JsonConvert.DeserializeObject <Secrets>(json);

            var value = SecretsProvider.GetAppSettingValue(secrets, key);

            response = new PersonaBarResponse <AppSetting>
            {
                Success = true,
                Result  = new AppSetting
                {
                    Key   = key,
                    Value = value
                }
            };

            return(response.ToHttpResponseMessage());
        }
示例#2
0
        public HttpResponseMessage Delete([FromBody] AppSetting appsetting)
        {
            var response = new PersonaBarResponse();

            if (string.IsNullOrEmpty(appsetting.Key))
            {
                response.Success = false;
                return(response.ToHttpResponseMessage());
            }

            if (!File.Exists(SecretsProvider.SecretsFile))
            {
                response = new PersonaBarResponse
                {
                    Success = false
                };

                return(response.ToHttpResponseMessage());
            }

            var json    = File.ReadAllText(SecretsProvider.SecretsFile);
            var secrets = JsonConvert.DeserializeObject <Secrets>(json);

            response.Success = SecretsProvider.DeleteAppSetting(secrets, appsetting.Key);
            return(response.ToHttpResponseMessage());
        }
示例#3
0
        public HttpResponseMessage Save([FromBody] AppSetting appsetting)
        {
            var response = new PersonaBarResponse();

            if (!ModelState.IsValid || appsetting == null)
            {
                response.Success = false;
                return(response.ToHttpResponseMessage());
            }
            ;

            if (!File.Exists(SecretsProvider.SecretsFile))
            {
                response = new PersonaBarResponse
                {
                    Success = false
                };

                return(response.ToHttpResponseMessage());
            }

            var json    = File.ReadAllText(SecretsProvider.SecretsFile);
            var secrets = JsonConvert.DeserializeObject <Secrets>(json);

            response.Success = SecretsProvider.CreateOrUpdateAppSetting(appsetting.Key, appsetting.Value, secrets);
            return(response.ToHttpResponseMessage());
        }
示例#4
0
        public HttpResponseMessage List()
        {
            PersonaBarResponse response = null;

            if (!File.Exists(SecretsProvider.SecretsFile))
            {
                response = new PersonaBarResponse
                {
                    Success = false
                };

                return(response.ToHttpResponseMessage());
            }

            var json    = File.ReadAllText(SecretsProvider.SecretsFile);
            var secrets = JsonConvert.DeserializeObject <Secrets>(json);

            var keys = SecretsProvider.GetAppSettingsKeys(secrets);

            response = new PersonaBarResponse <IEnumerable <AppSetting> >
            {
                Success = true,
                Result  = keys.Select(x => new AppSetting
                {
                    Key = x
                })
            };

            return(response.ToHttpResponseMessage());
        }
示例#5
0
        public HttpResponseMessage Save([FromBody] Secrets secrets)
        {
            PersonaBarResponse response = new PersonaBarResponse();

            if (!ModelState.IsValid || secrets == null)
            {
                response.Success = false;
                return(response.ToHttpResponseMessage());
            }

            try
            {
                var isValid = SecretsProvider.ValidateSecrets(secrets);
                if (!isValid)
                {
                    response.Success = false;
                    return(response.ToHttpResponseMessage());
                }

                File.WriteAllText(SecretsProvider.SecretsFile, JsonConvert.SerializeObject(secrets));

                response.Success = true;
                return(response.ToHttpResponseMessage());
            }
            catch (Exception ex)
            {
                ex.Handle();
                return(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }
        }
示例#6
0
        public HttpResponseMessage Get()
        {
            try
            {
                PersonaBarResponse response = null;
                if (!File.Exists(SecretsProvider.SecretsFile))
                {
                    response = new PersonaBarResponse
                    {
                        Success = false
                    };

                    return(response.ToHttpResponseMessage());
                }

                var json    = File.ReadAllText(SecretsProvider.SecretsFile);
                var secrets = JsonConvert.DeserializeObject <Secrets>(json);

                response = new PersonaBarResponse <Secrets>
                {
                    Success = true,
                    Result  = secrets
                };

                return(response.ToHttpResponseMessage());
            }
            catch (Exception ex)
            {
                ex.Handle();
                return(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }
        }
示例#7
0
        public HttpResponseMessage Status()
        {
            PersonaBarResponse response = new PersonaBarResponse();

            if (!File.Exists(SecretsProvider.SecretsFile))
            {
                response.Success = false;
                return(response.ToHttpResponseMessage());
            }

            var json    = File.ReadAllText(SecretsProvider.SecretsFile);
            var secrets = JsonConvert.DeserializeObject <Secrets>(json);

            if (!SecretsProvider.ValidateSecrets(secrets))
            {
                response.Success = false;
                return(response.ToHttpResponseMessage());
            }

            var xml = XDocument.Load(SecretsProvider.WebconfigFile);
            var doc = xml.Element("configuration");

            var connectionString = doc.Element("connectionStrings");

            response.Success = connectionString == null;
            return(response.ToHttpResponseMessage());
        }
示例#8
0
        public HttpResponseMessage Test([FromBody] Secrets secrets)
        {
            PersonaBarResponse response = new PersonaBarResponse();

            if (!ModelState.IsValid || secrets == null)
            {
                response.Success = false;
                return(response.ToHttpResponseMessage());
            }

            try
            {
                response.Success = SecretsProvider.ValidateSecrets(secrets);
                return(response.ToHttpResponseMessage());
            }
            catch (Exception ex)
            {
                ex.Handle();
                return(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }
        }
示例#9
0
        public HttpResponseMessage Toggle([FromBody] Status status)
        {
            PersonaBarResponse response = new PersonaBarResponse();

            if (!ModelState.IsValid || status == null)
            {
                response.Success = false;
                return(response.ToHttpResponseMessage());
            }

            if (status.IsEnabled)
            {
                KeyMasterProvider.SendAppSettings();
                response.Success = KeyMasterProvider.ToggleOn();
            }
            else
            {
                KeyMasterProvider.DownloadAppSettings();
                response.Success = KeyMasterProvider.ToggleOff();
            }


            return(response.ToHttpResponseMessage());
        }