Ejemplo n.º 1
0
        /// <summary>
        /// Get specific query details and results based on the queryId
        /// </summary>
        /// <param name="queryBuilderRequest"></param>
        /// <param name="context"></param>
        /// <returns>QueryResponse</returns>
        public QueryResponse GetQuery(QueryBuilderRequest queryBuilderRequest, ILambdaContext context = null)
        {
            QueryRepository queryRepository = new QueryRepository();
            QueryResponse   queryResponse   = new QueryResponse();
            Authorizer      authorizer      = new Authorizer();

            try
            {
                if (authorizer.ValidateUser(queryBuilderRequest.UserId, queryBuilderRequest.CompanyId))
                {
                    return(queryRepository.GetUserQuery(queryBuilderRequest));
                }
                else
                {
                    queryResponse.Error = ResponseBuilder.Forbidden();
                    return(queryResponse);
                }
            }
            catch (Exception getQueryException)
            {
                LambdaLogger.Log(getQueryException.ToString());
                queryResponse.Error = ResponseBuilder.InternalError();
                return(queryResponse);
            }
        }