feat(wxapi): 新增普通代云开发数据库管理相关接口

This commit is contained in:
Fu Diwei
2021-08-07 14:40:15 +08:00
parent 4b33911f74
commit c7f9b34aed
29 changed files with 1042 additions and 3 deletions

View File

@@ -769,6 +769,266 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
using var httpContent = new StringContent(request.Data ?? string.Empty, Encoding.UTF8); using var httpContent = new StringContent(request.Data ?? string.Empty, Encoding.UTF8);
return await client.SendRequestAsync<Models.TcbInvokeCloudFunctionResponse>(flurlReq, httpContent: httpContent, cancellationToken: cancellationToken); return await client.SendRequestAsync<Models.TcbInvokeCloudFunctionResponse>(flurlReq, httpContent: httpContent, cancellationToken: cancellationToken);
} }
/// <summary>
/// <para>异步调用 [POST] /tcb/databaseadd 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databaseadd.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseAddResponse> ExecuteTcbDatabaseAddAsync(this WechatApiClient client, Models.TcbDatabaseAddRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databaseadd")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseAddResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databaseaggregate 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databaseaggregate.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseAggregateResponse> ExecuteTcbDatabaseAggregateAsync(this WechatApiClient client, Models.TcbDatabaseAggregateRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databaseaggregate")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseAggregateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databasecollectionadd 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databasecollectionadd.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseCollectionAddResponse> ExecuteTcbDatabaseCollectionAddAsync(this WechatApiClient client, Models.TcbDatabaseCollectionAddRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databasecollectionadd")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseCollectionAddResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databasecollectiondelete 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databasecollectiondelete.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseCollectionDeleteResponse> ExecuteTcbDatabaseCollectionDeleteAsync(this WechatApiClient client, Models.TcbDatabaseCollectionDeleteRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databasecollectiondelete")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseCollectionDeleteResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databasecollectionget 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databasecollectionget.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseCollectionGetResponse> ExecuteTcbDatabaseCollectionGetAsync(this WechatApiClient client, Models.TcbDatabaseCollectionGetRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databasecollectionget")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseCollectionGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databasecount 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databasecount.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseCountResponse> ExecuteTcbDatabaseCountAsync(this WechatApiClient client, Models.TcbDatabaseCountRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databasecount")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseCountResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databasedelete 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databasedelete.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseDeleteResponse> ExecuteTcbDatabaseDeleteAsync(this WechatApiClient client, Models.TcbDatabaseDeleteRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databasedelete")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseDeleteResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databasemigrateexport 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databasemigrateexport.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseMigrateExportResponse> ExecuteTcbDatabaseMigrateExportAsync(this WechatApiClient client, Models.TcbDatabaseMigrateExportRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databasemigrateexport")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseMigrateExportResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databasemigrateimport 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databasemigrateexport.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseMigrateImportResponse> ExecuteTcbDatabaseMigrateImportAsync(this WechatApiClient client, Models.TcbDatabaseMigrateImportRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databasemigrateimport")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseMigrateImportResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databasemigratequeryinfo 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databasemigratequeryinfo.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseMigrateQueryInfoResponse> ExecuteTcbDatabaseMigrateQueryInfoAsync(this WechatApiClient client, Models.TcbDatabaseMigrateQueryInfoRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databasemigratequeryinfo")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseMigrateQueryInfoResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databasequery 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databasequery.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseQueryResponse> ExecuteTcbDatabaseQueryAsync(this WechatApiClient client, Models.TcbDatabaseQueryRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databasequery")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseQueryResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/databaseupdate 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/databaseupdate.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbDatabaseUpdateResponse> ExecuteTcbDatabaseUpdateAsync(this WechatApiClient client, Models.TcbDatabaseUpdateRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "databaseupdate")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbDatabaseUpdateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /tcb/updateindex 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/updateindexinfo.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.TcbUpdateIndexResponse> ExecuteTcbUpdateIndexAsync(this WechatApiClient client, Models.TcbUpdateIndexRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(request, HttpMethod.Post, "tcb", "updateindex")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.TcbUpdateIndexResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion #endregion
} }
} }

View File

