示例#1
0
        protected override bool IsAuthorized(HttpActionContext actionContext)
        {
            var manager     = DataStudioConnectorManager.Create();
            var model       = manager.GetConnectorItemModel();
            var querystring = actionContext.Request.GetQueryNameValuePairs();
            var receivedKey = querystring.SingleOrDefault(x => x.Key == ApiParameters.Key).Value;

            if (model.AllowEmptyApiKey && string.IsNullOrWhiteSpace(model.ApiKey))
            {
                return(true);
            }

            return(string.Equals(model.ApiKey, receivedKey, StringComparison.InvariantCulture));
        }
        public void Process(GetDataPipelineArgs args)
        {
            var manager = DataStudioConnectorManager.Create();
            var model   = manager.GetDataSetItemModel(args.Request.DataSetId);

            if (model?.Segments == null || model.Segments.Count == 0)
            {
                return;
            }

            var schema  = GetSchema(args);
            var rows    = model.Segments.SelectMany(segment => GetSegmentData(args, model, segment));
            var dataSet = new FilteredDataSet(schema, rows, args.Request.Fields);

            args.Result = dataSet;
        }