Beispiel #1
0
        public async Task <ActionResult <BoolResult> > Columns([FromBody] ColumnsRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId,
                                                            Types.SitePermissions.Contents))
            {
                return(Unauthorized());
            }

            var site = await _siteRepository.GetAsync(request.SiteId);

            if (site == null)
            {
                return(NotFound());
            }

            var channel = await _channelRepository.GetAsync(request.ChannelId);

            channel.ListColumns = ListUtils.ToString(request.AttributeNames);

            await _channelRepository.UpdateAsync(channel);

            return(new BoolResult
            {
                Value = true
            });
        }
        public async Task <ActionResult <BoolResult> > Columns([FromBody] ColumnsRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId, FormManager.PermissionsForms))
            {
                return(Unauthorized());
            }

            var formInfo = await _formRepository.GetFormInfoAsync(request.SiteId, request.FormId);

            if (formInfo == null)
            {
                return(NotFound());
            }

            formInfo.ListAttributeNames = ListUtils.ToString(request.AttributeNames);
            await _formRepository.UpdateAsync(formInfo);

            return(new BoolResult
            {
                Value = true
            });
        }
Beispiel #3
0
        /// <summary>
        /// This request is used to fetch the columns in this database.
        /// </summary>
        public async Task <ResultSetResponse> ColumnsRequestAsync(string catalog, string schemaPattern, string tableNamePattern, string columnNamePattern, string connectionId, RequestOptions options)
        {
            ColumnsRequest req = new ColumnsRequest
            {
                Catalog           = catalog,
                SchemaPattern     = schemaPattern,
                TableNamePattern  = tableNamePattern,
                ColumnNamePattern = columnNamePattern,
                ConnectionId      = connectionId
            };

            WireMessage msg = new WireMessage
            {
                Name           = Constants.WireMessagePrefix + "ColumnsRequest",
                WrappedMessage = req.ToByteString()
            };

            using (Response webResponse = await PostRequestAsync(msg.ToByteArray(), options))
            {
                if (webResponse.WebResponse.StatusCode != HttpStatusCode.OK)
                {
                    WireMessage   output = WireMessage.Parser.ParseFrom(webResponse.WebResponse.GetResponseStream());
                    ErrorResponse res    = ErrorResponse.Parser.ParseFrom(output.WrappedMessage);
                    throw new WebException(
                              string.Format(
                                  "ColumnsRequestAsync failed! connectionId: {0}, Response code was: {1}, Response body was: {2}",
                                  connectionId,
                                  webResponse.WebResponse.StatusCode,
                                  res.ToString()));
                }
                else
                {
                    WireMessage       output = WireMessage.Parser.ParseFrom(webResponse.WebResponse.GetResponseStream());
                    ResultSetResponse res    = ResultSetResponse.Parser.ParseFrom(output.WrappedMessage);
                    return(res);
                }
            }
        }
Beispiel #4
0
        public async Task <ActionResult <BoolResult> > Columns([FromBody] ColumnsRequest request)
        {
            if (!await _authManager.HasSitePermissionsAsync(request.SiteId,
                                                            MenuUtils.SitePermissions.Contents))
            {
                return(Unauthorized());
            }

            var site = await _siteRepository.GetAsync(request.SiteId);

            if (site == null)
            {
                return(NotFound());
            }

            site.SearchListColumns = request.AttributeNames;

            await _siteRepository.UpdateAsync(site);

            return(new BoolResult
            {
                Value = true
            });
        }
        /// <summary>
        /// This request is used to fetch the columns in this database.
        /// </summary>
        public async Task<ResultSetResponse> ColumnsRequestAsync(string catalog, string schemaPattern, string tableNamePattern, string columnNamePattern, string connectionId, RequestOptions options)
        {
            ColumnsRequest req = new ColumnsRequest
            {
                Catalog = catalog,
                SchemaPattern = schemaPattern,
                TableNamePattern = tableNamePattern,
                ColumnNamePattern = columnNamePattern,
                ConnectionId = connectionId
            };

            WireMessage msg = new WireMessage
            {
                Name = Constants.WireMessagePrefix + "ColumnsRequest",
                WrappedMessage = req.ToByteString()
            };

            using (Response webResponse = await PostRequestAsync(msg.ToByteArray(), options))
            {
                if (webResponse.WebResponse.StatusCode != HttpStatusCode.OK)
                {
                    WireMessage output = WireMessage.Parser.ParseFrom(webResponse.WebResponse.GetResponseStream());
                    ErrorResponse res = ErrorResponse.Parser.ParseFrom(output.WrappedMessage);
                    throw new WebException(
                        string.Format(
                            "ColumnsRequestAsync failed! connectionId: {0}, Response code was: {1}, Response body was: {2}",
                            connectionId,
                            webResponse.WebResponse.StatusCode,
                            res.ToString()));
                }
                else
                {
                    WireMessage output = WireMessage.Parser.ParseFrom(webResponse.WebResponse.GetResponseStream());
                    ResultSetResponse res = ResultSetResponse.Parser.ParseFrom(output.WrappedMessage);
                    return res;
                }
            }
        }