Exemplo n.º 1
0
        public async Task <IActionResult> PutLogout([FromHeader] string token, [FromHeader] string email, [FromHeader] bool isUser)
        {
            // if user and not authenticated
            if (isUser && !await _userRepository.Authenticated(token, email))
            {
                return(Unauthorized());
            }
            // is safewalker and not authenticated
            else if (!isUser && !await _safewalkerRepository.Authenticated(token, email))
            {
                return(Unauthorized());
            }

            if (isUser)
            {
                var user = await _userRepository.Get(email);

                user.WithoutTempAuth();
                await _userRepository.Update(user);
            }
            else
            {
                var walker = await _safewalkerRepository.Get(email);

                walker.WithoutTempAuth();
                await _safewalkerRepository.Update(walker);
            }

            return(Ok());
        }
Exemplo n.º 2
0
        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));
        }