diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinWedocExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinWedocExtensions.cs index 2ebf5898..caac7514 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinWedocExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinWedocExtensions.cs @@ -358,6 +358,376 @@ namespace SKIT.FlurlHttpClient.Wechat.Work } #endregion + #region SmartSheet + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/get_sheet 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetGetSheetAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetGetSheetRequest 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", "wedoc", "smartsheet", "get_sheet") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/add_sheet 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetAddSheetAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetAddSheetRequest 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", "wedoc", "smartsheet", "add_sheet") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/update_sheet 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetUpdateSheetAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetUpdateSheetRequest 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", "wedoc", "smartsheet", "update_sheet") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/delete_sheet 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetDeleteSheetAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetDeleteSheetRequest 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", "wedoc", "smartsheet", "delete_sheet") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/get_views 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetGetViewsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetGetViewsRequest 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", "wedoc", "smartsheet", "get_views") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/add_view 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetAddViewAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetAddViewRequest 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", "wedoc", "smartsheet", "add_view") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/update_view 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetUpdateViewAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetUpdateViewRequest 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", "wedoc", "smartsheet", "update_view") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/delete_views 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetDeleteViewsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetDeleteViewsRequest 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", "wedoc", "smartsheet", "delete_views") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/get_fields 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetGetFieldsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetGetFieldsRequest 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", "wedoc", "smartsheet", "get_fields") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/add_fields 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetAddFieldsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetAddFieldsRequest 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", "wedoc", "smartsheet", "add_fields") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/update_fields 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetUpdateFieldsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetUpdateFieldsRequest 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", "wedoc", "smartsheet", "update_fields") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/delete_fields 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetDeleteFieldsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetDeleteFieldsRequest 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", "wedoc", "smartsheet", "delete_fields") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/get_records 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetGetRecordsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetGetRecordsRequest 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", "wedoc", "smartsheet", "get_records") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/add_records 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetAddRecordsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetAddRecordsRequest 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", "wedoc", "smartsheet", "add_records") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/update_records 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetUpdateRecordsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetUpdateRecordsRequest 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", "wedoc", "smartsheet", "update_records") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /cgi-bin/wedoc/smartsheet/delete_records 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteCgibinWedocSmartSheetDeleteRecordsAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetDeleteRecordsRequest 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", "wedoc", "smartsheet", "delete_records") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + #region SpreadSheet /// /// 异步调用 [POST] /cgi-bin/wedoc/spreadsheet/batch_update 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsRequest.cs new file mode 100644 index 00000000..cdc19b76 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsRequest.cs @@ -0,0 +1,475 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/add_fields 接口的请求。 + /// + public class CgibinWedocSmartSheetAddFieldsRequest : WechatWorkRequest + { + public static class Types + { + public class Field + { + public static class Types + { + public class TextFieldProperty + { + } + + public class NumberFieldProperty + { + /// + /// 获取或设置小数点的位数。 + /// + [Newtonsoft.Json.JsonProperty("decimal_places")] + [System.Text.Json.Serialization.JsonPropertyName("decimal_places")] + public int DecimalPlaces { get; set; } + + /// + /// 获取或设置是否使用千位符。 + /// + [Newtonsoft.Json.JsonProperty("use_separate")] + [System.Text.Json.Serialization.JsonPropertyName("use_separate")] + public bool IsUseSeparate { get; set; } + } + + public class CheckboxFieldProperty + { + /// + /// 获取或设置是否默认勾选。 + /// + [Newtonsoft.Json.JsonProperty("checked")] + [System.Text.Json.Serialization.JsonPropertyName("checked")] + public bool IsChecked { get; set; } + } + + public class DateTimeFieldProperty + { + /// + /// 获取或设置日期格式字符串。 + /// + [Newtonsoft.Json.JsonProperty("format")] + [System.Text.Json.Serialization.JsonPropertyName("format")] + public string FormatString { get; set; } = string.Empty; + + /// + /// 获取或设置是否自动填充。 + /// + [Newtonsoft.Json.JsonProperty("auto_fill")] + [System.Text.Json.Serialization.JsonPropertyName("auto_fill")] + public bool IsAutoFill { get; set; } + } + + public class AttachmentFieldProperty + { + /// + /// 获取或设置显示模式。 + /// + [Newtonsoft.Json.JsonProperty("display_mode")] + [System.Text.Json.Serialization.JsonPropertyName("display_mode")] + public string DisplayMode { get; set; } = string.Empty; + } + + public class UserFieldProperty + { + /// + /// 获取或设置是否允许添加多个。 + /// + [Newtonsoft.Json.JsonProperty("is_multiple")] + [System.Text.Json.Serialization.JsonPropertyName("is_multiple")] + public bool IsMultiple { get; set; } + + /// + /// 获取或设置是否通知用户。 + /// + [Newtonsoft.Json.JsonProperty("is_notified")] + [System.Text.Json.Serialization.JsonPropertyName("is_notified")] + public bool IsNotified { get; set; } + } + + public class UrlFieldProperty + { + /// + /// 获取或设置超链接展示样式。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = string.Empty; + } + + public class SelectFieldProperty + { + public static class Types + { + public class Option + { + /// + /// 获取或设置选项 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public string Id { get; set; } = string.Empty; + + /// + /// 获取或设置选项内容。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public string Text { get; set; } = string.Empty; + + /// + /// 获取或设置选项颜色。 + /// + [Newtonsoft.Json.JsonProperty("style")] + [System.Text.Json.Serialization.JsonPropertyName("style")] + public int Style { get; set; } + } + } + + /// + /// 获取或设置是否允许填写时新增选项。 + /// + [Newtonsoft.Json.JsonProperty("is_quick_add")] + [System.Text.Json.Serialization.JsonPropertyName("is_quick_add")] + public bool IsQuickAdd { get; set; } + + /// + /// 获取或设置选项列表。 + /// + [Newtonsoft.Json.JsonProperty("options")] + [System.Text.Json.Serialization.JsonPropertyName("options")] + public IList OptionList { get; set; } = new List(); + } + + public class CreatedTimeFieldProperty + { + /// + /// 获取或设置日期格式字符串。 + /// + [Newtonsoft.Json.JsonProperty("format")] + [System.Text.Json.Serialization.JsonPropertyName("format")] + public string FormatString { get; set; } = string.Empty; + } + + public class ModifiedTimeFieldProperty + { + /// + /// 获取或设置日期格式字符串。 + /// + [Newtonsoft.Json.JsonProperty("format")] + [System.Text.Json.Serialization.JsonPropertyName("format")] + public string FormatString { get; set; } = string.Empty; + } + + public class ProgressFieldProperty + { + /// + /// 获取或设置小数点的位数。 + /// + [Newtonsoft.Json.JsonProperty("decimal_places")] + [System.Text.Json.Serialization.JsonPropertyName("decimal_places")] + public int DecimalPlaces { get; set; } + } + + public class SingleSelectFieldProperty + { + public static class Types + { + public class Option : SelectFieldProperty.Types.Option + { + } + } + + /// + /// 获取或设置是否允许填写时新增选项。 + /// + [Newtonsoft.Json.JsonProperty("is_quick_add")] + [System.Text.Json.Serialization.JsonPropertyName("is_quick_add")] + public bool IsQuickAdd { get; set; } + + /// + /// 获取或设置选项列表。 + /// + [Newtonsoft.Json.JsonProperty("options")] + [System.Text.Json.Serialization.JsonPropertyName("options")] + public IList OptionList { get; set; } = new List(); + } + + public class ReferenceFieldProperty + { + /// + /// 获取或设置视图 ID。 + /// + [Newtonsoft.Json.JsonProperty("view_id")] + [System.Text.Json.Serialization.JsonPropertyName("view_id")] + public string Viewid { get; set; } = string.Empty; + + /// + /// 获取或设置关联的子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sub_id")] + [System.Text.Json.Serialization.JsonPropertyName("sub_id")] + public string? SheetId { get; set; } + + /// + /// 获取或设置关联的字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string? FieldId { get; set; } + + /// + /// 获取或设置是否允许多选。 + /// + [Newtonsoft.Json.JsonProperty("is_multiple")] + [System.Text.Json.Serialization.JsonPropertyName("is_multiple")] + public bool IsMultiple { get; set; } + } + + public class LocationFieldProperty + { + /// + /// 获取或设置输入类型。 + /// + [Newtonsoft.Json.JsonProperty("input_type")] + [System.Text.Json.Serialization.JsonPropertyName("input_type")] + public string InputType { get; set; } = string.Empty; + } + + public class AutoNumberFieldProperty + { + public static class Types + { + public class Rule + { + /// + /// 获取或设置规则类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = string.Empty; + + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public string Value { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置输入类型。 + /// + [Newtonsoft.Json.JsonProperty("input_type")] + [System.Text.Json.Serialization.JsonPropertyName("input_type")] + public string InputType { get; set; } = string.Empty; + + /// + /// 获取或设置自定义规则列表。 + /// + [Newtonsoft.Json.JsonProperty("rules")] + [System.Text.Json.Serialization.JsonPropertyName("rules")] + public IList? RuleList { get; set; } + + /// + /// 获取或设置是否应用于已有编号。 + /// + [Newtonsoft.Json.JsonProperty("reformat_existing_record")] + [System.Text.Json.Serialization.JsonPropertyName("reformat_existing_record")] + public bool IsReformatExistingRecord { get; set; } + } + + public class CurrencyFieldProperty + { + /// + /// 获取或设置货币类型。 + /// + [Newtonsoft.Json.JsonProperty("currency_type")] + [System.Text.Json.Serialization.JsonPropertyName("currency_type")] + public string CurrencyType { get; set; } = string.Empty; + + /// + /// 获取或设置小数点的位数。 + /// + [Newtonsoft.Json.JsonProperty("decimal_places")] + [System.Text.Json.Serialization.JsonPropertyName("decimal_places")] + public int DecimalPlaces { get; set; } + + /// + /// 获取或设置是否使用千位符。 + /// + [Newtonsoft.Json.JsonProperty("use_separate")] + [System.Text.Json.Serialization.JsonPropertyName("use_separate")] + public bool IsUseSeparate { get; set; } + } + + public class GroupChatFieldProperty + { + /// + /// 获取或设置是否允许多个群聊。 + /// + [Newtonsoft.Json.JsonProperty("allow_multiple")] + [System.Text.Json.Serialization.JsonPropertyName("allow_multiple")] + public bool IsAllowMultiple { get; set; } + } + } + + /// + /// 获取或设置字段名称。 + /// + [Newtonsoft.Json.JsonProperty("field_title")] + [System.Text.Json.Serialization.JsonPropertyName("field_title")] + public string Title { get; set; } = string.Empty; + + /// + /// 获取或设置字段类型。 + /// + [Newtonsoft.Json.JsonProperty("field_type")] + [System.Text.Json.Serialization.JsonPropertyName("field_type")] + public string Type { get; set; } = string.Empty; + + /// + /// 获取或设置文本类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_text")] + [System.Text.Json.Serialization.JsonPropertyName("property_text")] + public Types.TextFieldProperty? PropertyAsText { get; set; } + + /// + /// 获取或设置数字类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_number")] + [System.Text.Json.Serialization.JsonPropertyName("property_number")] + public Types.NumberFieldProperty? PropertyAsNumber { get; set; } + + /// + /// 获取或设置复选框类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_checkbox")] + [System.Text.Json.Serialization.JsonPropertyName("property_checkbox")] + public Types.CheckboxFieldProperty? PropertyAsCheckbox { get; set; } + + /// + /// 获取或设置日期类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_date_time")] + [System.Text.Json.Serialization.JsonPropertyName("property_date_time")] + public Types.DateTimeFieldProperty? PropertyAsDateTime { get; set; } + + /// + /// 获取或设置文件类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_attachment")] + [System.Text.Json.Serialization.JsonPropertyName("property_attachment")] + public Types.AttachmentFieldProperty? PropertyAsAttachment { get; set; } + + /// + /// 获取或设置人员类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_user")] + [System.Text.Json.Serialization.JsonPropertyName("property_user")] + public Types.UserFieldProperty? PropertyAsUser { get; set; } + + /// + /// 获取或设置超链接类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_url")] + [System.Text.Json.Serialization.JsonPropertyName("property_url")] + public Types.UrlFieldProperty? PropertyAsUrl { get; set; } + + /// + /// 获取或设置多选类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_select")] + [System.Text.Json.Serialization.JsonPropertyName("property_select")] + public Types.SelectFieldProperty? PropertyAsSelect { get; set; } + + /// + /// 获取或设置创建时间类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_created_time")] + [System.Text.Json.Serialization.JsonPropertyName("property_created_time")] + public Types.CreatedTimeFieldProperty? PropertyAsCreatedTime { get; set; } + + /// + /// 获取或设置最后编辑时间类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_modified_time")] + [System.Text.Json.Serialization.JsonPropertyName("property_modified_time")] + public Types.ModifiedTimeFieldProperty? PropertyAsModifiedTime { get; set; } + + /// + /// 获取或设置进度类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_progress")] + [System.Text.Json.Serialization.JsonPropertyName("property_progress")] + public Types.ProgressFieldProperty? PropertyAsProgress { get; set; } + + /// + /// 获取或设置单选类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_single_select")] + [System.Text.Json.Serialization.JsonPropertyName("property_single_select")] + public Types.SingleSelectFieldProperty? PropertyAsSingleSelect { get; set; } + + /// + /// 获取或设置引用类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_reference")] + [System.Text.Json.Serialization.JsonPropertyName("property_reference")] + public Types.ReferenceFieldProperty? PropertyAsReference { get; set; } + + /// + /// 获取或设置地理位置类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_location")] + [System.Text.Json.Serialization.JsonPropertyName("property_location")] + public Types.LocationFieldProperty? PropertyAsLocation { get; set; } + + /// + /// 获取或设置自动编号类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_auto_number")] + [System.Text.Json.Serialization.JsonPropertyName("property_auto_number")] + public Types.AutoNumberFieldProperty? PropertyAsAutoNumber { get; set; } + + /// + /// 获取或设置货币类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_currency")] + [System.Text.Json.Serialization.JsonPropertyName("property_currency")] + public Types.CurrencyFieldProperty? PropertyAsCurrency { get; set; } + + /// + /// 获取或设置群类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_ww_group")] + [System.Text.Json.Serialization.JsonPropertyName("property_ww_group")] + public Types.GroupChatFieldProperty? PropertyAsGroupChat { get; set; } + } + } + + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置字段列表。 + /// + [Newtonsoft.Json.JsonProperty("fields")] + [System.Text.Json.Serialization.JsonPropertyName("fields")] + public IList FieldList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsResponse.cs new file mode 100644 index 00000000..3a7dfcac --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/add_fields 接口的响应。 + /// + public class CgibinWedocSmartSheetAddFieldsResponse : WechatWorkResponse + { + public static class Types + { + public class Field + { + /// + /// 获取或设置字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string FieldId { get; set; } = default!; + + /// + /// 获取或设置字段名称。 + /// + [Newtonsoft.Json.JsonProperty("field_title")] + [System.Text.Json.Serialization.JsonPropertyName("field_title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置字段类型。 + /// + [Newtonsoft.Json.JsonProperty("field_type")] + [System.Text.Json.Serialization.JsonPropertyName("field_type")] + public string Type { get; set; } = default!; + } + } + + /// + /// 获取或设置字段列表。 + /// + [Newtonsoft.Json.JsonProperty("fields")] + [System.Text.Json.Serialization.JsonPropertyName("fields")] + public Types.Field[] FieldList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsRequest.cs new file mode 100644 index 00000000..bb4209b0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsRequest.cs @@ -0,0 +1,51 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/add_records 接口的请求。 + /// + public class CgibinWedocSmartSheetAddRecordsRequest : WechatWorkRequest + { + public static class Types + { + public class Record + { + /// + /// 获取或设置单元格值。 + /// + [Newtonsoft.Json.JsonProperty("values")] + [System.Text.Json.Serialization.JsonPropertyName("values")] + public IDictionary Values { get; set; } = new Dictionary(); + } + } + + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置单元格键类型。 + /// + [Newtonsoft.Json.JsonProperty("key_type")] + [System.Text.Json.Serialization.JsonPropertyName("key_type")] + public string? KeyType { get; set; } + + /// + /// 获取或设置记录列表。 + /// + [Newtonsoft.Json.JsonProperty("records")] + [System.Text.Json.Serialization.JsonPropertyName("records")] + public IList RecordList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsResponse.cs new file mode 100644 index 00000000..56909747 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsResponse.cs @@ -0,0 +1,28 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/add_records 接口的响应。 + /// + public class CgibinWedocSmartSheetAddRecordsResponse : WechatWorkResponse + { + public static class Types + { + public class Record + { + /// + /// 获取或设置记录 ID。 + /// + [Newtonsoft.Json.JsonProperty("record_id")] + [System.Text.Json.Serialization.JsonPropertyName("record_id")] + public string RecordId { get; set; } = default!; + } + } + + /// + /// 获取或设置记录列表。 + /// + [Newtonsoft.Json.JsonProperty("records")] + [System.Text.Json.Serialization.JsonPropertyName("records")] + public Types.Record[] RecordList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetRequest.cs new file mode 100644 index 00000000..6e168d92 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetRequest.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/add_sheet 接口的请求。 + /// + public class CgibinWedocSmartSheetAddSheetRequest : WechatWorkRequest + { + public static class Types + { + public class Sheet + { + /// + /// 获取或设置子表名称。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string? Title { get; set; } + + /// + /// 获取或设置子表下标。 + /// + [Newtonsoft.Json.JsonProperty("index")] + [System.Text.Json.Serialization.JsonPropertyName("index")] + public int Index { get; set; } + } + } + + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表信息。 + /// + [Newtonsoft.Json.JsonProperty("properties")] + [System.Text.Json.Serialization.JsonPropertyName("properties")] + public Types.Sheet Sheet { get; set; } = new Types.Sheet(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetResponse.cs new file mode 100644 index 00000000..bd4ce83f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/add_sheet 接口的响应。 + /// + public class CgibinWedocSmartSheetAddSheetResponse : WechatWorkResponse + { + public static class Types + { + public class Sheet + { + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = default!; + + /// + /// 获取或设置子表名称。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置子表下标。 + /// + [Newtonsoft.Json.JsonProperty("index")] + [System.Text.Json.Serialization.JsonPropertyName("index")] + public int Index { get; set; } + } + } + + /// + /// 获取或设置子表信息。 + /// + [Newtonsoft.Json.JsonProperty("properties")] + [System.Text.Json.Serialization.JsonPropertyName("properties")] + public Types.Sheet Sheet { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewRequest.cs new file mode 100644 index 00000000..ef092d17 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewRequest.cs @@ -0,0 +1,87 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/add_view 接口的请求。 + /// + public class CgibinWedocSmartSheetAddViewRequest : WechatWorkRequest + { + public static class Types + { + public class GanttViewProperty + { + /// + /// 获取或设置时间条起点字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("start_date_field_id")] + [System.Text.Json.Serialization.JsonPropertyName("start_date_field_id")] + public string StartDateFieldId { get; set; } = string.Empty; + + /// + /// 获取或设置时间条终点字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("end_date_field_id")] + [System.Text.Json.Serialization.JsonPropertyName("end_date_field_id")] + public string EndDateFieldId { get; set; } = string.Empty; + } + + public class CalendarViewProperty + { + /// + /// 获取或设置时间条起点字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("start_date_field_id")] + [System.Text.Json.Serialization.JsonPropertyName("start_date_field_id")] + public string StartDateFieldId { get; set; } = string.Empty; + + /// + /// 获取或设置时间条终点字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("end_date_field_id")] + [System.Text.Json.Serialization.JsonPropertyName("end_date_field_id")] + public string EndDateFieldId { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置视图名称。 + /// + [Newtonsoft.Json.JsonProperty("view_title")] + [System.Text.Json.Serialization.JsonPropertyName("view_title")] + public string ViewTitle { get; set; } = string.Empty; + + /// + /// 获取或设置视图类型。 + /// + [Newtonsoft.Json.JsonProperty("view_type")] + [System.Text.Json.Serialization.JsonPropertyName("view_type")] + public string ViewType { get; set; } = string.Empty; + + /// + /// 获取或设置甘特视图属性信息。 + /// + [Newtonsoft.Json.JsonProperty("property_gantt")] + [System.Text.Json.Serialization.JsonPropertyName("property_gantt")] + public Types.GanttViewProperty? ViewPropertyAsGantt { get; set; } + + /// + /// 获取或设置日历视图属性信息。 + /// + [Newtonsoft.Json.JsonProperty("property_calendar")] + [System.Text.Json.Serialization.JsonPropertyName("property_calendar")] + public Types.CalendarViewProperty? ViewPropertyAsCalendar { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewResponse.cs new file mode 100644 index 00000000..13f1945f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/add_view 接口的响应。 + /// + public class CgibinWedocSmartSheetAddViewResponse : WechatWorkResponse + { + public static class Types + { + public class View + { + /// + /// 获取或设置视图 ID。 + /// + [Newtonsoft.Json.JsonProperty("view_id")] + [System.Text.Json.Serialization.JsonPropertyName("view_id")] + public string ViewId { get; set; } = default!; + + /// + /// 获取或设置视图名称。 + /// + [Newtonsoft.Json.JsonProperty("view_title")] + [System.Text.Json.Serialization.JsonPropertyName("view_title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置视图类型。 + /// + [Newtonsoft.Json.JsonProperty("view_type")] + [System.Text.Json.Serialization.JsonPropertyName("view_type")] + public string Type { get; set; } = default!; + } + } + + /// + /// 获取或设置视图信息。 + /// + [Newtonsoft.Json.JsonProperty("view")] + [System.Text.Json.Serialization.JsonPropertyName("view")] + public Types.View View { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteFieldsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteFieldsRequest.cs new file mode 100644 index 00000000..09a1b22c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteFieldsRequest.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/delete_fields 接口的请求。 + /// + public class CgibinWedocSmartSheetDeleteFieldsRequest : WechatWorkRequest + { + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置字段 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("field_ids")] + [System.Text.Json.Serialization.JsonPropertyName("field_ids")] + public IList FieldIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteFieldsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteFieldsResponse.cs new file mode 100644 index 00000000..f206fd51 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteFieldsResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/delete_fields 接口的响应。 + /// + public class CgibinWedocSmartSheetDeleteFieldsResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteRecordsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteRecordsRequest.cs new file mode 100644 index 00000000..cd57ed95 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteRecordsRequest.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/delete_records 接口的请求。 + /// + public class CgibinWedocSmartSheetDeleteRecordsRequest : WechatWorkRequest + { + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置记录 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("record_ids")] + [System.Text.Json.Serialization.JsonPropertyName("record_ids")] + public IList RecordIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteRecordsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteRecordsResponse.cs new file mode 100644 index 00000000..e45c5490 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteRecordsResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/delete_records 接口的响应。 + /// + public class CgibinWedocSmartSheetDeleteRecordsResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteSheetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteSheetRequest.cs new file mode 100644 index 00000000..8375e290 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteSheetRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/delete_sheet 接口的请求。 + /// + public class CgibinWedocSmartSheetDeleteSheetRequest : WechatWorkRequest + { + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteSheetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteSheetResponse.cs new file mode 100644 index 00000000..d5a8ef09 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteSheetResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/delete_sheet 接口的响应。 + /// + public class CgibinWedocSmartSheetDeleteSheetResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteViewsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteViewsRequest.cs new file mode 100644 index 00000000..c9f351c2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteViewsRequest.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/delete_views 接口的请求。 + /// + public class CgibinWedocSmartSheetDeleteViewsRequest : WechatWorkRequest + { + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置视图 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("view_ids")] + [System.Text.Json.Serialization.JsonPropertyName("view_ids")] + public IList ViewIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteViewsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteViewsResponse.cs new file mode 100644 index 00000000..167740d2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteViewsResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/delete_views 接口的响应。 + /// + public class CgibinWedocSmartSheetDeleteViewsResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsRequest.cs new file mode 100644 index 00000000..f3d1037a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsRequest.cs @@ -0,0 +1,59 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/get_fields 接口的请求。 + /// + public class CgibinWedocSmartSheetGetFieldsRequest : WechatWorkRequest + { + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置视图 ID。 + /// + [Newtonsoft.Json.JsonProperty("view_id")] + [System.Text.Json.Serialization.JsonPropertyName("view_id")] + public string? ViewId { get; set; } + + /// + /// 获取或设置字段 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("field_ids")] + [System.Text.Json.Serialization.JsonPropertyName("field_ids")] + public IList? FieldIdList { get; set; } + + /// + /// 获取或设置字段标题列表。 + /// + [Newtonsoft.Json.JsonProperty("field_titles")] + [System.Text.Json.Serialization.JsonPropertyName("field_titles")] + public IList? FieldTitleList { get; set; } + + /// + /// 获取或设置分页起始位置。 + /// + [Newtonsoft.Json.JsonProperty("offset")] + [System.Text.Json.Serialization.JsonPropertyName("offset")] + public int? Offset { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int? Limit { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsResponse.cs new file mode 100644 index 00000000..b0e896cc --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsResponse.cs @@ -0,0 +1,480 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/get_fields 接口的响应。 + /// + public class CgibinWedocSmartSheetGetFieldsResponse : WechatWorkResponse + { + public static class Types + { + public class Field + { + public static class Types + { + public class TextFieldProperty + { + } + + public class NumberFieldProperty + { + /// + /// 获取或设置小数点的位数。 + /// + [Newtonsoft.Json.JsonProperty("decimal_places")] + [System.Text.Json.Serialization.JsonPropertyName("decimal_places")] + public int DecimalPlaces { get; set; } + + /// + /// 获取或设置是否使用千位符。 + /// + [Newtonsoft.Json.JsonProperty("use_separate")] + [System.Text.Json.Serialization.JsonPropertyName("use_separate")] + public bool IsUseSeparate { get; set; } + } + + public class CheckboxFieldProperty + { + /// + /// 获取或设置是否默认勾选。 + /// + [Newtonsoft.Json.JsonProperty("checked")] + [System.Text.Json.Serialization.JsonPropertyName("checked")] + public bool IsChecked { get; set; } + } + + public class DateTimeFieldProperty + { + /// + /// 获取或设置日期格式字符串。 + /// + [Newtonsoft.Json.JsonProperty("format")] + [System.Text.Json.Serialization.JsonPropertyName("format")] + public string FormatString { get; set; } = default!; + + /// + /// 获取或设置是否自动填充。 + /// + [Newtonsoft.Json.JsonProperty("auto_fill")] + [System.Text.Json.Serialization.JsonPropertyName("auto_fill")] + public bool IsAutoFill { get; set; } + } + + public class AttachmentFieldProperty + { + /// + /// 获取或设置显示模式。 + /// + [Newtonsoft.Json.JsonProperty("display_mode")] + [System.Text.Json.Serialization.JsonPropertyName("display_mode")] + public string DisplayMode { get; set; } = default!; + } + + public class UserFieldProperty + { + /// + /// 获取或设置是否允许添加多个。 + /// + [Newtonsoft.Json.JsonProperty("is_multiple")] + [System.Text.Json.Serialization.JsonPropertyName("is_multiple")] + public bool IsMultiple { get; set; } + + /// + /// 获取或设置是否通知用户。 + /// + [Newtonsoft.Json.JsonProperty("is_notified")] + [System.Text.Json.Serialization.JsonPropertyName("is_notified")] + public bool IsNotified { get; set; } + } + + public class UrlFieldProperty + { + /// + /// 获取或设置超链接展示样式。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = default!; + } + + public class SelectFieldProperty + { + public static class Types + { + public class Option + { + /// + /// 获取或设置选项 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public string Id { get; set; } = default!; + + /// + /// 获取或设置选项内容。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public string Text { get; set; } = default!; + + /// + /// 获取或设置选项颜色。 + /// + [Newtonsoft.Json.JsonProperty("style")] + [System.Text.Json.Serialization.JsonPropertyName("style")] + public int Style { get; set; } + } + } + + /// + /// 获取或设置是否允许填写时新增选项。 + /// + [Newtonsoft.Json.JsonProperty("is_quick_add")] + [System.Text.Json.Serialization.JsonPropertyName("is_quick_add")] + public bool IsQuickAdd { get; set; } + + /// + /// 获取或设置选项列表。 + /// + [Newtonsoft.Json.JsonProperty("options")] + [System.Text.Json.Serialization.JsonPropertyName("options")] + public Types.Option[] OptionList { get; set; } = default!; + } + + public class CreatedTimeFieldProperty + { + /// + /// 获取或设置日期格式字符串。 + /// + [Newtonsoft.Json.JsonProperty("format")] + [System.Text.Json.Serialization.JsonPropertyName("format")] + public string FormatString { get; set; } = default!; + } + + public class ModifiedTimeFieldProperty + { + /// + /// 获取或设置日期格式字符串。 + /// + [Newtonsoft.Json.JsonProperty("format")] + [System.Text.Json.Serialization.JsonPropertyName("format")] + public string FormatString { get; set; } = default!; + } + + public class ProgressFieldProperty + { + /// + /// 获取或设置小数点的位数。 + /// + [Newtonsoft.Json.JsonProperty("decimal_places")] + [System.Text.Json.Serialization.JsonPropertyName("decimal_places")] + public int DecimalPlaces { get; set; } + } + + public class SingleSelectFieldProperty + { + public static class Types + { + public class Option : SelectFieldProperty.Types.Option + { + } + } + + /// + /// 获取或设置是否允许填写时新增选项。 + /// + [Newtonsoft.Json.JsonProperty("is_quick_add")] + [System.Text.Json.Serialization.JsonPropertyName("is_quick_add")] + public bool IsQuickAdd { get; set; } + + /// + /// 获取或设置选项列表。 + /// + [Newtonsoft.Json.JsonProperty("options")] + [System.Text.Json.Serialization.JsonPropertyName("options")] + public Types.Option[] OptionList { get; set; } = default!; + } + + public class ReferenceFieldProperty + { + /// + /// 获取或设置视图 ID。 + /// + [Newtonsoft.Json.JsonProperty("view_id")] + [System.Text.Json.Serialization.JsonPropertyName("view_id")] + public string Viewid { get; set; } = default!; + + /// + /// 获取或设置关联的子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sub_id")] + [System.Text.Json.Serialization.JsonPropertyName("sub_id")] + public string? SheetId { get; set; } + + /// + /// 获取或设置关联的字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string? FieldId { get; set; } + + /// + /// 获取或设置是否允许多选。 + /// + [Newtonsoft.Json.JsonProperty("is_multiple")] + [System.Text.Json.Serialization.JsonPropertyName("is_multiple")] + public bool IsMultiple { get; set; } + } + + public class LocationFieldProperty + { + /// + /// 获取或设置输入类型。 + /// + [Newtonsoft.Json.JsonProperty("input_type")] + [System.Text.Json.Serialization.JsonPropertyName("input_type")] + public string InputType { get; set; } = default!; + } + + public class AutoNumberFieldProperty + { + public static class Types + { + public class Rule + { + /// + /// 获取或设置规则类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public string Value { get; set; } = default!; + } + } + + /// + /// 获取或设置输入类型。 + /// + [Newtonsoft.Json.JsonProperty("input_type")] + [System.Text.Json.Serialization.JsonPropertyName("input_type")] + public string InputType { get; set; } = default!; + + /// + /// 获取或设置自定义规则列表。 + /// + [Newtonsoft.Json.JsonProperty("rules")] + [System.Text.Json.Serialization.JsonPropertyName("rules")] + public Types.Rule[]? RuleList { get; set; } + + /// + /// 获取或设置是否应用于已有编号。 + /// + [Newtonsoft.Json.JsonProperty("reformat_existing_record")] + [System.Text.Json.Serialization.JsonPropertyName("reformat_existing_record")] + public bool IsReformatExistingRecord { get; set; } + } + + public class CurrencyFieldProperty + { + /// + /// 获取或设置货币类型。 + /// + [Newtonsoft.Json.JsonProperty("currency_type")] + [System.Text.Json.Serialization.JsonPropertyName("currency_type")] + public string CurrencyType { get; set; } = default!; + + /// + /// 获取或设置小数点的位数。 + /// + [Newtonsoft.Json.JsonProperty("decimal_places")] + [System.Text.Json.Serialization.JsonPropertyName("decimal_places")] + public int DecimalPlaces { get; set; } + + /// + /// 获取或设置是否使用千位符。 + /// + [Newtonsoft.Json.JsonProperty("use_separate")] + [System.Text.Json.Serialization.JsonPropertyName("use_separate")] + public bool IsUseSeparate { get; set; } + } + + public class GroupChatFieldProperty + { + /// + /// 获取或设置是否允许多个群聊。 + /// + [Newtonsoft.Json.JsonProperty("allow_multiple")] + [System.Text.Json.Serialization.JsonPropertyName("allow_multiple")] + public bool IsAllowMultiple { get; set; } + } + } + + /// + /// 获取或设置字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string FieldId { get; set; } = default!; + + /// + /// 获取或设置字段名称。 + /// + [Newtonsoft.Json.JsonProperty("field_title")] + [System.Text.Json.Serialization.JsonPropertyName("field_title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置字段类型。 + /// + [Newtonsoft.Json.JsonProperty("field_type")] + [System.Text.Json.Serialization.JsonPropertyName("field_type")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置文本类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_text")] + [System.Text.Json.Serialization.JsonPropertyName("property_text")] + public Types.TextFieldProperty? PropertyAsText { get; set; } + + /// + /// 获取或设置数字类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_number")] + [System.Text.Json.Serialization.JsonPropertyName("property_number")] + public Types.NumberFieldProperty? PropertyAsNumber { get; set; } + + /// + /// 获取或设置复选框类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_checkbox")] + [System.Text.Json.Serialization.JsonPropertyName("property_checkbox")] + public Types.CheckboxFieldProperty? PropertyAsCheckbox { get; set; } + + /// + /// 获取或设置日期类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_date_time")] + [System.Text.Json.Serialization.JsonPropertyName("property_date_time")] + public Types.DateTimeFieldProperty? PropertyAsDateTime { get; set; } + + /// + /// 获取或设置文件类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_attachment")] + [System.Text.Json.Serialization.JsonPropertyName("property_attachment")] + public Types.AttachmentFieldProperty? PropertyAsAttachment { get; set; } + + /// + /// 获取或设置人员类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_user")] + [System.Text.Json.Serialization.JsonPropertyName("property_user")] + public Types.UserFieldProperty? PropertyAsUser { get; set; } + + /// + /// 获取或设置超链接类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_url")] + [System.Text.Json.Serialization.JsonPropertyName("property_url")] + public Types.UrlFieldProperty? PropertyAsUrl { get; set; } + + /// + /// 获取或设置多选类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_select")] + [System.Text.Json.Serialization.JsonPropertyName("property_select")] + public Types.SelectFieldProperty? PropertyAsSelect { get; set; } + + /// + /// 获取或设置创建时间类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_created_time")] + [System.Text.Json.Serialization.JsonPropertyName("property_created_time")] + public Types.CreatedTimeFieldProperty? PropertyAsCreatedTime { get; set; } + + /// + /// 获取或设置最后编辑时间类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_modified_time")] + [System.Text.Json.Serialization.JsonPropertyName("property_modified_time")] + public Types.ModifiedTimeFieldProperty? PropertyAsModifiedTime { get; set; } + + /// + /// 获取或设置进度类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_progress")] + [System.Text.Json.Serialization.JsonPropertyName("property_progress")] + public Types.ProgressFieldProperty? PropertyAsProgress { get; set; } + + /// + /// 获取或设置单选类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_single_select")] + [System.Text.Json.Serialization.JsonPropertyName("property_single_select")] + public Types.SingleSelectFieldProperty? PropertyAsSingleSelect { get; set; } + + /// + /// 获取或设置引用类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_reference")] + [System.Text.Json.Serialization.JsonPropertyName("property_reference")] + public Types.ReferenceFieldProperty? PropertyAsReference { get; set; } + + /// + /// 获取或设置地理位置类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_location")] + [System.Text.Json.Serialization.JsonPropertyName("property_location")] + public Types.LocationFieldProperty? PropertyAsLocation { get; set; } + + /// + /// 获取或设置自动编号类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_auto_number")] + [System.Text.Json.Serialization.JsonPropertyName("property_auto_number")] + public Types.AutoNumberFieldProperty? PropertyAsAutoNumber { get; set; } + + /// + /// 获取或设置货币类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_currency")] + [System.Text.Json.Serialization.JsonPropertyName("property_currency")] + public Types.CurrencyFieldProperty? PropertyAsCurrency { get; set; } + + /// + /// 获取或设置群类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_ww_group")] + [System.Text.Json.Serialization.JsonPropertyName("property_ww_group")] + public Types.GroupChatFieldProperty? PropertyAsGroupChat { get; set; } + } + } + + /// + /// 获取或设置字段列表。 + /// + [Newtonsoft.Json.JsonProperty("fields")] + [System.Text.Json.Serialization.JsonPropertyName("fields")] + public Types.Field[] FieldList { get; set; } = default!; + + /// + /// 获取或设置总数量。 + /// + [Newtonsoft.Json.JsonProperty("total")] + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int TotalCount { get; set; } + + /// + /// 获取或设置下一页起始位置。 + /// + [Newtonsoft.Json.JsonProperty("next")] + [System.Text.Json.Serialization.JsonPropertyName("next")] + public int? NextOffset { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsRequest.cs new file mode 100644 index 00000000..0b690078 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsRequest.cs @@ -0,0 +1,100 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/get_records 接口的请求。 + /// + public class CgibinWedocSmartSheetGetRecordsRequest : WechatWorkRequest + { + public static class Types + { + public class SortField + { + /// + /// 获取或设置字段标题。 + /// + [Newtonsoft.Json.JsonProperty("field_title")] + [System.Text.Json.Serialization.JsonPropertyName("field_title")] + public string FieldTitle { get; set; } = string.Empty; + + /// + /// 获取或设置是否降序。 + /// + [Newtonsoft.Json.JsonProperty("desc")] + [System.Text.Json.Serialization.JsonPropertyName("desc")] + public bool IsDescend { get; set; } + } + } + + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置视图 ID。 + /// + [Newtonsoft.Json.JsonProperty("view_id")] + [System.Text.Json.Serialization.JsonPropertyName("view_id")] + public string? ViewId { get; set; } + + /// + /// 获取或设置记录 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("record_ids")] + [System.Text.Json.Serialization.JsonPropertyName("record_ids")] + public IList? RecordIdList { get; set; } + + /// + /// 获取或设置字段 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("field_ids")] + [System.Text.Json.Serialization.JsonPropertyName("field_ids")] + public IList? FieldIdList { get; set; } + + /// + /// 获取或设置字段标题列表。 + /// + [Newtonsoft.Json.JsonProperty("field_titles")] + [System.Text.Json.Serialization.JsonPropertyName("field_titles")] + public IList? FieldTitleList { get; set; } + + /// + /// 获取或设置单元格键类型。 + /// + [Newtonsoft.Json.JsonProperty("key_type")] + [System.Text.Json.Serialization.JsonPropertyName("key_type")] + public string? KeyType { get; set; } + + /// + /// 获取或设置排序字段列表。 + /// + [Newtonsoft.Json.JsonProperty("sort")] + [System.Text.Json.Serialization.JsonPropertyName("sort")] + public IList? SortFieldList { get; set; } + + /// + /// 获取或设置分页起始位置。 + /// + [Newtonsoft.Json.JsonProperty("offset")] + [System.Text.Json.Serialization.JsonPropertyName("offset")] + public int? Offset { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int? Limit { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsResponse.cs new file mode 100644 index 00000000..f917b133 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsResponse.cs @@ -0,0 +1,88 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/get_records 接口的响应。 + /// + public class CgibinWedocSmartSheetGetRecordsResponse : WechatWorkResponse + { + public static class Types + { + public class Record + { + /// + /// 获取或设置记录 ID。 + /// + [Newtonsoft.Json.JsonProperty("record_id")] + [System.Text.Json.Serialization.JsonPropertyName("record_id")] + public string RecordId { get; set; } = default!; + + /// + /// 获取或设置创建者名字。 + /// + [Newtonsoft.Json.JsonProperty("creator_name")] + [System.Text.Json.Serialization.JsonPropertyName("creator_name")] + public string CreatorName { get; set; } = default!; + + /// + /// 获取或设置最后编辑者名字。 + /// + [Newtonsoft.Json.JsonProperty("updater_name")] + [System.Text.Json.Serialization.JsonPropertyName("updater_name")] + public string UpdaterName { get; set; } = default!; + + /// + /// 获取或设置单元格值。 + /// + [Newtonsoft.Json.JsonProperty("values")] + [System.Text.Json.Serialization.JsonPropertyName("values")] + public IDictionary Values { get; set; } = default!; + + /// + /// 获取或设置创建时间毫秒级戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long CreateTimeMilliseconds { get; set; } + + /// + /// 获取或设置更新时间毫秒级戳。 + /// + [Newtonsoft.Json.JsonProperty("update_time")] + [System.Text.Json.Serialization.JsonPropertyName("update_time")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long UpdateTimeMilliseconds { get; set; } + } + } + + /// + /// 获取或设置记录列表。 + /// + [Newtonsoft.Json.JsonProperty("records")] + [System.Text.Json.Serialization.JsonPropertyName("records")] + public Types.Record[] RecordList { get; set; } = default!; + + /// + /// 获取或设置总数量。 + /// + [Newtonsoft.Json.JsonProperty("total")] + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int TotalCount { get; set; } + + /// + /// 获取或设置下一页起始位置。 + /// + [Newtonsoft.Json.JsonProperty("next")] + [System.Text.Json.Serialization.JsonPropertyName("next")] + public int? NextOffset { get; set; } + + /// + /// 获取或设置是否还有更多数据。 + /// + [Newtonsoft.Json.JsonProperty("has_more")] + [System.Text.Json.Serialization.JsonPropertyName("has_more")] + public bool HasMore { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetRequest.cs new file mode 100644 index 00000000..9dd7d805 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/get_sheet 接口的请求。 + /// + public class CgibinWedocSmartSheetGetSheetRequest : WechatWorkRequest + { + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string? SheetId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetResponse.cs new file mode 100644 index 00000000..f7639695 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/get_sheet 接口的响应。 + /// + public class CgibinWedocSmartSheetGetSheetResponse : WechatWorkResponse + { + public static class Types + { + public class Sheet + { + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = default!; + + /// + /// 获取或设置子表名称。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置是否可见。 + /// + [Newtonsoft.Json.JsonProperty("is_visible")] + [System.Text.Json.Serialization.JsonPropertyName("is_visible")] + public bool IsVisible { get; set; } + } + } + + /// + /// 获取或设置子表列表。 + /// + [Newtonsoft.Json.JsonProperty("sheet_list")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_list")] + public Types.Sheet[] SheetList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsRequest.cs new file mode 100644 index 00000000..b7442171 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsRequest.cs @@ -0,0 +1,45 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/get_views 接口的请求。 + /// + public class CgibinWedocSmartSheetGetViewsRequest : WechatWorkRequest + { + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置视图 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("view_ids")] + [System.Text.Json.Serialization.JsonPropertyName("view_ids")] + public IList? ViewIdList { get; set; } + + /// + /// 获取或设置分页起始位置。 + /// + [Newtonsoft.Json.JsonProperty("offset")] + [System.Text.Json.Serialization.JsonPropertyName("offset")] + public int? Offset { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int? Limit { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsResponse.cs new file mode 100644 index 00000000..183d5135 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsResponse.cs @@ -0,0 +1,342 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/get_views 接口的响应。 + /// + public class CgibinWedocSmartSheetGetViewsResponse : WechatWorkResponse + { + public static class Types + { + public class View + { + public static class Types + { + public class ViewProperty + { + public static class Types + { + public class SortSpec + { + public static class Types + { + public class SortField + { + /// + /// 获取或设置字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string FieldId { get; set; } = default!; + + /// + /// 获取或设置是否降序。 + /// + [Newtonsoft.Json.JsonProperty("desc")] + [System.Text.Json.Serialization.JsonPropertyName("desc")] + public bool IsDescend { get; set; } + } + } + + /// + /// 获取或设置排序字段列表。 + /// + [Newtonsoft.Json.JsonProperty("sort_infos")] + [System.Text.Json.Serialization.JsonPropertyName("sort_infos")] + public Types.SortField[] SortFieldList { get; set; } = default!; + } + + public class GroupSpec + { + public static class Types + { + public class GroupField + { + /// + /// 获取或设置字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string FieldId { get; set; } = default!; + + /// + /// 获取或设置是否降序。 + /// + [Newtonsoft.Json.JsonProperty("desc")] + [System.Text.Json.Serialization.JsonPropertyName("desc")] + public bool IsDescend { get; set; } + } + } + + /// + /// 获取或设置分组字段列表。 + /// + [Newtonsoft.Json.JsonProperty("groups")] + [System.Text.Json.Serialization.JsonPropertyName("groups")] + public Types.GroupField[] GroupFieldList { get; set; } = default!; + } + + public class FilterSpec + { + public static class Types + { + public class Condition + { + public static class Types + { + public class StringValue + { + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public string[] Value { get; set; } = default!; + } + + public class NumberValue + { + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public decimal Value { get; set; } + } + + public class BoolValue + { + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public bool Value { get; set; } + } + + public class UserValue + { + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public string[] Value { get; set; } = default!; + } + + public class DateTimeValue + { + public static class Types + { + public class Value + { + /// + /// 获取或设置日期类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置日期时间值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public string[]? DateTimes { get; set; } + } + } + + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public Types.Value Value { get; set; } = default!; + } + } + + /// + /// 获取或设置字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string FieldId { get; set; } = default!; + + /// + /// 获取或设置字段类型。 + /// + [Newtonsoft.Json.JsonProperty("field_type")] + [System.Text.Json.Serialization.JsonPropertyName("field_type")] + public string FieldType { get; set; } = default!; + + /// + /// 获取或设置判断类型。 + /// + [Newtonsoft.Json.JsonProperty("operator")] + [System.Text.Json.Serialization.JsonPropertyName("operator")] + public string Operator { get; set; } = default!; + + /// + /// 获取或设置文本值。 + /// + [Newtonsoft.Json.JsonProperty("string_value")] + [System.Text.Json.Serialization.JsonPropertyName("string_value")] + public Types.StringValue? StringValue { get; set; } + + /// + /// 获取或设置数字值。 + /// + [Newtonsoft.Json.JsonProperty("number_value")] + [System.Text.Json.Serialization.JsonPropertyName("number_value")] + public Types.NumberValue? NumberValue { get; set; } + + /// + /// 获取或设置布尔值。 + /// + [Newtonsoft.Json.JsonProperty("bool_value")] + [System.Text.Json.Serialization.JsonPropertyName("bool_value")] + public Types.BoolValue? BoolValue { get; set; } + + /// + /// 获取或设置人员值。 + /// + [Newtonsoft.Json.JsonProperty("user_value")] + [System.Text.Json.Serialization.JsonPropertyName("user_value")] + public Types.UserValue? UserValue { get; set; } + + /// + /// 获取或设置日期时间值。 + /// + [Newtonsoft.Json.JsonProperty("date_time_value")] + [System.Text.Json.Serialization.JsonPropertyName("date_time_value")] + public Types.DateTimeValue? DateTimeValue { get; set; } + } + } + + /// + /// 获取或设置条件连词。 + /// + [Newtonsoft.Json.JsonProperty("conjunction")] + [System.Text.Json.Serialization.JsonPropertyName("conjunction")] + public string Conjunction { get; set; } = default!; + + /// + /// 获取或设置条件列表。 + /// + [Newtonsoft.Json.JsonProperty("conditions")] + [System.Text.Json.Serialization.JsonPropertyName("conditions")] + public Types.Condition[] ConditionList { get; set; } = default!; + } + } + + /// + /// 获取或设置是否自动重新排序。 + /// + [Newtonsoft.Json.JsonProperty("auto_sort")] + [System.Text.Json.Serialization.JsonPropertyName("auto_sort")] + public bool IsAutoSort { get; set; } + + /// + /// 获取或设置是否使用数据统计。 + /// + [Newtonsoft.Json.JsonProperty("is_field_stat_enabled")] + [System.Text.Json.Serialization.JsonPropertyName("is_field_stat_enabled")] + public bool IsFieldStatEnabled { get; set; } + + /// + /// 获取或设置排序设置。 + /// + [Newtonsoft.Json.JsonProperty("sort_spec")] + [System.Text.Json.Serialization.JsonPropertyName("sort_spec")] + public Types.SortSpec SortSpec { get; set; } = default!; + + /// + /// 获取或设置分组设置。 + /// + [Newtonsoft.Json.JsonProperty("group_spec")] + [System.Text.Json.Serialization.JsonPropertyName("group_spec")] + public Types.GroupSpec GroupSpec { get; set; } = default!; + + /// + /// 获取或设置过滤设置。 + /// + [Newtonsoft.Json.JsonProperty("filter_spec")] + [System.Text.Json.Serialization.JsonPropertyName("filter_spec")] + public Types.FilterSpec FilterSpec { get; set; } = default!; + + /// + /// 获取或设置字段可见性字典。 + /// + [Newtonsoft.Json.JsonProperty("field_visibility")] + [System.Text.Json.Serialization.JsonPropertyName("field_visibility")] + public IDictionary FieldVisibilityMap { get; set; } = default!; + + /// + /// 获取或设置冻结列数量。 + /// + [Newtonsoft.Json.JsonProperty("frozen_field_count")] + [System.Text.Json.Serialization.JsonPropertyName("frozen_field_count")] + public int FrozenFieldCount { get; set; } + } + } + + /// + /// 获取或设置视图 ID。 + /// + [Newtonsoft.Json.JsonProperty("view_id")] + [System.Text.Json.Serialization.JsonPropertyName("view_id")] + public string ViewId { get; set; } = default!; + + /// + /// 获取或设置视图名称。 + /// + [Newtonsoft.Json.JsonProperty("view_title")] + [System.Text.Json.Serialization.JsonPropertyName("view_title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置视图类型。 + /// + [Newtonsoft.Json.JsonProperty("view_type")] + [System.Text.Json.Serialization.JsonPropertyName("view_type")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置视图属性信息。 + /// + [Newtonsoft.Json.JsonProperty("property")] + [System.Text.Json.Serialization.JsonPropertyName("property")] + public Types.ViewProperty Property { get; set; } = default!; + } + } + + /// + /// 获取或设置视图列表。 + /// + [Newtonsoft.Json.JsonProperty("views")] + [System.Text.Json.Serialization.JsonPropertyName("views")] + public Types.View[] ViewList { get; set; } = default!; + + /// + /// 获取或设置总数量。 + /// + [Newtonsoft.Json.JsonProperty("total")] + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int TotalCount { get; set; } + + /// + /// 获取或设置下一页起始位置。 + /// + [Newtonsoft.Json.JsonProperty("next")] + [System.Text.Json.Serialization.JsonPropertyName("next")] + public int? NextOffset { get; set; } + + /// + /// 获取或设置是否还有更多数据。 + /// + [Newtonsoft.Json.JsonProperty("has_more")] + [System.Text.Json.Serialization.JsonPropertyName("has_more")] + public bool HasMore { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateFieldsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateFieldsRequest.cs new file mode 100644 index 00000000..d9225b25 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateFieldsRequest.cs @@ -0,0 +1,266 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/update_fields 接口的请求。 + /// + public class CgibinWedocSmartSheetUpdateFieldsRequest : WechatWorkRequest + { + public static class Types + { + public class Field + { + public static class Types + { + public class TextFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.TextFieldProperty + { + } + + public class NumberFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.NumberFieldProperty + { + } + + public class CheckboxFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.CheckboxFieldProperty + { + } + + public class DateTimeFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.DateTimeFieldProperty + { + } + + public class AttachmentFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.AttachmentFieldProperty + { + } + + public class UserFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.UserFieldProperty + { + } + + public class UrlFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.UrlFieldProperty + { + } + + public class SelectFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.SelectFieldProperty + { + public static new class Types + { + public class Option : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.SelectFieldProperty.Types.Option + { + } + } + } + + public class CreatedTimeFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.CreatedTimeFieldProperty + { + } + + public class ModifiedTimeFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.ModifiedTimeFieldProperty + { + } + + public class ProgressFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.ProgressFieldProperty + { + } + + public class SingleSelectFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.SingleSelectFieldProperty + { + public static new class Types + { + public class Option : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.SingleSelectFieldProperty.Types.Option + { + } + } + } + + public class ReferenceFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.ReferenceFieldProperty + { + } + + public class LocationFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.LocationFieldProperty + { + } + + public class AutoNumberFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.AutoNumberFieldProperty + { + public static new class Types + { + public class Rule : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.AutoNumberFieldProperty.Types.Rule + { + } + } + } + + public class CurrencyFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.CurrencyFieldProperty + { + } + + public class GroupChatFieldProperty : CgibinWedocSmartSheetAddFieldsRequest.Types.Field.Types.GroupChatFieldProperty + { + } + } + + /// + /// 获取或设置字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string FieldId { get; set; } = string.Empty; + + /// + /// 获取或设置字段名称。 + /// + [Newtonsoft.Json.JsonProperty("field_title")] + [System.Text.Json.Serialization.JsonPropertyName("field_title")] + public string? Title { get; set; } + + /// + /// 获取或设置字段类型。 + /// + [Newtonsoft.Json.JsonProperty("field_type")] + [System.Text.Json.Serialization.JsonPropertyName("field_type")] + public string Type { get; set; } = string.Empty; + + /// + /// 获取或设置文本类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_text")] + [System.Text.Json.Serialization.JsonPropertyName("property_text")] + public Types.TextFieldProperty? PropertyAsText { get; set; } + + /// + /// 获取或设置数字类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_number")] + [System.Text.Json.Serialization.JsonPropertyName("property_number")] + public Types.NumberFieldProperty? PropertyAsNumber { get; set; } + + /// + /// 获取或设置复选框类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_checkbox")] + [System.Text.Json.Serialization.JsonPropertyName("property_checkbox")] + public Types.CheckboxFieldProperty? PropertyAsCheckbox { get; set; } + + /// + /// 获取或设置日期类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_date_time")] + [System.Text.Json.Serialization.JsonPropertyName("property_date_time")] + public Types.DateTimeFieldProperty? PropertyAsDateTime { get; set; } + + /// + /// 获取或设置文件类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_attachment")] + [System.Text.Json.Serialization.JsonPropertyName("property_attachment")] + public Types.AttachmentFieldProperty? PropertyAsAttachment { get; set; } + + /// + /// 获取或设置人员类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_user")] + [System.Text.Json.Serialization.JsonPropertyName("property_user")] + public Types.UserFieldProperty? PropertyAsUser { get; set; } + + /// + /// 获取或设置超链接类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_url")] + [System.Text.Json.Serialization.JsonPropertyName("property_url")] + public Types.UrlFieldProperty? PropertyAsUrl { get; set; } + + /// + /// 获取或设置多选类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_select")] + [System.Text.Json.Serialization.JsonPropertyName("property_select")] + public Types.SelectFieldProperty? PropertyAsSelect { get; set; } + + /// + /// 获取或设置创建时间类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_created_time")] + [System.Text.Json.Serialization.JsonPropertyName("property_created_time")] + public Types.CreatedTimeFieldProperty? PropertyAsCreatedTime { get; set; } + + /// + /// 获取或设置最后编辑时间类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_modified_time")] + [System.Text.Json.Serialization.JsonPropertyName("property_modified_time")] + public Types.ModifiedTimeFieldProperty? PropertyAsModifiedTime { get; set; } + + /// + /// 获取或设置进度类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_progress")] + [System.Text.Json.Serialization.JsonPropertyName("property_progress")] + public Types.ProgressFieldProperty? PropertyAsProgress { get; set; } + + /// + /// 获取或设置单选类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_single_select")] + [System.Text.Json.Serialization.JsonPropertyName("property_single_select")] + public Types.SingleSelectFieldProperty? PropertyAsSingleSelect { get; set; } + + /// + /// 获取或设置引用类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_reference")] + [System.Text.Json.Serialization.JsonPropertyName("property_reference")] + public Types.ReferenceFieldProperty? PropertyAsReference { get; set; } + + /// + /// 获取或设置地理位置类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_location")] + [System.Text.Json.Serialization.JsonPropertyName("property_location")] + public Types.LocationFieldProperty? PropertyAsLocation { get; set; } + + /// + /// 获取或设置自动编号类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_auto_number")] + [System.Text.Json.Serialization.JsonPropertyName("property_auto_number")] + public Types.AutoNumberFieldProperty? PropertyAsAutoNumber { get; set; } + + /// + /// 获取或设置货币类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_currency")] + [System.Text.Json.Serialization.JsonPropertyName("property_currency")] + public Types.CurrencyFieldProperty? PropertyAsCurrency { get; set; } + + /// + /// 获取或设置群类型的字段属性。 + /// + [Newtonsoft.Json.JsonProperty("property_ww_group")] + [System.Text.Json.Serialization.JsonPropertyName("property_ww_group")] + public Types.GroupChatFieldProperty? PropertyAsGroupChat { get; set; } + } + } + + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置字段列表。 + /// + [Newtonsoft.Json.JsonProperty("fields")] + [System.Text.Json.Serialization.JsonPropertyName("fields")] + public IList FieldList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateFieldsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateFieldsResponse.cs new file mode 100644 index 00000000..fefdd507 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateFieldsResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/update_fields 接口的响应。 + /// + public class CgibinWedocSmartSheetUpdateFieldsResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateRecordsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateRecordsRequest.cs new file mode 100644 index 00000000..b277205d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateRecordsRequest.cs @@ -0,0 +1,58 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/update_records 接口的请求。 + /// + public class CgibinWedocSmartSheetUpdateRecordsRequest : WechatWorkRequest + { + public static class Types + { + public class Record + { + /// + /// 获取或设置记录 ID。 + /// + [Newtonsoft.Json.JsonProperty("record_id")] + [System.Text.Json.Serialization.JsonPropertyName("record_id")] + public string RecordId { get; set; } = string.Empty; + + /// + /// 获取或设置单元格值。 + /// + [Newtonsoft.Json.JsonProperty("values")] + [System.Text.Json.Serialization.JsonPropertyName("values")] + public IDictionary Values { get; set; } = new Dictionary(); + } + } + + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置单元格键类型。 + /// + [Newtonsoft.Json.JsonProperty("key_type")] + [System.Text.Json.Serialization.JsonPropertyName("key_type")] + public string? KeyType { get; set; } + + /// + /// 获取或设置记录列表。 + /// + [Newtonsoft.Json.JsonProperty("records")] + [System.Text.Json.Serialization.JsonPropertyName("records")] + public IList RecordList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateRecordsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateRecordsResponse.cs new file mode 100644 index 00000000..23902fc8 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateRecordsResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/update_records 接口的响应。 + /// + public class CgibinWedocSmartSheetUpdateRecordsResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateSheetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateSheetRequest.cs new file mode 100644 index 00000000..aedca067 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateSheetRequest.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/update_sheet 接口的请求。 + /// + public class CgibinWedocSmartSheetUpdateSheetRequest : WechatWorkRequest + { + public static class Types + { + public class Sheet + { + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置子表名称。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string? Title { get; set; } + } + } + + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表信息。 + /// + [Newtonsoft.Json.JsonProperty("properties")] + [System.Text.Json.Serialization.JsonPropertyName("properties")] + public Types.Sheet Sheet { get; set; } = new Types.Sheet(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateSheetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateSheetResponse.cs new file mode 100644 index 00000000..b706a154 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateSheetResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/update_sheet 接口的响应。 + /// + public class CgibinWedocSmartSheetUpdateSheetResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateViewRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateViewRequest.cs new file mode 100644 index 00000000..54ec0d08 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateViewRequest.cs @@ -0,0 +1,308 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/update_view 接口的请求。 + /// + public class CgibinWedocSmartSheetUpdateViewRequest : WechatWorkRequest + { + public static class Types + { + public class ViewProperty + { + public static class Types + { + public class SortSpec + { + public static class Types + { + public class SortField + { + /// + /// 获取或设置字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string FieldId { get; set; } = string.Empty; + + /// + /// 获取或设置是否降序。 + /// + [Newtonsoft.Json.JsonProperty("desc")] + [System.Text.Json.Serialization.JsonPropertyName("desc")] + public bool? IsDescend { get; set; } + } + } + + /// + /// 获取或设置排序字段列表。 + /// + [Newtonsoft.Json.JsonProperty("sort_infos")] + [System.Text.Json.Serialization.JsonPropertyName("sort_infos")] + public IList SortFieldList { get; set; } = new List(); + } + + public class GroupSpec + { + public static class Types + { + public class GroupField + { + /// + /// 获取或设置字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string FieldId { get; set; } = string.Empty; + + /// + /// 获取或设置是否降序。 + /// + [Newtonsoft.Json.JsonProperty("desc")] + [System.Text.Json.Serialization.JsonPropertyName("desc")] + public bool? IsDescend { get; set; } + } + } + + /// + /// 获取或设置分组字段列表。 + /// + [Newtonsoft.Json.JsonProperty("groups")] + [System.Text.Json.Serialization.JsonPropertyName("groups")] + public IList GroupFieldList { get; set; } = new List(); + } + + public class FilterSpec + { + public static class Types + { + public class Condition + { + public static class Types + { + public class StringValue + { + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public IList Value { get; set; } = new List(); + } + + public class NumberValue + { + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public decimal Value { get; set; } + } + + public class BoolValue + { + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public bool Value { get; set; } + } + + public class UserValue + { + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public IList Value { get; set; } = new List(); + } + + public class DateTimeValue + { + public static class Types + { + public class Value + { + /// + /// 获取或设置日期类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = string.Empty; + + /// + /// 获取或设置日期时间值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public IList? DateTimes { get; set; } + } + } + + /// + /// 获取或设置值。 + /// + [Newtonsoft.Json.JsonProperty("value")] + [System.Text.Json.Serialization.JsonPropertyName("value")] + public Types.Value Value { get; set; } = new Types.Value(); + } + } + + /// + /// 获取或设置字段 ID。 + /// + [Newtonsoft.Json.JsonProperty("field_id")] + [System.Text.Json.Serialization.JsonPropertyName("field_id")] + public string FieldId { get; set; } = string.Empty; + + /// + /// 获取或设置判断类型。 + /// + [Newtonsoft.Json.JsonProperty("operator")] + [System.Text.Json.Serialization.JsonPropertyName("operator")] + public string Operator { get; set; } = string.Empty; + + /// + /// 获取或设置文本值。 + /// + [Newtonsoft.Json.JsonProperty("string_value")] + [System.Text.Json.Serialization.JsonPropertyName("string_value")] + public Types.StringValue? StringValue { get; set; } + + /// + /// 获取或设置数字值。 + /// + [Newtonsoft.Json.JsonProperty("number_value")] + [System.Text.Json.Serialization.JsonPropertyName("number_value")] + public Types.NumberValue? NumberValue { get; set; } + + /// + /// 获取或设置布尔值。 + /// + [Newtonsoft.Json.JsonProperty("bool_value")] + [System.Text.Json.Serialization.JsonPropertyName("bool_value")] + public Types.BoolValue? BoolValue { get; set; } + + /// + /// 获取或设置人员值。 + /// + [Newtonsoft.Json.JsonProperty("user_value")] + [System.Text.Json.Serialization.JsonPropertyName("user_value")] + public Types.UserValue? UserValue { get; set; } + + /// + /// 获取或设置日期时间值。 + /// + [Newtonsoft.Json.JsonProperty("date_time_value")] + [System.Text.Json.Serialization.JsonPropertyName("date_time_value")] + public Types.DateTimeValue? DateTimeValue { get; set; } + } + } + + /// + /// 获取或设置条件连词。 + /// + [Newtonsoft.Json.JsonProperty("conjunction")] + [System.Text.Json.Serialization.JsonPropertyName("conjunction")] + public string Conjunction { get; set; } = string.Empty; + + /// + /// 获取或设置条件列表。 + /// + [Newtonsoft.Json.JsonProperty("conditions")] + [System.Text.Json.Serialization.JsonPropertyName("conditions")] + public IList ConditionList { get; set; } = new List(); + } + } + + /// + /// 获取或设置是否自动重新排序。 + /// + [Newtonsoft.Json.JsonProperty("auto_sort")] + [System.Text.Json.Serialization.JsonPropertyName("auto_sort")] + public bool? IsAutoSort { get; set; } + + /// + /// 获取或设置是否使用数据统计。 + /// + [Newtonsoft.Json.JsonProperty("is_field_stat_enabled")] + [System.Text.Json.Serialization.JsonPropertyName("is_field_stat_enabled")] + public bool? IsFieldStatEnabled { get; set; } + + /// + /// 获取或设置排序设置。 + /// + [Newtonsoft.Json.JsonProperty("sort_spec")] + [System.Text.Json.Serialization.JsonPropertyName("sort_spec")] + public Types.SortSpec? SortSpec { get; set; } + + /// + /// 获取或设置分组设置。 + /// + [Newtonsoft.Json.JsonProperty("group_spec")] + [System.Text.Json.Serialization.JsonPropertyName("group_spec")] + public Types.GroupSpec? GroupSpec { get; set; } + + /// + /// 获取或设置过滤设置。 + /// + [Newtonsoft.Json.JsonProperty("filter_spec")] + [System.Text.Json.Serialization.JsonPropertyName("filter_spec")] + public Types.FilterSpec? FilterSpec { get; set; } + + /// + /// 获取或设置字段可见性字典。 + /// + [Newtonsoft.Json.JsonProperty("field_visibility")] + [System.Text.Json.Serialization.JsonPropertyName("field_visibility")] + public IDictionary? FieldVisibilityMap { get; set; } = default!; + + /// + /// 获取或设置冻结列数量。 + /// + [Newtonsoft.Json.JsonProperty("frozen_field_count")] + [System.Text.Json.Serialization.JsonPropertyName("frozen_field_count")] + public int? FrozenFieldCount { get; set; } + } + } + + /// + /// 获取或设置文档 ID。 + /// + [Newtonsoft.Json.JsonProperty("docid")] + [System.Text.Json.Serialization.JsonPropertyName("docid")] + public string DocumentId { get; set; } = string.Empty; + + /// + /// 获取或设置子表 ID。 + /// + [Newtonsoft.Json.JsonProperty("sheet_id")] + [System.Text.Json.Serialization.JsonPropertyName("sheet_id")] + public string SheetId { get; set; } = string.Empty; + + /// + /// 获取或设置视图 ID。 + /// + [Newtonsoft.Json.JsonProperty("view_id")] + [System.Text.Json.Serialization.JsonPropertyName("view_id")] + public string ViewId { get; set; } = string.Empty; + + /// + /// 获取或设置视图名称。 + /// + [Newtonsoft.Json.JsonProperty("view_title")] + [System.Text.Json.Serialization.JsonPropertyName("view_title")] + public string? ViewTitle { get; set; } + + /// + /// 获取或设置视图属性信息。 + /// + [Newtonsoft.Json.JsonProperty("property")] + [System.Text.Json.Serialization.JsonPropertyName("property")] + public Types.ViewProperty? ViewProperty { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateViewResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateViewResponse.cs new file mode 100644 index 00000000..619f72ce --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateViewResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/wedoc/smartsheet/update_view 接口的响应。 + /// + public class CgibinWedocSmartSheetUpdateViewResponse : WechatWorkResponse + { + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsRequest.json new file mode 100644 index 00000000..837a5a49 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsRequest.json @@ -0,0 +1,10 @@ +{ + "docid": "DOCID", + "sheet_id": "SHEETID", + "fields": [ + { + "field_title": "TITLE", + "field_type": "FIELD_TYPE_TEXT" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsResponse.json new file mode 100644 index 00000000..6d551416 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddFieldsResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "fields": [ + { + "field_id": "FIELDID", + "field_title": "TITLE", + "field_type": "FIELD_TYPE_TEXT" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsRequest.json new file mode 100644 index 00000000..30e6457c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsRequest.json @@ -0,0 +1,17 @@ +{ + "docid": "DOCID", + "sheet_id": "123Abc", + "key_type": "CELL_VALUE_KEY_TYPE_FIELD_TITLE", + "records": [ + { + "values": { + "FILED_TITLE": [ + { + "type": "text", + "text": "文本内容" + } + ] + } + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsResponse.json new file mode 100644 index 00000000..3ebd1a29 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddRecordsResponse.json @@ -0,0 +1,6 @@ +{ + "errcode": 0, + "errmsg": "ok", + "records": [ + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetRequest.json new file mode 100644 index 00000000..523b38b8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetRequest.json @@ -0,0 +1,7 @@ +{ + "docid": "DOCID", + "properties": { + "title": "智能表", + "index": 3 + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetResponse.json new file mode 100644 index 00000000..63e455c0 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddSheetResponse.json @@ -0,0 +1,9 @@ +{ + "errcode": 0, + "errmsg": "ok", + "properties": { + "title": "智能表", + "index": 3, + "sheet_id": "123abc" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewRequest.json new file mode 100644 index 00000000..84d101b5 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewRequest.json @@ -0,0 +1,6 @@ +{ + "docid": "DOCID", + "sheet_id": "123Abc", + "view_title": "XXX", + "view_type": "VIEW_TYPE_GRID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewResponse.json new file mode 100644 index 00000000..ccf88441 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetAddViewResponse.json @@ -0,0 +1,9 @@ +{ + "errcode": 0, + "errmsg": "ok", + "view": { + "view_id": "vFYZUS", + "view_title": "XXX", + "view_type": "VIEW_TYPE_GRID" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteFieldsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteFieldsRequest.json new file mode 100644 index 00000000..b38c9976 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteFieldsRequest.json @@ -0,0 +1,7 @@ +{ + "docid": "DOCID", + "sheet_id": "SHEETID", + "field_ids": [ + "FIELDID" + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteRecordsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteRecordsRequest.json new file mode 100644 index 00000000..e64dd223 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteRecordsRequest.json @@ -0,0 +1,8 @@ +{ + "docid": "DOCID", + "sheet_id": "123Abc", + "record_ids": [ + "re9IqD", + "rpS0P9" + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteSheetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteSheetRequest.json new file mode 100644 index 00000000..1ac4da0c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteSheetRequest.json @@ -0,0 +1,4 @@ +{ + "docid": "DOCID", + "sheet_id": "123Abc" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteViewsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteViewsRequest.json new file mode 100644 index 00000000..50ed2020 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetDeleteViewsRequest.json @@ -0,0 +1,8 @@ +{ + "docid": "DOCID", + "sheet_id": "123Abc", + "view_ids": [ + "VIEWID1", + "VIEWID2" + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsRequest.json new file mode 100644 index 00000000..622edb25 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsRequest.json @@ -0,0 +1,6 @@ +{ + "docid": "DOCID", + "sheet_id": "SHEETID", + "offset": 0, + "limit": 10 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsResponse.json new file mode 100644 index 00000000..f8ef2ffc --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetFieldsResponse.json @@ -0,0 +1,12 @@ +{ + "errcode": 0, + "errmsg": "ok", + "total": 1, + "fields": [ + { + "field_id": "ID1", + "field_title": "TITLE1", + "field_type": "FIELD_TYPE_TEXT" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsRequest.json new file mode 100644 index 00000000..a1ca34be --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsRequest.json @@ -0,0 +1,21 @@ +{ + "docid": "DOCID", + "sheet_id": "123Abc", + "view_id": "vCRl8n", + "record_ids": [], + "key_type": "CELL_VALUE_KEY_TYPE_FIELD_TITLE", + "field_titles": [], + "field_ids": [], + "sort": [ + { + "field_title": "文本列", + "desc": true + }, + { + "field_title": "数字列", + "desc": false + } + ], + "offset": 0, + "limit": 100 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsResponse.json new file mode 100644 index 00000000..ea3c099d --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetRecordsResponse.json @@ -0,0 +1,25 @@ +{ + "errcode": 0, + "errmsg": "ok", + "total": 0, + "has_more": true, + "next": 0, + "records": [ + { + "record_id": "r5ud8u", + "create_time": "1715846245084", + "update_time": "1715846248810", + "values": { + "文本字段1-标题": [ + { + "type": "text", + "text": "XXXX" + } + ], + "数字字段1-标题": 123 + }, + "creator_name": "NAME", + "updater_name": "NAME" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetRequest.json new file mode 100644 index 00000000..e686b492 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetRequest.json @@ -0,0 +1,4 @@ +{ + "docid": "DOCID", + "sheet_id": "xxx" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetResponse.json new file mode 100644 index 00000000..30d11093 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetSheetResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "sheet_list": [ + { + "sheet_id": "123Abc", + "title": "XXXX", + "is_visible": true + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsRequest.json new file mode 100644 index 00000000..06c7b093 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsRequest.json @@ -0,0 +1,10 @@ +{ + "docid": "DOCID", + "sheet_id": "ezPcdA", + "view_ids": [ + "vPpw9C", + "vfM2tt" + ], + "offset": 0, + "limit": 1 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsResponse.json new file mode 100644 index 00000000..9dc01b28 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetGetViewsResponse.json @@ -0,0 +1,70 @@ +{ + "errcode": 0, + "errmsg": "ok", + "total": 2, + "has_more": true, + "next": 1, + "views": [ + { + "view_id": "vabcde", + "view_title": "默认视图", + "view_type": "VIEW_TYPE_GRID", + "property": { + "auto_sort": false, + "sort_spec": { + "sort_infos": [ + { + "field_id": "FIELDID1", + "desc": false + }, + { + "field_id": "FIELDID2", + "desc": true + } + ] + }, + "filter_spec": { + "conjunction": "CONJUNCTION_AND", + "conditions": [ + { + "field_id": "FIELDID1", + "field_type": "FIELD_TYPE_TEXT", + "operator": "OPERATOR_CONTAINS", + "string_value": { + "value": [ + "hello world" + ] + } + }, + { + "field_id": "FIELDID2", + "field_type": "FIELD_TYPE_USER", + "operator": "OPERATOR_IS", + "user_value": { + "value": [ "USERID1" ] + } + } + ] + }, + "group_spec": { + "groups": [ + { + "field_id": "FIELDID1", + "desc": false + }, + { + "field_id": "FIELDID2", + "desc": true + } + ] + }, + "is_field_stat_enabled": false, + "field_visibility": { + "f1gHSR": false, + "fabcde": false + }, + "frozen_field_count": 0 + } + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateFieldsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateFieldsRequest.json new file mode 100644 index 00000000..c3a29b86 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateFieldsRequest.json @@ -0,0 +1,11 @@ +{ + "docid": "DOCID", + "sheet_id": "SHEETID", + "fields": [ + { + "field_id": "FIELD_ID", + "field_title": "TITLE", + "field_type": "FIELD_TYPE_TEXT" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateSheetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateSheetRequest.json new file mode 100644 index 00000000..e7ec74eb --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateSheetRequest.json @@ -0,0 +1,7 @@ +{ + "docid": "DOCID", + "properties": { + "sheet_id": "123abc", + "title": "XXXX" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateViewRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateViewRequest.json new file mode 100644 index 00000000..25de0dbb --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinWedoc/SmartSheet/CgibinWedocSmartSheetUpdateViewRequest.json @@ -0,0 +1,58 @@ +{ + "docid": "DOCID", + "sheet_id": "123Abc", + "view_id": "VIEWID", + "view_title": "XXX", + "property": { + "auto_sort": false, + "sort_spec": { + "sort_infos": [ + { + "field_id": "FIELDID1", + "desc": false + }, + { + "field_id": "FIELDID2", + "desc": true + } + ] + }, + "filter_spec": { + "conjunction": "CONJUNCTION_AND", + "conditions": [ + { + "field_id": "FIELDID1", + "operator": "OPERATOR_CONTAINS", + "string_value": { + "value": [ "hello world" ] + } + }, + { + "field_id": "FIELDID2", + "operator": "OPERATOR_IS", + "user_value": { + "value": [ "USERID1" ] + } + } + ] + }, + "group_spec": { + "groups": [ + { + "field_id": "FIELDID1", + "desc": false + }, + { + "field_id": "FIELDID2", + "desc": true + } + ] + }, + "is_field_stat_enabled": false, + "field_visibility": { + "f1gHSR": false, + "fabcde": false + }, + "frozen_field_count": 0 + } +}