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

This commit is contained in:
Fu Diwei
2021-08-06 16:53:12 +08:00
parent 349ed67c87
commit 9f2ce5ac0f
19 changed files with 918 additions and 2 deletions

View File

@@ -34,7 +34,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <summary>
/// <para>异步调用 [POST] /tcb/modifyenv 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/modifyenv.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/modifyEnv.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
@@ -256,7 +256,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
/// <summary>
/// <para>异步调用 [POST] /tcb/invokecloudfunction 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/batchupdatetriggers.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/invokecloudfunction.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
@@ -723,5 +723,193 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
return await client.SendRequestWithJsonAsync<Models.ComponentTcbStaticUploadFileResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region Database
/// <summary>
/// <para>异步调用 [POST] /componenttcb/dbcollection 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbCollectionGet.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbCollectionAdd.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbCollectionDel.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTcbDbCollectionResponse> ExecuteComponentTcbDbCollectionAsync(this WechatApiClient client, Models.ComponentTcbDbCollectionRequest 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, "componenttcb", "dbcollection")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTcbDbCollectionResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/dbrecord 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbRecordInsert.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbRecordDelete.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbRecordUpdate.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbRecordQuery.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTcbDbRecordResponse> ExecuteComponentTcbDbRecordAsync(this WechatApiClient client, Models.ComponentTcbDbRecordRequest 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, "componenttcb", "dbrecord")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTcbDbRecordResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/dbindex 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbIndexCreate.html </para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbIndexDelete.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTcbDbIndexResponse> ExecuteComponentTcbDbIndexAsync(this WechatApiClient client, Models.ComponentTcbDbIndexRequest 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, "componenttcb", "dbindex")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTcbDbIndexResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/dbimport 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbimport.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTcbDbImportResponse> ExecuteComponentTcbDbImportAsync(this WechatApiClient client, Models.ComponentTcbDbImportRequest 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, "componenttcb", "dbimport")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTcbDbImportResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/dbexport 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbexport.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTcbDbExportResponse> ExecuteComponentTcbDbExportAsync(this WechatApiClient client, Models.ComponentTcbDbExportRequest 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, "componenttcb", "dbexport")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTcbDbExportResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/dbmigrationstate 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbmigrationstate.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTcbDbMigrationStateResponse> ExecuteComponentTcbDbMigrationStateAsync(this WechatApiClient client, Models.ComponentTcbDbMigrationStateRequest 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, "componenttcb", "dbmigrationstate")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTcbDbMigrationStateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/dbaggregate 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbaggregate.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTcbDbAggregateResponse> ExecuteComponentTcbDbAggregateAsync(this WechatApiClient client, Models.ComponentTcbDbAggregateRequest 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, "componenttcb", "dbaggregate")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTcbDbAggregateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/dbgetacl 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbGetACL.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTcbDbGetACLResponse> ExecuteComponentTcbDbGetACLAsync(this WechatApiClient client, Models.ComponentTcbDbGetACLRequest 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, "componenttcb", "dbgetacl")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTcbDbGetACLResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /componenttcb/dbmodifyacl 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/batch/dbModifyACL.html </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ComponentTcbDbModifyACLResponse> ExecuteComponentTcbDbModifyACLAsync(this WechatApiClient client, Models.ComponentTcbDbModifyACLRequest 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, "componenttcb", "dbmodifyacl")
.SetQueryParam("access_token", request.ComponentAccessToken);
return await client.SendRequestWithJsonAsync<Models.ComponentTcbDbModifyACLResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbaggregate 接口的请求。</para>
/// </summary>
public class ComponentTcbDbAggregateRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <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] /componenttcb/dbaggregate 接口的响应。</para>
/// </summary>
public class ComponentTcbDbAggregateResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置查询数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public string[]? Data { get; set; }
}
}

View File

@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbcollection 接口的请求。</para>
/// </summary>
public class ComponentTcbDbCollectionRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置操作类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("action")]
[System.Text.Json.Serialization.JsonPropertyName("action")]
public string Action { get; set; } = string.Empty;
/// <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; }
/// <summary>
/// 获取或设置集合名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("collection_name")]
[System.Text.Json.Serialization.JsonPropertyName("collection_name")]
public string? CollectionName { get; set; }
}
}

View File

