示例#1
0
        public static Safewalker WithoutPrivateInfo(this Safewalker walker)
        {
            walker.Id       = null;
            walker.Password = null;
            walker.Token    = null;

            return(walker);
        }
示例#2
0
        public static Safewalker MapFields(this Safewalker oldWalker, Safewalker newWalker)
        {
            oldWalker.LastName    = newWalker.LastName ?? oldWalker.LastName;
            oldWalker.FirstName   = newWalker.FirstName ?? oldWalker.FirstName;
            oldWalker.Password    = newWalker.Password ?? oldWalker.Password;
            oldWalker.PhoneNumber = newWalker.PhoneNumber ?? oldWalker.PhoneNumber;
            oldWalker.Photo       = newWalker.Photo ?? oldWalker.Photo;

            return(oldWalker);
        }
示例#3
0
        public async Task <Safewalker> Update(Safewalker walker)
        {
            var cacheEntryOptions = new MemoryCacheEntryOptions()
                                    .SetSlidingExpiration(TimeSpan.FromMinutes(60));

            _cache.Set(walker.Email, walker, cacheEntryOptions);

            _context.Safewalker.Update(walker);
            await _context.SaveChangesAsync();

            return(walker);
        }
示例#4
0
        public static Safewalker WithoutTempAuth(this Safewalker walker)
        {
            walker.Token = null;

            return(walker);
        }
        public async Task <IActionResult> PutSafewalker([FromHeader] string token, [FromRoute] string email, [FromBody] Safewalker walker)
        {
            // if safewalker not authenticated
            if (!(await _safewalkerRepository.Authenticated(token, email)))
            {
                return(Unauthorized());
            }

            var oldWalker = await _safewalkerRepository.Get(email);

            if (oldWalker == null)
            {
                return(NotFound());
            }

            oldWalker.MapFields(walker);
            var newWalker = await _safewalkerRepository.Update(oldWalker);

            var copyWalker = newWalker.DeepClone().WithoutPrivateInfo();

            return(Ok(copyWalker));
        }