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; }
}
}

View File

@@ -1,13 +1,17 @@
{
{
"email": "apitest@gzdev.com",
"name": "apitest",
"userid_list": {
"list": ["apitest1", "apitest2"]
"list": [ "apitest1", "apitest2" ]
},
"department_list": {
"list": [1, 2]
"list": [ 1, 2 ]
},
"tag_list": {
"list": [1, 2]
"list": [ 1, 2 ]
},
"create_auth_code": 1,
"auth_code_info": {
"remark": "客户端专用密码备注"
}
}

View File

@@ -0,0 +1,18 @@
{
"errcode": 0,
"errmsg": "ok",
"auth_code_list": [
{
"auth_code_id": 1,
"create_time": 1724743240,
"last_use_time": 1724743241,
"remark": "客户端专用密码备注"
},
{
"auth_code_id": 2,
"create_time": 1724743240,
"last_use_time": 1724743241,
"remark": "客户端专用密码备注"
}
]
}

View File

@@ -1,4 +1,4 @@
{
{
"errcode": 0,
"errmsg": "ok",
"list": [
@@ -7,13 +7,19 @@
"email": "apitest3@gzdev.com",
"name": "测试",
"userid_list": {
"list": ["member", "member2"]
"list": [ "member", "member2" ]
},
"department_list": {
"list": [1, 2]
"list": [ 1, 2 ]
},
"tag_list": {
"list": [1, 2]
"list": [ 1, 2 ]
},
"alias_list": {
"list": [
"lisi@gzdev.com",
"wangwu@gzdev.com"
]
}
}
]

View File

@@ -1,13 +1,20 @@
{
{
"id": 1,
"name": "apitest",
"userid_list": {
"list": ["apitest1", "apitest2"]
"list": [ "apitest1", "apitest2" ]
},
"department_list": {
"list": [1, 2]
"list": [ 1, 2 ]
},
"tag_list": {
"list": [1, 2]
"list": [ 1, 2 ]
},
"alias_list": {
"list": [ "lisi@gzdev.com", "wangwu@gzdev.com" ]
},
"create_auth_code": 1,
"auth_code_info": {
"remark": "客户端专用密码备注"
}
}