예제 #1
0
        private Response RequestAuthToken()
        {
            var user = this.Bind <PlexAuth>();

            if (string.IsNullOrEmpty(user.username) || string.IsNullOrEmpty(user.password))
            {
                return(Response.AsJson(new { Result = false, Message = "Please provide a valid username and password" }));
            }

            var model = PlexApi.SignIn(user.username, user.password);

            if (model?.user == null)
            {
                return(Response.AsJson(new { Result = false, Message = "Incorrect username or password!" }));
            }

            var oldSettings = PlexService.GetSettings();

            if (oldSettings != null)
            {
                oldSettings.PlexAuthToken = model.user.authentication_token;
                PlexService.SaveSettings(oldSettings);
            }
            else
            {
                var newModel = new PlexSettings
                {
                    PlexAuthToken = model.user.authentication_token
                };
                PlexService.SaveSettings(newModel);
            }

            return(Response.AsJson(new { Result = true, AuthToken = model.user.authentication_token }));
        }
예제 #2
0
        private Response SavePlex()
        {
            var plexSettings = this.Bind <PlexSettings>();
            var valid        = this.Validate(plexSettings);

            if (!valid.IsValid)
            {
                return(Response.AsJson(valid.SendJsonError()));
            }


            var result = PlexService.SaveSettings(plexSettings);

            return(Response.AsJson(result
                ? new JsonResponseModel {
                Result = true, Message = "Successfully Updated the Settings for Plex!"
            }
                : new JsonResponseModel {
                Result = false, Message = "Could not update the settings, take a look at the logs."
            }));
        }