@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbcollection 接口的响应。</para>
/// </summary>
public class ComponentTcbDbCollectionResponse : 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 Count { get; set; }
/// <summary>
/// 获取或设置大小。
/// </summary>
[Newtonsoft.Json.JsonProperty("size")]
[System.Text.Json.Serialization.JsonPropertyName("size")]
public int Size { 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; }
}
}
/// <summary>
/// 获取或设置集合列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("collections")]
[System.Text.Json.Serialization.JsonPropertyName("collections")]
public Types.Collection[]? CollectionList { get; set; }
/// <summary>
/// 获取或设置总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("total")]
[System.Text.Json.Serialization.JsonPropertyName("total")]
public int? TotalCount { get; set; }
}
}

View File

@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbexport 接口的请求。</para>
/// </summary>
public class ComponentTcbDbExportRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <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] /componenttcb/dbexport 接口的响应。</para>
/// </summary>
public class ComponentTcbDbExportResponse : 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,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbgetacl 接口的请求。</para>
/// </summary>
public class ComponentTcbDbGetACLRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <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,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbgetacl 接口的响应。</para>
/// </summary>
public class ComponentTcbDbGetACLResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置权限说明。
/// </summary>
[Newtonsoft.Json.JsonProperty("acl_tag")]
[System.Text.Json.Serialization.JsonPropertyName("acl_tag")]
public string ACLTag { get; set; } = default!;
/// <summary>
/// 获取或设置自定义规则。
/// </summary>
[Newtonsoft.Json.JsonProperty("rule")]
[System.Text.Json.Serialization.JsonPropertyName("rule")]
public string Rule { get; set; } = default!;
}
}

View File

@@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbimport 接口的请求。</para>
/// </summary>
public class ComponentTcbDbImportRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <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] /componenttcb/dbimport 接口的响应。</para>
/// </summary>
public class ComponentTcbDbImportResponse : 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,86 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbindex 接口的请求。</para>
/// </summary>
public class ComponentTcbDbIndexRequest : 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("keys")]
[System.Text.Json.Serialization.JsonPropertyName("keys")]
public IList<Types.Field>? FieldList { get; set; }
}
}
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置操作类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("action")]
[System.Text.Json.Serialization.JsonPropertyName("action")]
public string Action { get; set; } = string.Empty;
/// <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("indexes")]
[System.Text.Json.Serialization.JsonPropertyName("indexes")]
public IList<Types.Index>? IndexList { get; set; }
}
}

View File

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

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbmigrationstate 接口的请求。</para>
/// </summary>
public class ComponentTcbDbMigrationStateRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <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] /componenttcb/dbmigrationstate 接口的响应。</para>
/// </summary>
public class ComponentTcbDbMigrationStateResponse : 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,46 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbmodifyacl 接口的请求。</para>
/// </summary>
public class ComponentTcbDbModifyACLRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <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("acl_tag")]
[System.Text.Json.Serialization.JsonPropertyName("acl_tag")]
public string ACLTag { get; set; } = string.Empty;
/// <summary>
/// 获取或设置自定义规则。
/// </summary>
[Newtonsoft.Json.JsonProperty("rule")]
[System.Text.Json.Serialization.JsonPropertyName("rule")]
public string Rule { 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] /componenttcb/dbmodifyacl 接口的响应。</para>
/// </summary>
public class ComponentTcbDbModifyACLResponse : WechatApiResponse
{
}
}

View File

@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbrecord 接口的请求。</para>
/// </summary>
public class ComponentTcbDbRecordRequest : WechatApiRequest
{
/// <summary>
/// 获取或设置第三方平台 AccessToken。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ComponentAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置操作类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("action")]
[System.Text.Json.Serialization.JsonPropertyName("action")]
public string Action { get; set; } = string.Empty;
/// <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; }
}
}

View File

@@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /componenttcb/dbrecord 接口的响应。</para>
/// </summary>
public class ComponentTcbDbRecordResponse : WechatApiResponse
{
public static class Types
{
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>
/// 获取或设置插入成功的数据集合主键 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("id_list")]
[System.Text.Json.Serialization.JsonPropertyName("id_list")]
public string[]? IdList { get; set; }
/// <summary>
/// 获取或设置查询分页信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("pager")]
[System.Text.Json.Serialization.JsonPropertyName("pager")]
public Types.Pagination? Pagination { get; set; }
/// <summary>
/// 获取或设置查询数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("data")]
[System.Text.Json.Serialization.JsonPropertyName("data")]
public string[]? Data { get; set; }
/// <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; }
/// <summary>
/// 获取或设置删除记录数。
/// </summary>
[Newtonsoft.Json.JsonProperty("deleted")]
[System.Text.Json.Serialization.JsonPropertyName("deleted")]
public int? DeletedCount { get; set; }
}
}