@@ -24,14 +24,14 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("count")] [Newtonsoft.Json.JsonProperty("count")]
[System.Text.Json.Serialization.JsonPropertyName("count")] [System.Text.Json.Serialization.JsonPropertyName("count")]
public int Count { get; set; } public int RecordCount { get; set; }
/// <summary> /// <summary>
/// 获取或设置大小。 /// 获取或设置大小。
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("size")] [Newtonsoft.Json.JsonProperty("size")]
[System.Text.Json.Serialization.JsonPropertyName("size")] [System.Text.Json.Serialization.JsonPropertyName("size")]
public int Size { get; set; } public int RecordSize { get; set; }
/// <summary> /// <summary>
/// 获取或设置索引数量。 /// 获取或设置索引数量。

View File

@@ -23,7 +23,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
public string EnvironmentId { get; set; } = string.Empty; public string EnvironmentId { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 获取或设置导出任务 ID。 /// 获取或设置任务 ID。
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("job_id")] [Newtonsoft.Json.JsonProperty("job_id")]
[System.Text.Json.Serialization.JsonPropertyName("job_id")] [System.Text.Json.Serialization.JsonPropertyName("job_id")]

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databaseadd 接口的请求。</para>
/// </summary>
public class TcbDatabaseAddRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置数据库操作语句。
/// </summary>
[Newtonsoft.Json.JsonProperty("query")]
[System.Text.Json.Serialization.JsonPropertyName("query")]
public string QueryString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databaseadd 接口的响应。</para>
/// </summary>
public class TcbDatabaseAddResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置插入成功的数据集合主键 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_list")]
[System.Text.Json.Serialization.JsonPropertyName("id_list")]
public string[] IdList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databaseaggregate 接口的请求。</para>
/// </summary>
public class TcbDatabaseAggregateRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置数据库操作语句。
/// </summary>
[Newtonsoft.Json.JsonProperty("query")]
[System.Text.Json.Serialization.JsonPropertyName("query")]
public string QueryString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databaseaggregate 接口的响应。</para>
/// </summary>
public class TcbDatabaseAggregateResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置查询数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public string[] Data { get; set; } = default!;
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasecollectionadd 接口的请求。</para>
/// </summary>
public class TcbDatabaseCollectionAddRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置集合名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("collection_name")]
[System.Text.Json.Serialization.JsonPropertyName("collection_name")]
public string CollectionName { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasecollectionadd 接口的响应。</para>
/// </summary>
public class TcbDatabaseCollectionAddResponse : WechatApiResponse
{
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasecollectiondelete 接口的请求。</para>
/// </summary>
public class TcbDatabaseCollectionDeleteRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置集合名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("collection_name")]
[System.Text.Json.Serialization.JsonPropertyName("collection_name")]
public string CollectionName { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasecollectiondelete 接口的响应。</para>
/// </summary>
public class TcbDatabaseCollectionDeleteResponse : WechatApiResponse
{
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasecollectionget 接口的请求。</para>
/// </summary>
public class TcbDatabaseCollectionGetRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置分页起始位置。
/// </summary>
[Newtonsoft.Json.JsonProperty("offset")]
[System.Text.Json.Serialization.JsonPropertyName("offset")]
public int? Offset { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int? Limit { get; set; }
}
}

View File

@@ -0,0 +1,90 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasecollectionget 接口的响应。</para>
/// </summary>
public class TcbDatabaseCollectionGetResponse : WechatApiResponse
{
public static class Types
{
public class Collection
{
/// <summary>
/// 获取或设置集合名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string CollectionName { get; set; } = default!;
/// <summary>
/// 获取或设置数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("count")]
[System.Text.Json.Serialization.JsonPropertyName("count")]
public int RecordCount { get; set; }
/// <summary>
/// 获取或设置大小。
/// </summary>
[Newtonsoft.Json.JsonProperty("size")]
[System.Text.Json.Serialization.JsonPropertyName("size")]
public int RecordSize { get; set; }
/// <summary>
/// 获取或设置索引数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("index_count")]
[System.Text.Json.Serialization.JsonPropertyName("index_count")]
public int IndexCount { get; set; }
/// <summary>
/// 获取或设置索引大小。
/// </summary>
[Newtonsoft.Json.JsonProperty("index_size")]
[System.Text.Json.Serialization.JsonPropertyName("index_size")]
public int IndexSize { get; set; }
}
public class Pagination
{
/// <summary>
/// 获取或设置分页起始位置。
/// </summary>
[Newtonsoft.Json.JsonProperty("Offset")]
[System.Text.Json.Serialization.JsonPropertyName("Offset")]
public int Offset { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("Limit")]
[System.Text.Json.Serialization.JsonPropertyName("Limit")]
public int Limit { get; set; }
/// <summary>
/// 获取或设置总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("Total")]
[System.Text.Json.Serialization.JsonPropertyName("Total")]
public int TotalCount { get; set; }
}
}
/// <summary>
/// 获取或设置集合列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("collections")]
[System.Text.Json.Serialization.JsonPropertyName("collections")]
public Types.Collection[] CollectionList { get; set; } = default!;
/// <summary>
/// 获取或设置查询分页信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("pager")]
[System.Text.Json.Serialization.JsonPropertyName("pager")]
public Types.Pagination Pagination { get; set; } = default!;
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasecount 接口的请求。</para>
/// </summary>
public class TcbDatabaseCountRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置数据库操作语句。
/// </summary>
[Newtonsoft.Json.JsonProperty("query")]
[System.Text.Json.Serialization.JsonPropertyName("query")]
public string QueryString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasecount 接口的响应。</para>
/// </summary>
public class TcbDatabaseCountResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置记录数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("count")]
[System.Text.Json.Serialization.JsonPropertyName("count")]
public int RecordCount { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasedelete 接口的请求。</para>
/// </summary>
public class TcbDatabaseDeleteRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置数据库操作语句。
/// </summary>
[Newtonsoft.Json.JsonProperty("query")]
[System.Text.Json.Serialization.JsonPropertyName("query")]
public string QueryString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasedelete 接口的响应。</para>
/// </summary>
public class TcbDatabaseDeleteResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置删除数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("deleted")]
[System.Text.Json.Serialization.JsonPropertyName("deleted")]
public int DeletedCount { get; set; }
}
}

