diff --git a/arangodb-net-standard/ArangoDBClient.cs b/arangodb-net-standard/ArangoDBClient.cs index 299a5f8d..54d02f4c 100644 --- a/arangodb-net-standard/ArangoDBClient.cs +++ b/arangodb-net-standard/ArangoDBClient.cs @@ -1,5 +1,4 @@ -using System; -using System.Net.Http; +using System.Net.Http; using ArangoDBNetStandard.AqlFunctionApi; using ArangoDBNetStandard.AuthApi; using ArangoDBNetStandard.CollectionApi; @@ -18,7 +17,7 @@ namespace ArangoDBNetStandard /// /// Wrapper class providing access to the complete set of ArangoDB REST resources. /// - public class ArangoDBClient : IDisposable + public class ArangoDBClient : IArangoDBClient { /// /// The transport client used to communicate with the ArangoDB host. diff --git a/arangodb-net-standard/IArangoDBClient.cs b/arangodb-net-standard/IArangoDBClient.cs new file mode 100644 index 00000000..f154dcc4 --- /dev/null +++ b/arangodb-net-standard/IArangoDBClient.cs @@ -0,0 +1,61 @@ +using System; +using ArangoDBNetStandard.AqlFunctionApi; +using ArangoDBNetStandard.AuthApi; +using ArangoDBNetStandard.CollectionApi; +using ArangoDBNetStandard.CursorApi; +using ArangoDBNetStandard.DatabaseApi; +using ArangoDBNetStandard.DocumentApi; +using ArangoDBNetStandard.GraphApi; +using ArangoDBNetStandard.TransactionApi; +using ArangoDBNetStandard.UserApi; + +namespace ArangoDBNetStandard +{ + public interface IArangoDBClient : IDisposable + { + /// + /// AQL user functions management API. + /// + AqlFunctionApiClient AqlFunction { get; } + + /// + /// Auth API + /// + AuthApiClient Auth { get; } + + /// + /// Cursor API + /// + CursorApiClient Cursor { get; } + + /// + /// Database API + /// + DatabaseApiClient Database { get; } + + /// + /// Document API + /// + DocumentApiClient Document { get; } + + /// + /// Collection API + /// + CollectionApiClient Collection { get; } + + /// + /// Transaction API + /// + TransactionApiClient Transaction { get; } + + /// + /// Graph API + /// + GraphApiClient Graph { get; } + + /// + /// User management API. + /// + UserApiClient User { get; } + } +}