-
-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathapi_drive_sheet_condition_format_create.go
112 lines (97 loc) · 6.78 KB
/
api_drive_sheet_condition_format_create.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// Code generated by lark_sdk_gen. DO NOT EDIT.
/**
* Copyright 2022 chyroc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package lark
import (
"context"
)
// CreateSheetConditionFormat 该接口用于创建新的条件格式, 单次最多支持增加10个条件格式, 每个条件格式的设置会返回成功或者失败, 失败的情况包括各种参数的校验。
//
// doc: https://open.feishu.cn/document/ukTMukTMukTM/uATMzUjLwEzM14CMxMTN/conditionformat/condition-format-set
// new doc: https://open.feishu.cn/document/server-docs/docs/sheets-v3/conditionformat/condition-format-set
func (r *DriveService) CreateSheetConditionFormat(ctx context.Context, request *CreateSheetConditionFormatReq, options ...MethodOptionFunc) (*CreateSheetConditionFormatResp, *Response, error) {
if r.cli.mock.mockDriveCreateSheetConditionFormat != nil {
r.cli.Log(ctx, LogLevelDebug, "[lark] Drive#CreateSheetConditionFormat mock enable")
return r.cli.mock.mockDriveCreateSheetConditionFormat(ctx, request, options...)
}
req := &RawRequestReq{
Scope: "Drive",
API: "CreateSheetConditionFormat",
Method: "POST",
URL: r.cli.openBaseURL + "/open-apis/sheets/v2/spreadsheets/:spreadsheetToken/condition_formats/batch_create",
Body: request,
MethodOption: newMethodOption(options),
NeedTenantAccessToken: true,
NeedUserAccessToken: true,
}
resp := new(createSheetConditionFormatResp)
response, err := r.cli.RawRequest(ctx, req, resp)
return resp.Data, response, err
}
// MockDriveCreateSheetConditionFormat mock DriveCreateSheetConditionFormat method
func (r *Mock) MockDriveCreateSheetConditionFormat(f func(ctx context.Context, request *CreateSheetConditionFormatReq, options ...MethodOptionFunc) (*CreateSheetConditionFormatResp, *Response, error)) {
r.mockDriveCreateSheetConditionFormat = f
}
// UnMockDriveCreateSheetConditionFormat un-mock DriveCreateSheetConditionFormat method
func (r *Mock) UnMockDriveCreateSheetConditionFormat() {
r.mockDriveCreateSheetConditionFormat = nil
}
// CreateSheetConditionFormatReq ...
type CreateSheetConditionFormatReq struct {
SpreadSheetToken string `path:"spreadsheetToken" json:"-"` // spreadsheet 的 token, 获取方式见[在线表格开发指南](https://open.feishu.cn/document/ukTMukTMukTM/uATMzUjLwEzM14CMxMTN/overview)
SheetConditionFormats []*CreateSheetConditionFormatReqSheetConditionFormat `json:"sheet_condition_formats,omitempty"` // 表格的条件格式信息
}
// CreateSheetConditionFormatReqSheetConditionFormat ...
type CreateSheetConditionFormatReqSheetConditionFormat struct {
SheetID string `json:"sheet_id,omitempty"` // sheet的id
ConditionFormat *CreateSheetConditionFormatReqSheetConditionFormatConditionFormat `json:"condition_format,omitempty"` // 一个条件格式的详细信息
}
// CreateSheetConditionFormatReqSheetConditionFormatConditionFormat ...
type CreateSheetConditionFormatReqSheetConditionFormatConditionFormat struct {
Ranges []string `json:"ranges,omitempty"` // 条件格式应用的范围, 支持: sheetId(整表);sheetId!1:2(整行);sheetId!A:B(整列);sheetId!A1:B2(普通范围);sheetId!A1:C(应用至最后一行)。应用范围不能超过表格的行总数和列总数, sheetId要与参数的sheetId一致
RuleType string `json:"rule_type,omitempty"` // 条件格式规则类型, 目前只有7种: *containsBlanks(为空)、notContainsBlanks(不为空)、duplicateValues(重复值)、uniqueValues(唯一值)、cellIs(限定值范围)、containsText(包含内容)、timePeriod(日期)*
Attrs []*SheetRuleAttr `json:"attrs,omitempty"` // rule_type对应的具体属性信息, 详见 [条件格式指南](https://open.feishu.cn/document/ukTMukTMukTM/uATMzUjLwEzM14CMxMTN/conditionformat/condition-format-guide)
Style *CreateSheetConditionFormatReqSheetConditionFormatConditionFormatStyle `json:"style,omitempty"` // 条件格式样式, 只支持以下样式, 以下样式每个参数都可选, 但是不能设置空的style
}
// CreateSheetConditionFormatReqSheetConditionFormatConditionFormatStyle ...
type CreateSheetConditionFormatReqSheetConditionFormatConditionFormatStyle struct {
Font *CreateSheetConditionFormatReqSheetConditionFormatConditionFormatStyleFont `json:"font,omitempty"` // 字体样式
TextDecoration *int64 `json:"text_decoration,omitempty"` // 文本装饰, 0 默认, 1 下划线, 2 删除线, 3 下划线和删除线
ForeColor *string `json:"fore_color,omitempty"` // 字体颜色
BackColor *string `json:"back_color,omitempty"` // 背景颜色
}
// CreateSheetConditionFormatReqSheetConditionFormatConditionFormatStyleFont ...
type CreateSheetConditionFormatReqSheetConditionFormatConditionFormatStyleFont struct {
Bold *bool `json:"bold,omitempty"` // 加粗
Italic *bool `json:"italic,omitempty"` // 斜体
}
// CreateSheetConditionFormatResp ...
type CreateSheetConditionFormatResp struct {
Responses []*CreateSheetConditionFormatRespResponse `json:"responses,omitempty"` // 响应
}
// CreateSheetConditionFormatRespResponse ...
type CreateSheetConditionFormatRespResponse struct {
SheetID string `json:"sheet_id,omitempty"` // sheet的Id
CfID string `json:"cf_id,omitempty"` // 设置成功的条件格式id
ResCode int64 `json:"res_code,omitempty"` // 条件格式设置状态码, 0表示成功, 非0表示失败
ResMsg string `json:"res_msg,omitempty"` // 条件格式设置返回的状态信息, 空表示成功, 非空表示失败原因
}
// createSheetConditionFormatResp ...
type createSheetConditionFormatResp struct {
Code int64 `json:"code,omitempty"`
Msg string `json:"msg,omitempty"`
Data *CreateSheetConditionFormatResp `json:"data,omitempty"`
}