Exemplo n.º 1
0
        public async Task <ActionResult> PostStarred(StarListRequest request)
        {
            var list = await _context.ItemLists.Where(il => il.AccessCode == request.AccessCode).FirstAsync();

            var listAccessCode = list.AccessCode;

            if (listAccessCode != request.AccessCode)
            {
                return(BadRequest("Invalid request: pass"));
            }
            try
            {
                var tokenBearerEmail = TokenBearerValueGetter.getValue(Request, "email");
                var userId           = await _context.Users.Where(u => u.Email == tokenBearerEmail)
                                       .Select(u => u.Id)
                                       .FirstAsync();

                var userList = new UserList()
                {
                    UserId = userId,
                    ListId = list.Id
                };

                _context.UserLists.Add(userList);
                await _context.SaveChangesAsync();

                return(Ok("Starred a list"));
            }
            catch {
                return(BadRequest("Invalid request"));
            }
        }
Exemplo n.º 2
0
        public async Task <ActionResult> DeleteStarred(StarListRequest request)
        {
            var list = await _context.ItemLists.Where(il => il.AccessCode == request.AccessCode).FirstAsync();

            var listAccessCode = list.AccessCode;

            if (listAccessCode != request.AccessCode)
            {
                return(BadRequest("Invalid request: pass"));
            }
            try
            {
                var userId           = UserIdGetter.getIdFromToken(Request, _context);
                var userListToDelete = await _context.UserLists.Where(ul => ul.ListId == list.Id && ul.UserId == userId).FirstAsync();

                _context.UserLists.Remove(userListToDelete);
                await _context.SaveChangesAsync();

                return(Ok("Unstarred a list"));
            }
            catch {
                return(BadRequest("Not logged in"));
            }
        }