feat(work): 随官方更新企业公共邮箱相关接口模型

This commit is contained in:
Fu Diwei
2025-04-10 09:41:06 +08:00
parent 02f76dc17f
commit 629620a411
14 changed files with 280 additions and 15 deletions

View File

@@ -365,6 +365,52 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinExmailPublicMailGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/exmail/publicmail/get_auth_code_list 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/100183 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExmailPublicMailGetAuthCodeListResponse> ExecuteCgibinExmailPublicMailGetAuthCodeListAsync(this WechatWorkClient client, Models.CgibinExmailPublicMailGetAuthCodeListRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "exmail", "publicmail", "get_auth_code_list")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinExmailPublicMailGetAuthCodeListResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/exmail/publicmail/delete_auth_code 接口。</para>
/// <para>
/// REF: <br/>
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/100184 ]]>
/// </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExmailPublicMailDeleteAuthCodeResponse> ExecuteCgibinExmailPublicMailDeleteAuthCodeAsync(this WechatWorkClient client, Models.CgibinExmailPublicMailDeleteAuthCodeRequest 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
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "exmail", "publicmail", "delete_auth_code")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinExmailPublicMailDeleteAuthCodeResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
}
#endregion
#region Account

View File

@@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
@@ -26,6 +26,16 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public class DepartmentIdList : CgibinExmailGroupCreateRequest.Types.DepartmentIdList
{
}
public class AuthCodeInfo
{
/// <summary>
/// 获取或设置备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string? Remark { get; set; }
}
}
/// <summary>
@@ -62,5 +72,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
[Newtonsoft.Json.JsonProperty("department_list")]
[System.Text.Json.Serialization.JsonPropertyName("department_list")]
public Types.DepartmentIdList? AllowDepartmentIdList { get; set; }
/// <summary>
/// 获取或设置是否创建客户端专用密码。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_auth_code")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("create_auth_code")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalBooleanConverter))]
public bool? IsCreateAuthCode { get; set; }
/// <summary>
/// 获取或设置客户端专用密码信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("auth_code_info")]
[System.Text.Json.Serialization.JsonPropertyName("auth_code_info")]
public Types.AuthCodeInfo? AuthCodeInfo { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/exmail/publicmail/delete_auth_code 接口的请求。</para>
/// </summary>
public class CgibinExmailPublicMailDeleteAuthCodeRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置业务邮箱 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public int Id { get; set; }
/// <summary>
/// 获取或设置客户端专用密码 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("auth_code_id")]
[System.Text.Json.Serialization.JsonPropertyName("auth_code_id")]
public int AuthCodeId { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/exmail/publicmail/delete_auth_code 接口的响应。</para>
/// </summary>
public class CgibinExmailPublicMailDeleteAuthCodeResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/exmail/publicmail/get_auth_code_list 接口的请求。</para>
/// </summary>
public class CgibinExmailPublicMailGetAuthCodeListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置业务邮箱 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public int Id { get; set; }
}
}

View File

@@ -0,0 +1,49 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/exmail/publicmail/get_auth_code_list 接口的响应。</para>
/// </summary>
public class CgibinExmailPublicMailGetAuthCodeListResponse : WechatWorkResponse
{
public static class Types
{
public class AuthCode
{
/// <summary>
/// 获取或设置客户端专用密码 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("auth_code_id")]
[System.Text.Json.Serialization.JsonPropertyName("auth_code_id")]
public int Id { get; set; }
/// <summary>
/// 获取或设置备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string Remark { get; set; } = default!;
/// <summary>
/// 获取或设置最后使用时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("last_use_time")]
[System.Text.Json.Serialization.JsonPropertyName("last_use_time")]
public long LastUseTimestamp { get; set; }
/// <summary>
/// 获取或设置创建时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_time")]
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
public long CreateTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置客户端专用密码列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("auth_code_list")]
[System.Text.Json.Serialization.JsonPropertyName("auth_code_list")]
public Types.AuthCode[] AuthCodeList { get; set; } = default!;
}
}

View File

@@ -1,4 +1,4 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/exmail/publicmail/get 接口的响应。</para>
@@ -28,6 +28,16 @@
public class DepartmentIdList : CgibinExmailGroupGetResponse.Types.DepartmentIdList
{
}
public class AliasList
{
/// <summary>
/// 获取或设置别名列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("list")]
[System.Text.Json.Serialization.JsonPropertyName("list")]
public string[] Items { get; set; } = default!;
}
}
/// <summary>
@@ -71,6 +81,13 @@
[Newtonsoft.Json.JsonProperty("department_list")]
[System.Text.Json.Serialization.JsonPropertyName("department_list")]
public Types.DepartmentIdList? AllowDepartmentIdList { get; set; }
/// <summary>
/// 获取或设置企业邮箱别名列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("alias_list")]
[System.Text.Json.Serialization.JsonPropertyName("alias_list")]
public Types.AliasList? AliasList { get; set; }
}
}

View File

@@ -1,4 +1,6 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/exmail/publicmail/update 接口的请求。</para>
@@ -18,6 +20,20 @@
public class DepartmentIdList : CgibinExmailPublicMailCreateRequest.Types.DepartmentIdList
{
}
public class AliasList
{
/// <summary>
/// 获取或设置别名列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("list")]
[System.Text.Json.Serialization.JsonPropertyName("list")]
public IList<string> Items { get; set; } = new List<string>();
}
public class AuthCodeInfo : CgibinExmailPublicMailCreateRequest.Types.AuthCodeInfo
{
}
}
/// <summary>
@@ -54,5 +70,28 @@
[Newtonsoft.Json.JsonProperty("department_list")]
[System.Text.Json.Serialization.JsonPropertyName("department_list")]
public Types.DepartmentIdList? AllowDepartmentIdList { get; set; }
/// <summary>
/// 获取或设置企业邮箱别名列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("alias_list")]
[System.Text.Json.Serialization.JsonPropertyName("alias_list")]
public Types.AliasList? AliasList { get; set; }
/// <summary>
/// 获取或设置是否创建客户端专用密码。
/// </summary>
[Newtonsoft.Json.JsonProperty("create_auth_code")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("create_auth_code")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalBooleanConverter))]
public bool? IsCreateAuthCode { get; set; }
/// <summary>
/// 获取或设置客户端专用密码信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("auth_code_info")]
[System.Text.Json.Serialization.JsonPropertyName("auth_code_info")]
public Types.AuthCodeInfo? AuthCodeInfo { get; set; }
}
}