From 46dc78316415ac979ff3f961ff54312d5635d519 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Mon, 29 Jul 2024 12:45:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E7=AC=AC?= =?UTF-8?q?=E4=B8=89=E6=96=B9=E5=BA=94=E7=94=A8=E8=8E=B7=E5=8F=96=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E7=AE=A1=E7=90=86=E5=91=98=E5=88=97=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tWorkClientExecuteCgibinAgentExtensions.cs | 23 ++++++++++++ .../CgibinAgentGetAdminListRequest.cs | 9 +++++ .../CgibinAgentGetAdminListResponse.cs | 35 +++++++++++++++++++ .../CgibinAgentGetAdminListResponse.json | 14 ++++++++ 4 files changed, 81 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetAdminListRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetAdminListResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinAgent/CgibinAgentGetAdminListResponse.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinAgentExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinAgentExtensions.cs index 029466d6..b03510a9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinAgentExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinAgentExtensions.cs @@ -162,6 +162,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); } + /// + /// 异步调用 [POST] /cgi-bin/agent/get_admin_list 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinAgentGetAdminListAsync(this WechatWorkClient client, Models.CgibinAgentGetAdminListRequest 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", "agent", "get_admin_list") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #region Workbench /// /// 异步调用 [POST] /cgi-bin/agent/set_workbench_template 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetAdminListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetAdminListRequest.cs new file mode 100644 index 00000000..8f208f2f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetAdminListRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/agent/get_admin_list 接口的请求。 + /// + public class CgibinAgentGetAdminListRequest : WechatWorkRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetAdminListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetAdminListResponse.cs new file mode 100644 index 00000000..aa88668c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAgent/CgibinAgentGetAdminListResponse.cs @@ -0,0 +1,35 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/agent/get_admin_list 接口的响应。 + /// + public class CgibinAgentGetAdminListResponse : WechatWorkResponse + { + public static class Types + { + public class Administrator + { + /// + /// 获取或设置成员账号。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = default!; + + /// + /// 获取或设置管理权限。 + /// + [Newtonsoft.Json.JsonProperty("auth_type")] + [System.Text.Json.Serialization.JsonPropertyName("auth_type")] + public int AuthType { get; set; } + } + } + + /// + /// 获取或设置管理员列表。 + /// + [Newtonsoft.Json.JsonProperty("admin")] + [System.Text.Json.Serialization.JsonPropertyName("admin")] + public Types.Administrator[]? AdministratorList { get; set; } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinAgent/CgibinAgentGetAdminListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinAgent/CgibinAgentGetAdminListResponse.json new file mode 100644 index 00000000..1079e37f --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinAgent/CgibinAgentGetAdminListResponse.json @@ -0,0 +1,14 @@ +{ + "errcode": 0, + "errmsg": "ok", + "admin": [ + { + "userid": "woxxxx", + "auth_type": 1 + }, + { + "userid": "woxxxx", + "auth_type": 0 + } + ] +}