Example #1
0
        public async Task <IActionResult> GetUsersBySystem(string name = null)
        {
            // Check that input specified
            if (name == null)
            {
                return(BadRequest(new GeneralMessage()
                {
                    Message = "Missing system name"
                }));
            }

            // Get the system
            var checkSys = await _dbHandler.GetSystemAsync(name);

            if (checkSys == null)
            {
                return(BadRequest(new GeneralMessage()
                {
                    Message = "Invlid system name"
                }));
            }

            // Get the list and return
            var response = await _dbHandler.GetUsersAsync(checkSys);

            if (response == null)
            {
                return(BadRequest(new GeneralMessage()
                {
                    Message = "User listing is failed"
                }));
            }

            return(Ok(response));
        }
Example #2
0
        public async Task <IActionResult> GetSystem(int id = -1)
        {
            if (id == -1)
            {
                return(BadRequest(new GeneralMessage()
                {
                    Message = "ID is missing"
                }));
            }

            var respond = await _dbHandler.GetSystemAsync(id);

            if (respond == null)
            {
                return(BadRequest(new GeneralMessage()
                {
                    Message = "Get system has failed"
                }));
            }

            return(Ok(respond));
        }
        public async Task <IActionResult> GetCategoriesBySystem(string value = "")
        {
            string system = value;

            _logger.LogDebug($"GET categories/system/{system} is completed");
            var data = await _dbHandler.ListCategoriesAsync(await _dbHandler.GetSystemAsync(system));

            if (data == null)
            {
                _logger.LogDebug($"GET categories/system/{system} is failed");
                GeneralMessage ret = new GeneralMessage();
                ret.Message = "List is failed";
                return(BadRequest(ret));
            }
            _logger.LogDebug($"GET categories/system/{system} is completed");
            return(Ok(data));
        }
Example #4
0
        public async Task <IActionResult> CreateTicket(TicketCreationInput info)
        {
            var sys = await _dbHandler.GetSystemAsync(info.System);

            if (sys == null)
            {
                return(BadRequest(new GeneralMessage()
                {
                    Message = "Invalid system name"
                }));
            }

            var cat = await _dbHandler.GetCategoryAsync(info.CategoryName, sys);

            if (cat == null)
            {
                return(BadRequest(new GeneralMessage()
                {
                    Message = "Invalid category"
                }));
            }

            TicketCreationTemplate template = new TicketCreationTemplate();

            template.Category  = cat;
            template.Details   = info.Details;
            template.Reference = info.Reference;
            template.Summary   = info.Summary;
            template.Title     = info.Title;

            if (info.Details == null)
            {
                template.Details = info.Summary;
            }

            // Get user who wants remove user
            var re          = Request;
            var headers     = re.Headers;
            var tokenString = headers["Authorization"];

            var handler = new JwtSecurityTokenHandler();
            var token   = handler.ReadJwtToken(tokenString[0].Split(' ')[1]);

            var claims        = token.Claims;
            var usernameClaim = claims.Where(x => x.Type == ClaimTypes.Name).FirstOrDefault();
            var user          = await _dbHandler.GetUserAsync(usernameClaim.Value);

            template.CreatorUser = user;

            var respond = await _dbHandler.CreateTicketAsync(template);

            if (respond.MessageType == MessageType.NOK)
            {
                return(BadRequest(new GeneralMessage()
                {
                    Message = respond.MessageText
                }));
            }
            return(Ok(new GeneralMessage()
            {
                Message = respond.MessageText
            }));
        }