View File

@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasemigrateexport 接口的请求。</para>
/// </summary>
public class TcbDatabaseMigrateExportRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置导入文件路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("file_path")]
[System.Text.Json.Serialization.JsonPropertyName("file_path")]
public string FilePath { get; set; } = string.Empty;
/// <summary>
/// 获取或设置导入文件类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("file_type")]
[System.Text.Json.Serialization.JsonPropertyName("file_type")]
public int FileType { get; set; }
/// <summary>
/// 获取或设置导出查询语句。
/// </summary>
[Newtonsoft.Json.JsonProperty("query")]
[System.Text.Json.Serialization.JsonPropertyName("query")]
public string QueryString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasemigrateexport 接口的响应。</para>
/// </summary>
public class TcbDatabaseMigrateExportResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置导出任务 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("job_id")]
[System.Text.Json.Serialization.JsonPropertyName("job_id")]
public int JobId { get; set; }
}
}

View File

@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasemigrateimport 接口的请求。</para>
/// </summary>
public class TcbDatabaseMigrateImportRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置集合名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("collection_name")]
[System.Text.Json.Serialization.JsonPropertyName("collection_name")]
public string CollectionName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置导入文件路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("file_path")]
[System.Text.Json.Serialization.JsonPropertyName("file_path")]
public string FilePath { get; set; } = string.Empty;
/// <summary>
/// 获取或设置导入文件类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("file_type")]
[System.Text.Json.Serialization.JsonPropertyName("file_type")]
public int FileType { get; set; }
/// <summary>
/// 获取或设置是否在遇到错误时停止导入。
/// </summary>
[Newtonsoft.Json.JsonProperty("stop_on_error")]
[System.Text.Json.Serialization.JsonPropertyName("stop_on_error")]
public bool RequireStopOnError { get; set; }
/// <summary>
/// 获取或设置冲突处理模式。
/// </summary>
[Newtonsoft.Json.JsonProperty("conflict_mode")]
[System.Text.Json.Serialization.JsonPropertyName("conflict_mode")]
public int ConflictMode { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasemigrateimport 接口的响应。</para>
/// </summary>
public class TcbDatabaseMigrateImportResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置导入任务 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("job_id")]
[System.Text.Json.Serialization.JsonPropertyName("job_id")]
public int JobId { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasemigratequeryinfo 接口的请求。</para>
/// </summary>
public class TcbDatabaseMigrateQueryInfoRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置任务 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("job_id")]
[System.Text.Json.Serialization.JsonPropertyName("job_id")]
public int JobId { get; set; }
}
}

View File

