Skip to content

Commit 1a58de2

Browse files
Merge pull request #43 from larksuite/feat/delete_comment_service
delete file comment service
2 parents 75c0e08 + dc275cc commit 1a58de2

7 files changed

Lines changed: 119 additions & 204 deletions

File tree

v2/service/comment/api.go

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@ import (
1010

1111
const APIPath_CreateComment = "/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/comment/create"
1212

13-
const APIPath_CreateFileComment = "/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/file_comment/create"
14-
1513
const APIPath_DeleteComment = "/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/comment/:comment_id"
1614

1715
const APIPath_ListComments = "/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/comments"
1816

19-
const APIPath_ListFileComments = "/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/file_comments"
20-
2117
const APIPath_UpdateComment = "/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/comment/:comment_id"
2218

2319

@@ -56,30 +52,6 @@ func (a *CommentService) CreateComment(ctx context.Context, req *CreateCommentRe
5652
return resp, err
5753
}
5854

59-
/*
60-
* @name:OAPICreateFileComment
61-
* @desc:OpenAPI,创建附件评论接口
62-
*/
63-
func (a *CommentService) CreateFileComment(ctx context.Context, req *CreateFileCommentReq, options ...core.RequestOptionFunc) (*CreateFileCommentResp, error) {
64-
// 发起请求
65-
apiReq := req.apiReq
66-
apiReq.ApiPath = APIPath_CreateFileComment
67-
apiReq.HttpMethod = "POST"
68-
apiResp, err := core.Request(ctx, apiReq, a.config, options...)
69-
if err != nil {
70-
a.config.Logger.Error(ctx, fmt.Sprintf("[CreateFileComment] fail to invoke api, error: %v", err.Error()))
71-
return nil, err
72-
}
73-
// 反序列响应结果
74-
resp := &CreateFileCommentResp{APIResp: apiResp}
75-
err = apiResp.JSONUnmarshalBody(resp, a.config)
76-
if err != nil {
77-
a.config.Logger.Error(ctx, fmt.Sprintf("[CreateFileComment] fail to unmarshal response body, error: %v", err.Error()))
78-
return nil, err
79-
}
80-
return resp, err
81-
}
82-
8355
/*
8456
* @name:APIDeleteCommentForOpen
8557
* @desc:OpenAPI,删除评论接口
@@ -128,30 +100,6 @@ func (a *CommentService) ListComments(ctx context.Context, req *ListCommentsReq,
128100
return resp, err
129101
}
130102

131-
/*
132-
* @name:OAPIListFileComments
133-
* @desc:OpenAPI,分页查询附件评论接口
134-
*/
135-
func (a *CommentService) ListFileComments(ctx context.Context, req *ListFileCommentsReq, options ...core.RequestOptionFunc) (*ListFileCommentsResp, error) {
136-
// 发起请求
137-
apiReq := req.apiReq
138-
apiReq.ApiPath = APIPath_ListFileComments
139-
apiReq.HttpMethod = "GET"
140-
apiResp, err := core.Request(ctx, apiReq, a.config, options...)
141-
if err != nil {
142-
a.config.Logger.Error(ctx, fmt.Sprintf("[ListFileComments] fail to invoke api, error: %v", err.Error()))
143-
return nil, err
144-
}
145-
// 反序列响应结果
146-
resp := &ListFileCommentsResp{APIResp: apiResp}
147-
err = apiResp.JSONUnmarshalBody(resp, a.config)
148-
if err != nil {
149-
a.config.Logger.Error(ctx, fmt.Sprintf("[ListFileComments] fail to unmarshal response body, error: %v", err.Error()))
150-
return nil, err
151-
}
152-
return resp, err
153-
}
154-
155103
/*
156104
* @name:APIUpdateCommentForOpen
157105
* @desc:OpenAPI,更新评论接口

v2/service/comment/builder.go

Lines changed: 0 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ type CreateCommentReq struct {
1313
type CreateCommentReqBody struct {
1414
Content *string `json:"content,omitempty"`
1515
RichText interface{} `json:"rich_text,omitempty"`
16-
DocRichText *DocTypeRichText `json:"doc_rich_text,omitempty"`
1716
}
1817
type CreateCommentResp struct {
1918
*core.APIResp `json:"-"`
@@ -64,73 +63,12 @@ func (builder *CreateCommentReqBuilder) RichText(richText interface{}) *CreateCo
6463
builder.apiReq.Body.(*CreateCommentReqBody).RichText = richText
6564
return builder
6665
}
67-
68-
func (builder *CreateCommentReqBuilder) DocRichText(docRichText *DocTypeRichText) *CreateCommentReqBuilder {
69-
builder.apiReq.Body.(*CreateCommentReqBody).DocRichText = docRichText
70-
return builder
71-
}
7266
func (builder *CreateCommentReqBuilder) Build() *CreateCommentReq {
7367
req := &CreateCommentReq{}
7468
req.apiReq = builder.apiReq
7569
return req
7670
}
7771

78-
type CreateFileCommentReq struct {
79-
apiReq *core.APIReq
80-
}
81-
type CreateFileCommentReqBody struct {
82-
FileToken *string `json:"file_token,omitempty"`
83-
}
84-
type CreateFileCommentResp struct {
85-
*core.APIResp `json:"-"`
86-
core.CodeError
87-
Data *int64 `json:"data"`
88-
89-
}
90-
91-
type CreateFileCommentReqBuilder struct {
92-
apiReq *core.APIReq
93-
}
94-
95-
func NewCreateFileCommentReqBuilder() *CreateFileCommentReqBuilder {
96-
builder := &CreateFileCommentReqBuilder{}
97-
builder.apiReq = &core.APIReq{
98-
PathParams: core.PathParams{},
99-
QueryParams: core.QueryParams{},
100-
Body: &CreateFileCommentReqBody{},
101-
}
102-
return builder
103-
}
104-
105-
func (builder *CreateFileCommentReqBuilder) ProjectKey(projectKey string) *CreateFileCommentReqBuilder {
106-
builder.apiReq.PathParams.Set("project_key", fmt.Sprint(projectKey))
107-
return builder
108-
}
109-
110-
111-
func (builder *CreateFileCommentReqBuilder) WorkItemID(workItemID int64) *CreateFileCommentReqBuilder {
112-
builder.apiReq.PathParams.Set("work_item_id", fmt.Sprint(workItemID))
113-
return builder
114-
}
115-
116-
117-
func (builder *CreateFileCommentReqBuilder) WorkItemTypeKey(workItemTypeKey string) *CreateFileCommentReqBuilder {
118-
builder.apiReq.PathParams.Set("work_item_type_key", fmt.Sprint(workItemTypeKey))
119-
return builder
120-
}
121-
122-
123-
func (builder *CreateFileCommentReqBuilder) FileToken(fileToken string) *CreateFileCommentReqBuilder {
124-
builder.apiReq.Body.(*CreateFileCommentReqBody).FileToken = &fileToken
125-
return builder
126-
}
127-
128-
func (builder *CreateFileCommentReqBuilder) Build() *CreateFileCommentReq {
129-
req := &CreateFileCommentReq{}
130-
req.apiReq = builder.apiReq
131-
return req
132-
}
133-
13472
type DeleteCommentReq struct {
13573
apiReq *core.APIReq
13674
}
@@ -241,66 +179,6 @@ func (builder *ListCommentsReqBuilder) Build() *ListCommentsReq {
241179
return req
242180
}
243181

244-
type ListFileCommentsReq struct {
245-
apiReq *core.APIReq
246-
}
247-
type ListFileCommentsResp struct {
248-
*core.APIResp `json:"-"`
249-
core.CodeError
250-
Data []FileCommentForOpenAPI `json:"data"`
251-
252-
Pagination *Pagination `json:"pagination"`
253-
254-
}
255-
256-
type ListFileCommentsReqBuilder struct {
257-
apiReq *core.APIReq
258-
}
259-
260-
func NewListFileCommentsReqBuilder() *ListFileCommentsReqBuilder {
261-
builder := &ListFileCommentsReqBuilder{}
262-
builder.apiReq = &core.APIReq{
263-
PathParams: core.PathParams{},
264-
QueryParams: core.QueryParams{},
265-
}
266-
return builder
267-
}
268-
269-
func (builder *ListFileCommentsReqBuilder) ProjectKey(projectKey string) *ListFileCommentsReqBuilder {
270-
builder.apiReq.PathParams.Set("project_key", fmt.Sprint(projectKey))
271-
return builder
272-
}
273-
274-
275-
func (builder *ListFileCommentsReqBuilder) WorkItemID(workItemID int64) *ListFileCommentsReqBuilder {
276-
builder.apiReq.PathParams.Set("work_item_id", fmt.Sprint(workItemID))
277-
return builder
278-
}
279-
280-
281-
func (builder *ListFileCommentsReqBuilder) WorkItemTypeKey(workItemTypeKey string) *ListFileCommentsReqBuilder {
282-
builder.apiReq.PathParams.Set("work_item_type_key", fmt.Sprint(workItemTypeKey))
283-
return builder
284-
}
285-
286-
287-
func (builder *ListFileCommentsReqBuilder) PageSize(pageSize int64) *ListFileCommentsReqBuilder {
288-
builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize))
289-
return builder
290-
}
291-
292-
293-
func (builder *ListFileCommentsReqBuilder) PageNum(pageNum int64) *ListFileCommentsReqBuilder {
294-
builder.apiReq.QueryParams.Set("page_num", fmt.Sprint(pageNum))
295-
return builder
296-
}
297-
298-
func (builder *ListFileCommentsReqBuilder) Build() *ListFileCommentsReq {
299-
req := &ListFileCommentsReq{}
300-
req.apiReq = builder.apiReq
301-
return req
302-
}
303-
304182
type UpdateCommentReq struct {
305183
apiReq *core.APIReq
306184
}

v2/service/comment/model.go

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -33,36 +33,6 @@ type DocTypeRichText struct {
3333

3434
}
3535

36-
type FileCommentForOpenAPI struct {
37-
38-
ID *int64 `json:"id,omitempty"`
39-
40-
WorkItemID *int64 `json:"work_item_id,omitempty"`
41-
42-
WorkItemTypeKey *string `json:"work_item_type_key,omitempty"`
43-
44-
CreatedAt *int64 `json:"created_at,omitempty"`
45-
46-
Operator *string `json:"operator,omitempty"`
47-
48-
CommentFile *FileDetail `json:"comment_file,omitempty"`
49-
50-
}
51-
52-
type FileDetail struct {
53-
54-
FileToken *string `json:"file_token,omitempty"`
55-
56-
FileName *string `json:"file_name,omitempty"`
57-
58-
FileSize *int64 `json:"file_size,omitempty"`
59-
60-
FileType *string `json:"file_type,omitempty"`
61-
62-
FileUrl *string `json:"file_url,omitempty"`
63-
64-
}
65-
6636
type Pagination struct {
6737

6838
PageNum *int64 `json:"page_num,omitempty"`

v2/service/view/model.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,8 @@ type ResourceItem struct {
257257

258258
RoleKey *string `json:"role_key,omitempty"`
259259

260+
FieldClass *string `json:"field_class,omitempty"`
261+
260262
}
261263

262264
type RoleOwner struct {

v2/service/workitem/api.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ const APIPath_Filter = "/open_api/:project_key/work_item/filter"
7070

7171
const APIPath_FilterAcrossProject = "/open_api/work_items/filter_across_project"
7272

73+
const APIPath_FindFieldsOptions = "/open_api/work_item/field/options"
74+
7375
const APIPath_FreezeWorkItem = "/open_api/work_item/freeze"
7476

7577
const APIPath_GetResourceWorkItemsByIds = "/open_api/work_item/resource/query"
@@ -942,6 +944,30 @@ func (a *WorkItemService) FilterAcrossProject(ctx context.Context, req *FilterAc
942944
return resp, err
943945
}
944946

947+
/*
948+
* @name: OAPIFindFieldsOptions
949+
* @desc: 查询指定实例选项配置
950+
*/
951+
func (a *WorkItemService) FindFieldsOptions(ctx context.Context, req *FindFieldsOptionsReq, options ...core.RequestOptionFunc) (*FindFieldsOptionsResp, error) {
952+
// 发起请求
953+
apiReq := req.apiReq
954+
apiReq.ApiPath = APIPath_FindFieldsOptions
955+
apiReq.HttpMethod = "POST"
956+
apiResp, err := core.Request(ctx, apiReq, a.config, options...)
957+
if err != nil {
958+
a.config.Logger.Error(ctx, fmt.Sprintf("[FindFieldsOptions] fail to invoke api, error: %v", err.Error()))
959+
return nil, err
960+
}
961+
// 反序列响应结果
962+
resp := &FindFieldsOptionsResp{APIResp: apiResp}
963+
err = apiResp.JSONUnmarshalBody(resp, a.config)
964+
if err != nil {
965+
a.config.Logger.Error(ctx, fmt.Sprintf("[FindFieldsOptions] fail to unmarshal response body, error: %v", err.Error()))
966+
return nil, err
967+
}
968+
return resp, err
969+
}
970+
945971
/*
946972
* @name: OAPIFreezeWorkItem
947973
* @desc: 冻结/终止工作项

v2/service/workitem/builder.go

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2143,6 +2143,72 @@ func (builder *FilterAcrossProjectReqBuilder) Build() *FilterAcrossProjectReq {
21432143
return req
21442144
}
21452145

2146+
type FindFieldsOptionsReq struct {
2147+
apiReq *core.APIReq
2148+
}
2149+
type FindFieldsOptionsReqBody struct {
2150+
WorkItemID *int64 `json:"work_item_id,omitempty"`
2151+
ProjectKey *string `json:"project_key,omitempty"`
2152+
WorkItemTypeKey *string `json:"work_item_type_key,omitempty"`
2153+
FieldKey *string `json:"field_key,omitempty"`
2154+
FirstOptionKey *string `json:"first_option_key,omitempty"`
2155+
}
2156+
type FindFieldsOptionsResp struct {
2157+
*core.APIResp `json:"-"`
2158+
core.CodeError
2159+
Data *SelectField `json:"data"`
2160+
2161+
}
2162+
2163+
type FindFieldsOptionsReqBuilder struct {
2164+
apiReq *core.APIReq
2165+
}
2166+
2167+
func NewFindFieldsOptionsReqBuilder() *FindFieldsOptionsReqBuilder {
2168+
builder := &FindFieldsOptionsReqBuilder{}
2169+
builder.apiReq = &core.APIReq{
2170+
PathParams: core.PathParams{},
2171+
QueryParams: core.QueryParams{},
2172+
Body: &FindFieldsOptionsReqBody{},
2173+
}
2174+
return builder
2175+
}
2176+
2177+
func (builder *FindFieldsOptionsReqBuilder) WorkItemID(workItemID int64) *FindFieldsOptionsReqBuilder {
2178+
builder.apiReq.Body.(*FindFieldsOptionsReqBody).WorkItemID = &workItemID
2179+
return builder
2180+
}
2181+
2182+
2183+
func (builder *FindFieldsOptionsReqBuilder) ProjectKey(projectKey string) *FindFieldsOptionsReqBuilder {
2184+
builder.apiReq.Body.(*FindFieldsOptionsReqBody).ProjectKey = &projectKey
2185+
return builder
2186+
}
2187+
2188+
2189+
func (builder *FindFieldsOptionsReqBuilder) WorkItemTypeKey(workItemTypeKey string) *FindFieldsOptionsReqBuilder {
2190+
builder.apiReq.Body.(*FindFieldsOptionsReqBody).WorkItemTypeKey = &workItemTypeKey
2191+
return builder
2192+
}
2193+
2194+
2195+
func (builder *FindFieldsOptionsReqBuilder) FieldKey(fieldKey string) *FindFieldsOptionsReqBuilder {
2196+
builder.apiReq.Body.(*FindFieldsOptionsReqBody).FieldKey = &fieldKey
2197+
return builder
2198+
}
2199+
2200+
2201+
func (builder *FindFieldsOptionsReqBuilder) FirstOptionKey(firstOptionKey string) *FindFieldsOptionsReqBuilder {
2202+
builder.apiReq.Body.(*FindFieldsOptionsReqBody).FirstOptionKey = &firstOptionKey
2203+
return builder
2204+
}
2205+
2206+
func (builder *FindFieldsOptionsReqBuilder) Build() *FindFieldsOptionsReq {
2207+
req := &FindFieldsOptionsReq{}
2208+
req.apiReq = builder.apiReq
2209+
return req
2210+
}
2211+
21462212
type FreezeWorkItemReq struct {
21472213
apiReq *core.APIReq
21482214
}
@@ -3175,6 +3241,7 @@ type QueryAINodeRespData struct {
31753241
ConformFields []CommonField `json:"conform_fields,omitempty"`
31763242
SubTasks []AINodeSubTask `json:"sub_tasks,omitempty"`
31773243
SubWorkitems []AINodeSubWorkItem `json:"sub_workitems,omitempty"`
3244+
EntityID *string `json:"entity_id,omitempty"`
31783245
}
31793246

31803247
type QueryAINodeReqBuilder struct {

0 commit comments

Comments
 (0)