Beispiel #1
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "v202004/Schema")] HttpRequest req,
            ILogger log)
        {
            log.LogInformation($"Schema Triggered:{req.Query}");
            var licenseKey = req.Query[Lookups.LicenseKey];

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var    schemaReq   = JsonConvert.DeserializeObject <SchemaRequest>(requestBody);
            var    errMsg      = string.Empty;
            var    dbkey       = Lookups.GetEnvironmentVariable($"dbkey_{licenseKey}");

            var schemaResponse = default(SchemaResponse);

            try
            {
                var adapter        = (SqlDataAdapter)_adapterRouter.GetGatewayAdapter(GatewayTypes.SQL.ToString());
                var tblschema      = schemaReq.ConfigParams[ConfigSql.SqlTable.ToString()];
                var sqlTableSchema = adapter.ParseSchemaTable(tblschema);
                schemaResponse = await adapter.GetSchemaAsync(dbkey, sqlTableSchema.SchemaName, sqlTableSchema.TableName);
            }
            catch (ArgumentException argEx) {
                errMsg = argEx.Message;
            }

            var resp = (ActionResult) new OkObjectResult(JsonConvert.SerializeObject(schemaResponse, new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            }
                                                                                     ));

            return(resp);
        }
Beispiel #2
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "v202004/Config")] HttpRequest req,
            ILogger log)
        {
            log.LogInformation($"Config Triggered:{req.Query}");

            var licenseKey    = req.Query[Lookups.LicenseKey];
            var requestBody   = await new StreamReader(req.Body).ReadToEndAsync();
            var configRequest = JsonConvert.DeserializeObject <ConfigRequest>(requestBody) ?? new ConfigRequest()
            {
                ConfigParams = new System.Collections.Generic.Dictionary <string, string>()
            };
            var dbkey = Lookups.GetEnvironmentVariable($"dbkey_{licenseKey}");

            var sqlAdapter = (SqlDataAdapter)_adapterRouter.GetGatewayAdapter(GatewayTypes.SQL.ToString());
            var tables     = await sqlAdapter.GetTablesAsync(dbkey, string.Empty);


            var configResponse = new ConfigResponse()
            {
                IsSteppedConfig   = false,
                DateRangeRequired = false,
                ConfigParams      = new List <ConfigParam>()
                {
                    new ConfigParam()
                    {
                        Name          = ConfigSql.SqlTable.ToString(),
                        DisplayName   = "Table or View",
                        HelpText      = "Choose a view or table",
                        Type          = ConfigElementType.SELECT_SINGLE,
                        IsDynamic     = false,
                        ConfigOptions = tables.Select(t => new ConfigOption()
                        {
                            Label = $"[{t.SchemaName}].[{t.TableName}]",
                            Value = $"[{t.SchemaName}].[{t.TableName}]",
                        }).ToList(),
                        ParameterControl = new ParameterControl()
                        {
                            AllowOverride = false
                        },
                        Placeholder = ""
                    }
                }
            };

            return(new OkObjectResult(configResponse));
        }
Beispiel #3
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "v202004/Auth")] HttpRequest req,
            ILogger log)
        {
            log.LogInformation($"Auth Triggered:{req.Query}");
            var    authActionType = ActionTypes.AuthActionType;
            string authActionVal  = req.Query[ActionTypes.AuthActionType.ToString()];

            Enum.TryParse <ActionTypes>(authActionVal, true, out authActionType);
            var    licenseKey  = req.Query[Lookups.LicenseKey];
            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();

            switch (authActionType)
            {
            case ActionTypes.IsAuthValid:
            case ActionTypes.SetCredentials:
                var credsObj   = JsonConvert.DeserializeObject <CredentialsRequest>(requestBody);
                var authResult = false;    // _licensingClient.IsLicenseKeyValid(credsObj?.Key ?? licenseKey);
                var dbkey      = Lookups.GetEnvironmentVariable($"dbkey_{licenseKey}");
                if (!string.IsNullOrEmpty(dbkey))
                {
                    authResult = true;
                }
                return(new OkObjectResult(authResult));

                break;

            case ActionTypes.ResetAuth:
                break;

            default:
                break;
            }

            dynamic data = JsonConvert.DeserializeObject(requestBody);
            var     name = string.Empty;

            var responseMessage = string.Empty;

            return(new OkObjectResult(responseMessage));
        }
Beispiel #4
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "v202004/Data")] HttpRequest req,
            ILogger log)
        {
            log.LogInformation($"Data Triggered:{req.Query}");
            var licenseKey = req.Query[Lookups.LicenseKey];

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var    dataReq     = JsonConvert.DeserializeObject <DataRequest>(requestBody);
            var    dbkey       = Lookups.GetEnvironmentVariable($"dbkey_{licenseKey}");

            var errMsg = string.Empty;

            try
            {
                var adapter = (SqlDataAdapter)_adapterRouter.GetGatewayAdapter(GatewayTypes.SQL.ToString());

                var dataResponse = await adapter.GetDataAsync(dataReq, dbkey);

                var resp = (ActionResult) new OkObjectResult(JsonConvert.SerializeObject(dataResponse,
                                                                                         new JsonSerializerSettings
                {
                    NullValueHandling = NullValueHandling.Ignore
                }
                                                                                         ));
                return(resp);
            }
            catch (ArgumentException argEx)
            {
                errMsg = argEx.Message;
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
            }
            return((ActionResult) new BadRequestObjectResult(new
            {
                Message = errMsg
            }));
        }