示例#1
0
 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");
     }
                ));
 }
示例#2
0
 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");
     }
                ));
 }
示例#3
0
        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");
            }
                       ));
        }