public Task CreateDatasourceAsync(JObject datasource) { return(CreateOrUpdateAsync( datasource, datasource.Value <string>("name"), n => $"/api/datasources/name/{Uri.EscapeDataString(n)}", "/api/datasources", x => (HttpMethod.Put, $"/api/datasources/{x.Value<int>("id")}"), (d, x) => { d["id"] = x.Value <int>("id"); d["version"] = x.Value <int>("version"); } )); }
public Task CreateNotificationChannelAsync(JObject notificationChannel) { return(CreateOrUpdateAsync( notificationChannel, notificationChannel.Value <string>("uid"), uid => $"/api/alert-notifications/uid/{Uri.EscapeDataString(uid)}", "/api/alert-notifications", x => (HttpMethod.Put, $"/api/alert-notifications/{x.Value<int>("id")}"), (d, x) => { d["id"] = x.Value <int>("id"); d["uid"] = x.Value <string>("uid"); d["version"] = x.Value <int>("version"); } )); }
public Task <JObject> CreateFolderAsync(string uid, string title) { var folder = new JObject { { "uid", uid }, { "title", title }, }; return(CreateOrUpdateAsync( folder, folder.Value <string>("uid"), u => $"/api/folders/{Uri.EscapeDataString(u)}", "/api/folders", _ => (HttpMethod.Put, $"/api/folders/{uid}"), (d, x) => { d.Remove("uid"); d["version"] = x.Value <int>("version"); } )); }