Example #1
0
        public async Task <IActionResult> GetProjectPublicByUserId(int userId)
        {
            // On récupère uniquement les projets public où l'utilisateur n'est pas membre
            if (userId == 0)
            {
                userId = Convert.ToInt32(HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier));
            }
            if (!HttpContext.User.IsInRole("admin") && !_getAccessUser.UserCookieIs(HttpContext, Convert.ToString(userId)))
            {
                return(StatusCode(403, "Access Denied !"));
            }

            IEnumerable <ProjectData> result = await _projectGateway.GetProjectPublicByUserId(userId);

            if (result == null)
            {
                return(BadRequest("No public project for this user"));
            }

            return(Ok(result));
        }