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); }
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)); }
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)); }
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 })); }