public CreateDatabaseAsync ( string dbName ) : Task |
||
dbName | string | |
return | Task |
public async Task<bool> CreateDatabaseAsync (string dbName)
{
var response = await GetAsync (new Dictionary<string, string> () { { "q", $"CREATE DATABASE {dbName}" } });
if (response.StatusCode == HttpStatusCode.OK)
{
var content = await response.Content.ReadAsStringAsync ();
if (content.Contains ("database already exists"))
throw new InvalidOperationException ("database already exists");
return true;
}
return false;
}
private static async Task<InfluxDBClient> GetClientAsync (InfluxerConfigSection settings) { var client = new InfluxDBClient (settings.InfluxDB.InfluxUri, settings.InfluxDB.UserName, settings.InfluxDB.Password); var dbNames = await client.GetInfluxDBNamesAsync (); if (dbNames.Contains (settings.InfluxDB.DatabaseName)) return client; else { await client.CreateDatabaseAsync (settings.InfluxDB.DatabaseName); return client; } }