コード例 #1
0
        public IActionResult uploadProfilePicture([FromForm] IFormFile file)
        {
            using (var context = new RevojiDataContext())
            {
                DBAppUser dbAppUser = context.Get <DBAppUser>(ApiUser.ID);
                if (dbAppUser == null)
                {
                    return(new NotFoundResult());
                }

                var result = AWSFileUploader.UploadObject(file, "profile_pictures").Result;

                if (!result.Success)
                {
                    return(new BadRequestResult());
                }

                var content = JsonConvert.DeserializeObject <AppUserContent>(dbAppUser.Content);
                content.Avatar = result.Url;

                dbAppUser.Content = JsonConvert.SerializeObject(content);
                context.Save();

                return(Ok(result));
            }
        }
コード例 #2
0
 public IActionResult Get(int id)
 {
     using (var context = new RevojiDataContext())
     {
         DBAppUser dbAppUser = context.Get <DBAppUser>(id);
         if (dbAppUser == null)
         {
             return(new NotFoundResult());
         }
         return(Ok(new AppUserDetail(dbAppUser)));
     }
 }
コード例 #3
0
        public IActionResult GetPreferences(int id)
        {
            using (var context = new RevojiDataContext())
            {
                DBAppUser dbAppUser = context.Get <DBAppUser>(id);
                if (dbAppUser == null || string.IsNullOrEmpty(dbAppUser.Preferences) || dbAppUser.Content == "{}")
                {
                    return(Ok());
                }

                return(Ok(JsonConvert.DeserializeObject <AppUserPreferences>(dbAppUser.Preferences)));
            }
        }
コード例 #4
0
        public IActionResult GetCounts(int id)
        {
            using (var context = new RevojiDataContext())
            {
                DBAppUser dbAppUser = context.Get <DBAppUser>(id);
                if (dbAppUser == null)
                {
                    return(new NotFoundResult());
                }

                AppUserStats stats = new AppUserStats(id);

                return(Ok(stats));
            }
        }
コード例 #5
0
        public IActionResult GetInfo(int id)
        {
            using (var context = new RevojiDataContext())
            {
                DBReviewable dbReviewable = context.Get <DBReviewable>(id);
                if (dbReviewable == null)
                {
                    return(Ok());
                }

                var reviewable = new ReviewableDetail(dbReviewable);

                return(Ok(reviewable.Info));
            }
        }
コード例 #6
0
        public IActionResult Delete(int id)
        {
            using (var context = new RevojiDataContext())
            {
                DBReviewable dbReviewable = context.Get <DBReviewable>(id);
                if (dbReviewable == null)
                {
                    return(new NotFoundResult());
                }

                context.Remove(dbReviewable);
                context.Save();

                return(Ok());
            }
        }
コード例 #7
0
        public IActionResult Update(int id, [FromBody] JObject reviewable)
        {
            using (var context = new RevojiDataContext())
            {
                DBReviewable dbReviewable = context.Get <DBReviewable>(id);
                if (dbReviewable == null)
                {
                    return(new NotFoundResult());
                }

                dbReviewable.update(reviewable);
                context.Save();

                return(Ok());
            }
        }
コード例 #8
0
        public IActionResult SetInfo(int id, [FromBody] JObject reviewableInfo)
        {
            using (var context = new RevojiDataContext())
            {
                DBReviewable dbReviewable = context.Get <DBReviewable>(id);
                if (dbReviewable == null)
                {
                    return(new NotFoundResult());
                }

                dbReviewable.Content = JsonConvert.SerializeObject(reviewableInfo);
                context.Save();

                return(Ok());
            }
        }
コード例 #9
0
        public IActionResult SetSettings(int id, [FromBody] JObject appUserSettings)
        {
            using (var context = new RevojiDataContext())
            {
                DBAppUser dbAppUser = context.Get <DBAppUser>(id);
                if (dbAppUser == null)
                {
                    return(new NotFoundResult());
                }

                dbAppUser.Settings = JsonConvert.SerializeObject(appUserSettings);
                context.Save();

                return(Ok());
            }
        }
コード例 #10
0
        public IActionResult Update(int id, [FromBody] JObject appUser)
        {
            using (var context = new RevojiDataContext())
            {
                DBAppUser dbAppUser = context.Get <DBAppUser>(id);
                if (dbAppUser == null)
                {
                    return(new NotFoundResult());
                }

                dbAppUser.update(appUser);
                context.Save();

                return(Ok(new AppUserDetail(dbAppUser)));
            }
        }
コード例 #11
0
        public IActionResult Delete()
        {
            using (var context = new RevojiDataContext())
            {
                DBAppUser dbAppUser = context.Get <DBAppUser>(ApiUser.ID);
                if (dbAppUser == null)
                {
                    return(new NotFoundResult());
                }

                context.Remove(dbAppUser);
                context.Save();

                return(Ok());
            }
        }
コード例 #12
0
        public IActionResult ChangeEmail(string email)
        {
            using (var context = new RevojiDataContext())
            {
                DBAppUser dbAppUser = context.Get <DBAppUser>(ApiUser.ID);
                if (dbAppUser == null)
                {
                    return(new NotFoundResult());
                }

                //if (email is valid)
                //{
                //    return new BadRequestResult();
                //}

                dbAppUser.Email = email;
                context.Save();

                return(Ok());
            }
        }
コード例 #13
0
        public IActionResult ChangePassword(string newPassword, string oldPassword)
        {
            using (var context = new RevojiDataContext())
            {
                DBAppUser dbAppUser = context.Get <DBAppUser>(ApiUser.ID);
                if (dbAppUser == null)
                {
                    return(new NotFoundResult());
                }

                if (!dbAppUser.isPasswordCorrect(oldPassword))
                {
                    return(new UnprocessableEntityResult());
                }

                dbAppUser.SetPassword(newPassword);
                context.Save();

                return(Ok());
            }
        }