@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasemigratequeryinfo 接口的响应。</para>
/// </summary>
public class TcbDatabaseMigrateQueryInfoResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public string Status { get; set; } = default!;
/// <summary>
/// 获取或设置成功记录数。
/// </summary>
[Newtonsoft.Json.JsonProperty("record_success")]
[System.Text.Json.Serialization.JsonPropertyName("record_success")]
public int SuccessCount { get; set; }
/// <summary>
/// 获取或设置失败记录数。
/// </summary>
[Newtonsoft.Json.JsonProperty("record_fail")]
[System.Text.Json.Serialization.JsonPropertyName("record_fail")]
public int FailCount { get; set; }
/// <summary>
/// 获取或设置失败原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("error_msg")]
[System.Text.Json.Serialization.JsonPropertyName("error_msg")]
public string? FailReason { get; set; }
/// <summary>
/// 获取或设置导出文件下载地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("file_url")]
[System.Text.Json.Serialization.JsonPropertyName("file_url")]
public string? FileUrl { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasequery 接口的请求。</para>
/// </summary>
public class TcbDatabaseQueryRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置数据库操作语句。
/// </summary>
[Newtonsoft.Json.JsonProperty("query")]
[System.Text.Json.Serialization.JsonPropertyName("query")]
public string QueryString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databasequery 接口的响应。</para>
/// </summary>
public class TcbDatabaseQueryResponse : WechatApiResponse
{
public static class Types
{
public class Pagination : TcbDatabaseCollectionGetResponse.Types.Pagination
{
}
}
/// <summary>
/// 获取或设置查询数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public string[] Data { get; set; } = default!;
/// <summary>
/// 获取或设置查询分页信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("pager")]
[System.Text.Json.Serialization.JsonPropertyName("pager")]
public Types.Pagination Pagination { get; set; } = default!;
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databaseupdate 接口的请求。</para>
/// </summary>
public class TcbDatabaseUpdateRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置数据库操作语句。
/// </summary>
[Newtonsoft.Json.JsonProperty("query")]
[System.Text.Json.Serialization.JsonPropertyName("query")]
public string QueryString { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/databaseupdate 接口的响应。</para>
/// </summary>
public class TcbDatabaseUpdateResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置修改记录数。
/// </summary>
[Newtonsoft.Json.JsonProperty("modified")]
[System.Text.Json.Serialization.JsonPropertyName("modified")]
public int ModifiedCount { get; set; }
/// <summary>
/// 获取或设置匹配记录数。
/// </summary>
[Newtonsoft.Json.JsonProperty("matched")]
[System.Text.Json.Serialization.JsonPropertyName("matched")]
public int MatchedCount { get; set; }
/// <summary>
/// 获取或设置新插入记录的 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public string? Id { get; set; }
}
}

View File

@@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/updateindex 接口的请求。</para>
/// </summary>
public class TcbUpdateIndexRequest : WechatApiRequest
{
public static class Types
{
public class Index
{
public static class Types
{
public class Field
{
/// <summary>
/// 获取或设置字段名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 获取或设置字段排序。
/// </summary>
[Newtonsoft.Json.JsonProperty("direction")]
[System.Text.Json.Serialization.JsonPropertyName("direction")]
public string? Direction { get; set; }
}
}
/// <summary>
/// 获取或设置索引名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string IndexName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否唯一。
/// </summary>
[Newtonsoft.Json.JsonProperty("unique")]
[System.Text.Json.Serialization.JsonPropertyName("unique")]
public bool IsUnique { get; set; }
/// <summary>
/// 获取或设置字段列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("keys")]
[System.Text.Json.Serialization.JsonPropertyName("keys")]
public IList<Types.Field>? FieldList { get; set; }
}
}
/// <summary>
/// 获取或设置环境 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("env")]
[System.Text.Json.Serialization.JsonPropertyName("env")]
public string EnvironmentId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置集合名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("collection_name")]
[System.Text.Json.Serialization.JsonPropertyName("collection_name")]
public string CollectionName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置新增索引列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_indexes")]
[System.Text.Json.Serialization.JsonPropertyName("create_indexes")]
public IList<Types.Index> CreateIndexList { get; set; } = new List<Types.Index>();
/// <summary>
/// 获取或设置删除索引列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("drop_indexes")]
[System.Text.Json.Serialization.JsonPropertyName("drop_indexes")]
public IList<Types.Index> DropIndexList { get; set; } = new List<Types.Index>();
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /tcb/updateindex 接口的响应。</para>
/// </summary>
public class TcbUpdateIndexResponse : WechatApiResponse
{
}
}