// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using RESTClient;
using System;
using System.Collections;
namespace Azure.AppServices {
public interface IAppServiceTable {
///
/// Create a new item.
///
IEnumerator Insert(T item, Action> callback = null) where T : new();
///
/// Get a list of items.
///
IEnumerator Read(Action> callback = null) where T : new();
///
/// Update an item's data using id property.
///
IEnumerator Update(T item, Action> callback = null) where T : new();
///
/// Delete an item using id property.
///
IEnumerator Delete(string id, Action> callback = null) where T : new();
///
/// Get a list of results using an App Service table query.
/// More info about queries here:
/// https://msdn.microsoft.com/en-us/library/azure/jj677199.aspx
///
IEnumerator Query(TableQuery query, Action> callback = null) where T : new();
///
/// Returns a 'count' and nested list of 'results' (appends `$inlinecount=allpages` parameter to the query)
///
IEnumerator Query(TableQuery query, Action>> callback = null) where T : new();
///
/// Get an item's data using id property.
///
IEnumerator Lookup(string id, Action> callback = null) where T : new();
}
}