gitee.com/larksuite/oapi-sdk-go/v3@v3.0.3/service/wiki/v2/model.go (about) 1 // Package wiki code generated by oapi sdk gen 2 /* 3 * MIT License 4 * 5 * Copyright (c) 2022 Lark Technologies Pte. Ltd. 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 8 * 9 * The above copyright notice and this permission notice, shall be included in all copies or substantial portions of the Software. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 12 */ 13 14 package larkwiki 15 16 import ( 17 "fmt" 18 19 "context" 20 "errors" 21 22 "gitee.com/larksuite/oapi-sdk-go/v3/core" 23 ) 24 25 const ( 26 ObjTypeObjTypeDoc = "doc" // doc 27 ObjTypeObjTypeSheet = "sheet" // sheet 28 ObjTypeObjTypeMindNote = "mindnote" // mindnote 29 ObjTypeObjTypeBitable = "bitable" // bitable 30 ObjTypeObjTypeFile = "file" // file 31 ObjTypeObjTypeDocx = "docx" // docx 32 ) 33 34 const ( 35 NodeTypeNodeTypeEntity = "origin" // 实体 36 NodeTypeNodeTypeShortCut = "shortcut" // 快捷方式 37 ) 38 39 const ( 40 MoveDocsToWikiObjTypeObjTypeDoc = "doc" // doc(文档) 41 MoveDocsToWikiObjTypeObjTypeSheet = "sheet" // sheet(表格) 42 MoveDocsToWikiObjTypeObjTypeBitable = "bitable" // bitable(多维表格) 43 MoveDocsToWikiObjTypeObjTypeMindNote = "mindnote" // mindnote(思维导图) 44 MoveDocsToWikiObjTypeObjTypeDocx = "docx" // docx 45 MoveDocsToWikiObjTypeObjTypeFile = "file" // file (文件) 46 ) 47 48 const ( 49 TaskTypeMove = "move" // MoveDocsToWiki任务 50 ) 51 52 type Member struct { 53 MemberType *string `json:"member_type,omitempty"` // “openchat” - 群id ;;“userid” - 用户id;;“email” - 邮箱;;“opendepartmentid” - 部门id;;“openid” - 应用openid;;“unionid” - unionid 54 MemberId *string `json:"member_id,omitempty"` // 用户id 55 MemberRole *string `json:"member_role,omitempty"` // 角色:;;“admin” - 管理员;;“member” - 成员 56 } 57 58 type MemberBuilder struct { 59 memberType string // “openchat” - 群id ;;“userid” - 用户id;;“email” - 邮箱;;“opendepartmentid” - 部门id;;“openid” - 应用openid;;“unionid” - unionid 60 memberTypeFlag bool 61 memberId string // 用户id 62 memberIdFlag bool 63 memberRole string // 角色:;;“admin” - 管理员;;“member” - 成员 64 memberRoleFlag bool 65 } 66 67 func NewMemberBuilder() *MemberBuilder { 68 builder := &MemberBuilder{} 69 return builder 70 } 71 72 // “openchat” - 群id ;;“userid” - 用户id;;“email” - 邮箱;;“opendepartmentid” - 部门id;;“openid” - 应用openid;;“unionid” - unionid 73 // 74 // 示例值:userid 75 func (builder *MemberBuilder) MemberType(memberType string) *MemberBuilder { 76 builder.memberType = memberType 77 builder.memberTypeFlag = true 78 return builder 79 } 80 81 // 用户id 82 // 83 // 示例值:1565676577122621 84 func (builder *MemberBuilder) MemberId(memberId string) *MemberBuilder { 85 builder.memberId = memberId 86 builder.memberIdFlag = true 87 return builder 88 } 89 90 // 角色:;;“admin” - 管理员;;“member” - 成员 91 // 92 // 示例值:admin 93 func (builder *MemberBuilder) MemberRole(memberRole string) *MemberBuilder { 94 builder.memberRole = memberRole 95 builder.memberRoleFlag = true 96 return builder 97 } 98 99 func (builder *MemberBuilder) Build() *Member { 100 req := &Member{} 101 if builder.memberTypeFlag { 102 req.MemberType = &builder.memberType 103 104 } 105 if builder.memberIdFlag { 106 req.MemberId = &builder.memberId 107 108 } 109 if builder.memberRoleFlag { 110 req.MemberRole = &builder.memberRole 111 112 } 113 return req 114 } 115 116 type MoveResult struct { 117 Node *Node `json:"node,omitempty"` // 移动完成的节点信息 118 Status *int `json:"status,omitempty"` // 节点移动状态码 119 StatusMsg *string `json:"status_msg,omitempty"` // 节点移动状态信息 120 } 121 122 type MoveResultBuilder struct { 123 node *Node // 移动完成的节点信息 124 nodeFlag bool 125 status int // 节点移动状态码 126 statusFlag bool 127 statusMsg string // 节点移动状态信息 128 statusMsgFlag bool 129 } 130 131 func NewMoveResultBuilder() *MoveResultBuilder { 132 builder := &MoveResultBuilder{} 133 return builder 134 } 135 136 // 移动完成的节点信息 137 // 138 // 示例值: 139 func (builder *MoveResultBuilder) Node(node *Node) *MoveResultBuilder { 140 builder.node = node 141 builder.nodeFlag = true 142 return builder 143 } 144 145 // 节点移动状态码 146 // 147 // 示例值:0 148 func (builder *MoveResultBuilder) Status(status int) *MoveResultBuilder { 149 builder.status = status 150 builder.statusFlag = true 151 return builder 152 } 153 154 // 节点移动状态信息 155 // 156 // 示例值:success 157 func (builder *MoveResultBuilder) StatusMsg(statusMsg string) *MoveResultBuilder { 158 builder.statusMsg = statusMsg 159 builder.statusMsgFlag = true 160 return builder 161 } 162 163 func (builder *MoveResultBuilder) Build() *MoveResult { 164 req := &MoveResult{} 165 if builder.nodeFlag { 166 req.Node = builder.node 167 } 168 if builder.statusFlag { 169 req.Status = &builder.status 170 171 } 172 if builder.statusMsgFlag { 173 req.StatusMsg = &builder.statusMsg 174 175 } 176 return req 177 } 178 179 type Node struct { 180 SpaceId *string `json:"space_id,omitempty"` // 知识库id 181 NodeToken *string `json:"node_token,omitempty"` // 节点token 182 ObjToken *string `json:"obj_token,omitempty"` // 文档token,可以根据obj_type判断是属于doc、sheet还是mindnote的token(对于快捷方式,该字段是对应的实体的obj_token) 183 ObjType *string `json:"obj_type,omitempty"` // 文档类型,对于快捷方式,该字段是对应的实体的obj_type 184 ParentNodeToken *string `json:"parent_node_token,omitempty"` // 节点的父亲token。当节点为一级节点时,父亲token为空。 185 NodeType *string `json:"node_type,omitempty"` // 节点类型 186 OriginNodeToken *string `json:"origin_node_token,omitempty"` // 快捷方式对应的实体node_token,当创建节点为快捷方式时,需要传该值 187 OriginSpaceId *string `json:"origin_space_id,omitempty"` // 快捷方式对应的实体所在的spaceid 188 HasChild *bool `json:"has_child,omitempty"` // 是否有子节点 189 Title *string `json:"title,omitempty"` // 文档标题 190 ObjCreateTime *string `json:"obj_create_time,omitempty"` // 文档创建时间 191 ObjEditTime *string `json:"obj_edit_time,omitempty"` // 文档最近编辑时间 192 NodeCreateTime *string `json:"node_create_time,omitempty"` // 节点创建时间 193 Creator *string `json:"creator,omitempty"` // 节点创建者 194 Owner *string `json:"owner,omitempty"` // 节点所有者 195 } 196 197 type NodeBuilder struct { 198 spaceId string // 知识库id 199 spaceIdFlag bool 200 nodeToken string // 节点token 201 nodeTokenFlag bool 202 objToken string // 文档token,可以根据obj_type判断是属于doc、sheet还是mindnote的token(对于快捷方式,该字段是对应的实体的obj_token) 203 objTokenFlag bool 204 objType string // 文档类型,对于快捷方式,该字段是对应的实体的obj_type 205 objTypeFlag bool 206 parentNodeToken string // 节点的父亲token。当节点为一级节点时,父亲token为空。 207 parentNodeTokenFlag bool 208 nodeType string // 节点类型 209 nodeTypeFlag bool 210 originNodeToken string // 快捷方式对应的实体node_token,当创建节点为快捷方式时,需要传该值 211 originNodeTokenFlag bool 212 originSpaceId string // 快捷方式对应的实体所在的spaceid 213 originSpaceIdFlag bool 214 hasChild bool // 是否有子节点 215 hasChildFlag bool 216 title string // 文档标题 217 titleFlag bool 218 objCreateTime string // 文档创建时间 219 objCreateTimeFlag bool 220 objEditTime string // 文档最近编辑时间 221 objEditTimeFlag bool 222 nodeCreateTime string // 节点创建时间 223 nodeCreateTimeFlag bool 224 creator string // 节点创建者 225 creatorFlag bool 226 owner string // 节点所有者 227 ownerFlag bool 228 } 229 230 func NewNodeBuilder() *NodeBuilder { 231 builder := &NodeBuilder{} 232 return builder 233 } 234 235 // 知识库id 236 // 237 // 示例值:6946843325487912356 238 func (builder *NodeBuilder) SpaceId(spaceId string) *NodeBuilder { 239 builder.spaceId = spaceId 240 builder.spaceIdFlag = true 241 return builder 242 } 243 244 // 节点token 245 // 246 // 示例值:wikcnKQ1k3pcuo5uSK4t8Vabcef 247 func (builder *NodeBuilder) NodeToken(nodeToken string) *NodeBuilder { 248 builder.nodeToken = nodeToken 249 builder.nodeTokenFlag = true 250 return builder 251 } 252 253 // 文档token,可以根据obj_type判断是属于doc、sheet还是mindnote的token(对于快捷方式,该字段是对应的实体的obj_token) 254 // 255 // 示例值:doccnzAaODNqykc8g9hOWabcdef 256 func (builder *NodeBuilder) ObjToken(objToken string) *NodeBuilder { 257 builder.objToken = objToken 258 builder.objTokenFlag = true 259 return builder 260 } 261 262 // 文档类型,对于快捷方式,该字段是对应的实体的obj_type 263 // 264 // 示例值:doc/sheet/mindnote 265 func (builder *NodeBuilder) ObjType(objType string) *NodeBuilder { 266 builder.objType = objType 267 builder.objTypeFlag = true 268 return builder 269 } 270 271 // 节点的父亲token。当节点为一级节点时,父亲token为空。 272 // 273 // 示例值:wikcnKQ1k3pcuo5uSK4t8Vabcef 274 func (builder *NodeBuilder) ParentNodeToken(parentNodeToken string) *NodeBuilder { 275 builder.parentNodeToken = parentNodeToken 276 builder.parentNodeTokenFlag = true 277 return builder 278 } 279 280 // 节点类型 281 // 282 // 示例值:origin/shortcut 283 func (builder *NodeBuilder) NodeType(nodeType string) *NodeBuilder { 284 builder.nodeType = nodeType 285 builder.nodeTypeFlag = true 286 return builder 287 } 288 289 // 快捷方式对应的实体node_token,当创建节点为快捷方式时,需要传该值 290 // 291 // 示例值:wikcnKQ1k3pcuo5uSK4t8Vabcef 292 func (builder *NodeBuilder) OriginNodeToken(originNodeToken string) *NodeBuilder { 293 builder.originNodeToken = originNodeToken 294 builder.originNodeTokenFlag = true 295 return builder 296 } 297 298 // 快捷方式对应的实体所在的spaceid 299 // 300 // 示例值:6946843325487912356 301 func (builder *NodeBuilder) OriginSpaceId(originSpaceId string) *NodeBuilder { 302 builder.originSpaceId = originSpaceId 303 builder.originSpaceIdFlag = true 304 return builder 305 } 306 307 // 是否有子节点 308 // 309 // 示例值:false 310 func (builder *NodeBuilder) HasChild(hasChild bool) *NodeBuilder { 311 builder.hasChild = hasChild 312 builder.hasChildFlag = true 313 return builder 314 } 315 316 // 文档标题 317 // 318 // 示例值:标题 319 func (builder *NodeBuilder) Title(title string) *NodeBuilder { 320 builder.title = title 321 builder.titleFlag = true 322 return builder 323 } 324 325 // 文档创建时间 326 // 327 // 示例值:1642402428 328 func (builder *NodeBuilder) ObjCreateTime(objCreateTime string) *NodeBuilder { 329 builder.objCreateTime = objCreateTime 330 builder.objCreateTimeFlag = true 331 return builder 332 } 333 334 // 文档最近编辑时间 335 // 336 // 示例值:1642402428 337 func (builder *NodeBuilder) ObjEditTime(objEditTime string) *NodeBuilder { 338 builder.objEditTime = objEditTime 339 builder.objEditTimeFlag = true 340 return builder 341 } 342 343 // 节点创建时间 344 // 345 // 示例值:1642402428 346 func (builder *NodeBuilder) NodeCreateTime(nodeCreateTime string) *NodeBuilder { 347 builder.nodeCreateTime = nodeCreateTime 348 builder.nodeCreateTimeFlag = true 349 return builder 350 } 351 352 // 节点创建者 353 // 354 // 示例值:ou_xxxxx 355 func (builder *NodeBuilder) Creator(creator string) *NodeBuilder { 356 builder.creator = creator 357 builder.creatorFlag = true 358 return builder 359 } 360 361 // 节点所有者 362 // 363 // 示例值:ou_xxxxx 364 func (builder *NodeBuilder) Owner(owner string) *NodeBuilder { 365 builder.owner = owner 366 builder.ownerFlag = true 367 return builder 368 } 369 370 func (builder *NodeBuilder) Build() *Node { 371 req := &Node{} 372 if builder.spaceIdFlag { 373 req.SpaceId = &builder.spaceId 374 375 } 376 if builder.nodeTokenFlag { 377 req.NodeToken = &builder.nodeToken 378 379 } 380 if builder.objTokenFlag { 381 req.ObjToken = &builder.objToken 382 383 } 384 if builder.objTypeFlag { 385 req.ObjType = &builder.objType 386 387 } 388 if builder.parentNodeTokenFlag { 389 req.ParentNodeToken = &builder.parentNodeToken 390 391 } 392 if builder.nodeTypeFlag { 393 req.NodeType = &builder.nodeType 394 395 } 396 if builder.originNodeTokenFlag { 397 req.OriginNodeToken = &builder.originNodeToken 398 399 } 400 if builder.originSpaceIdFlag { 401 req.OriginSpaceId = &builder.originSpaceId 402 403 } 404 if builder.hasChildFlag { 405 req.HasChild = &builder.hasChild 406 407 } 408 if builder.titleFlag { 409 req.Title = &builder.title 410 411 } 412 if builder.objCreateTimeFlag { 413 req.ObjCreateTime = &builder.objCreateTime 414 415 } 416 if builder.objEditTimeFlag { 417 req.ObjEditTime = &builder.objEditTime 418 419 } 420 if builder.nodeCreateTimeFlag { 421 req.NodeCreateTime = &builder.nodeCreateTime 422 423 } 424 if builder.creatorFlag { 425 req.Creator = &builder.creator 426 427 } 428 if builder.ownerFlag { 429 req.Owner = &builder.owner 430 431 } 432 return req 433 } 434 435 type NodeSearch struct { 436 NodeId *string `json:"node_id,omitempty"` // node的唯一标识 437 SpaceId *string `json:"space_id,omitempty"` // 所属空间id 438 ParentId *string `json:"parent_id,omitempty"` // 父节点id 439 ObjType *int `json:"obj_type,omitempty"` // wiki类型 440 Title *string `json:"title,omitempty"` // wiki标题 441 Url *string `json:"url,omitempty"` // wiki的访问url 442 Icon *string `json:"icon,omitempty"` // wiki对应图标的url 443 AreaId *string `json:"area_id,omitempty"` // 所属权限范围id 444 SortId *float64 `json:"sort_id,omitempty"` // 序号 445 Domain *string `json:"domain,omitempty"` // 所在域名 446 ObjToken *string `json:"obj_token,omitempty"` // objToken 447 } 448 449 type NodeSearchBuilder struct { 450 nodeId string // node的唯一标识 451 nodeIdFlag bool 452 spaceId string // 所属空间id 453 spaceIdFlag bool 454 parentId string // 父节点id 455 parentIdFlag bool 456 objType int // wiki类型 457 objTypeFlag bool 458 title string // wiki标题 459 titleFlag bool 460 url string // wiki的访问url 461 urlFlag bool 462 icon string // wiki对应图标的url 463 iconFlag bool 464 areaId string // 所属权限范围id 465 areaIdFlag bool 466 sortId float64 // 序号 467 sortIdFlag bool 468 domain string // 所在域名 469 domainFlag bool 470 objToken string // objToken 471 objTokenFlag bool 472 } 473 474 func NewNodeSearchBuilder() *NodeSearchBuilder { 475 builder := &NodeSearchBuilder{} 476 return builder 477 } 478 479 // node的唯一标识 480 // 481 // 示例值:wikbcIbccBl4Mik9GQ2KskO6hsf 482 func (builder *NodeSearchBuilder) NodeId(nodeId string) *NodeSearchBuilder { 483 builder.nodeId = nodeId 484 builder.nodeIdFlag = true 485 return builder 486 } 487 488 // 所属空间id 489 // 490 // 示例值:7067522558521770004 491 func (builder *NodeSearchBuilder) SpaceId(spaceId string) *NodeSearchBuilder { 492 builder.spaceId = spaceId 493 builder.spaceIdFlag = true 494 return builder 495 } 496 497 // 父节点id 498 // 499 // 示例值: 500 func (builder *NodeSearchBuilder) ParentId(parentId string) *NodeSearchBuilder { 501 builder.parentId = parentId 502 builder.parentIdFlag = true 503 return builder 504 } 505 506 // wiki类型 507 // 508 // 示例值:1 509 func (builder *NodeSearchBuilder) ObjType(objType int) *NodeSearchBuilder { 510 builder.objType = objType 511 builder.objTypeFlag = true 512 return builder 513 } 514 515 // wiki标题 516 // 517 // 示例值:文档标题 518 func (builder *NodeSearchBuilder) Title(title string) *NodeSearchBuilder { 519 builder.title = title 520 builder.titleFlag = true 521 return builder 522 } 523 524 // wiki的访问url 525 // 526 // 示例值:https://single-container.feishu.cn/wiki/wikbcPkzIoLp52Dh2Pj3nQaYPFO 527 func (builder *NodeSearchBuilder) Url(url string) *NodeSearchBuilder { 528 builder.url = url 529 builder.urlFlag = true 530 return builder 531 } 532 533 // wiki对应图标的url 534 // 535 // 示例值: 536 func (builder *NodeSearchBuilder) Icon(icon string) *NodeSearchBuilder { 537 builder.icon = icon 538 builder.iconFlag = true 539 return builder 540 } 541 542 // 所属权限范围id 543 // 544 // 示例值: 545 func (builder *NodeSearchBuilder) AreaId(areaId string) *NodeSearchBuilder { 546 builder.areaId = areaId 547 builder.areaIdFlag = true 548 return builder 549 } 550 551 // 序号 552 // 553 // 示例值:1 554 func (builder *NodeSearchBuilder) SortId(sortId float64) *NodeSearchBuilder { 555 builder.sortId = sortId 556 builder.sortIdFlag = true 557 return builder 558 } 559 560 // 所在域名 561 // 562 // 示例值: 563 func (builder *NodeSearchBuilder) Domain(domain string) *NodeSearchBuilder { 564 builder.domain = domain 565 builder.domainFlag = true 566 return builder 567 } 568 569 // objToken 570 // 571 // 示例值:doxbcBBOM3vQxO5NztUhKpTBNQd 572 func (builder *NodeSearchBuilder) ObjToken(objToken string) *NodeSearchBuilder { 573 builder.objToken = objToken 574 builder.objTokenFlag = true 575 return builder 576 } 577 578 func (builder *NodeSearchBuilder) Build() *NodeSearch { 579 req := &NodeSearch{} 580 if builder.nodeIdFlag { 581 req.NodeId = &builder.nodeId 582 583 } 584 if builder.spaceIdFlag { 585 req.SpaceId = &builder.spaceId 586 587 } 588 if builder.parentIdFlag { 589 req.ParentId = &builder.parentId 590 591 } 592 if builder.objTypeFlag { 593 req.ObjType = &builder.objType 594 595 } 596 if builder.titleFlag { 597 req.Title = &builder.title 598 599 } 600 if builder.urlFlag { 601 req.Url = &builder.url 602 603 } 604 if builder.iconFlag { 605 req.Icon = &builder.icon 606 607 } 608 if builder.areaIdFlag { 609 req.AreaId = &builder.areaId 610 611 } 612 if builder.sortIdFlag { 613 req.SortId = &builder.sortId 614 615 } 616 if builder.domainFlag { 617 req.Domain = &builder.domain 618 619 } 620 if builder.objTokenFlag { 621 req.ObjToken = &builder.objToken 622 623 } 624 return req 625 } 626 627 type Setting struct { 628 CreateSetting *string `json:"create_setting,omitempty"` // 谁可以创建空间的一级页面: "admin_and_member" = 管理员和成员 "admin" - 仅管理员 629 SecuritySetting *string `json:"security_setting,omitempty"` // 可阅读用户可否创建副本/打印/导出/复制: "allow" - 允许 "not_allow" - 不允许 630 CommentSetting *string `json:"comment_setting,omitempty"` // 可阅读用户可否评论: "allow" - 允许 "not_allow" - 不允许 631 } 632 633 type SettingBuilder struct { 634 createSetting string // 谁可以创建空间的一级页面: "admin_and_member" = 管理员和成员 "admin" - 仅管理员 635 createSettingFlag bool 636 securitySetting string // 可阅读用户可否创建副本/打印/导出/复制: "allow" - 允许 "not_allow" - 不允许 637 securitySettingFlag bool 638 commentSetting string // 可阅读用户可否评论: "allow" - 允许 "not_allow" - 不允许 639 commentSettingFlag bool 640 } 641 642 func NewSettingBuilder() *SettingBuilder { 643 builder := &SettingBuilder{} 644 return builder 645 } 646 647 // 谁可以创建空间的一级页面: "admin_and_member" = 管理员和成员 "admin" - 仅管理员 648 // 649 // 示例值:admin/admin_and_member 650 func (builder *SettingBuilder) CreateSetting(createSetting string) *SettingBuilder { 651 builder.createSetting = createSetting 652 builder.createSettingFlag = true 653 return builder 654 } 655 656 // 可阅读用户可否创建副本/打印/导出/复制: "allow" - 允许 "not_allow" - 不允许 657 // 658 // 示例值:allow/not_allow 659 func (builder *SettingBuilder) SecuritySetting(securitySetting string) *SettingBuilder { 660 builder.securitySetting = securitySetting 661 builder.securitySettingFlag = true 662 return builder 663 } 664 665 // 可阅读用户可否评论: "allow" - 允许 "not_allow" - 不允许 666 // 667 // 示例值:allow/not_allow 668 func (builder *SettingBuilder) CommentSetting(commentSetting string) *SettingBuilder { 669 builder.commentSetting = commentSetting 670 builder.commentSettingFlag = true 671 return builder 672 } 673 674 func (builder *SettingBuilder) Build() *Setting { 675 req := &Setting{} 676 if builder.createSettingFlag { 677 req.CreateSetting = &builder.createSetting 678 679 } 680 if builder.securitySettingFlag { 681 req.SecuritySetting = &builder.securitySetting 682 683 } 684 if builder.commentSettingFlag { 685 req.CommentSetting = &builder.commentSetting 686 687 } 688 return req 689 } 690 691 type Space struct { 692 Name *string `json:"name,omitempty"` // 知识空间名称 693 Description *string `json:"description,omitempty"` // 知识空间描述 694 SpaceId *string `json:"space_id,omitempty"` // 知识空间id 695 SpaceType *string `json:"space_type,omitempty"` // 表示知识空间类型(团队空间 或 个人空间) 696 Visibility *string `json:"visibility,omitempty"` // 表示知识空间可见性(公开空间 或 私有空间) 697 } 698 699 type SpaceBuilder struct { 700 name string // 知识空间名称 701 nameFlag bool 702 description string // 知识空间描述 703 descriptionFlag bool 704 spaceId string // 知识空间id 705 spaceIdFlag bool 706 spaceType string // 表示知识空间类型(团队空间 或 个人空间) 707 spaceTypeFlag bool 708 visibility string // 表示知识空间可见性(公开空间 或 私有空间) 709 visibilityFlag bool 710 } 711 712 func NewSpaceBuilder() *SpaceBuilder { 713 builder := &SpaceBuilder{} 714 return builder 715 } 716 717 // 知识空间名称 718 // 719 // 示例值:知识空间 720 func (builder *SpaceBuilder) Name(name string) *SpaceBuilder { 721 builder.name = name 722 builder.nameFlag = true 723 return builder 724 } 725 726 // 知识空间描述 727 // 728 // 示例值:知识空间描述 729 func (builder *SpaceBuilder) Description(description string) *SpaceBuilder { 730 builder.description = description 731 builder.descriptionFlag = true 732 return builder 733 } 734 735 // 知识空间id 736 // 737 // 示例值:1565676577122621 738 func (builder *SpaceBuilder) SpaceId(spaceId string) *SpaceBuilder { 739 builder.spaceId = spaceId 740 builder.spaceIdFlag = true 741 return builder 742 } 743 744 // 表示知识空间类型(团队空间 或 个人空间) 745 // 746 // 示例值:team 747 func (builder *SpaceBuilder) SpaceType(spaceType string) *SpaceBuilder { 748 builder.spaceType = spaceType 749 builder.spaceTypeFlag = true 750 return builder 751 } 752 753 // 表示知识空间可见性(公开空间 或 私有空间) 754 // 755 // 示例值:private 756 func (builder *SpaceBuilder) Visibility(visibility string) *SpaceBuilder { 757 builder.visibility = visibility 758 builder.visibilityFlag = true 759 return builder 760 } 761 762 func (builder *SpaceBuilder) Build() *Space { 763 req := &Space{} 764 if builder.nameFlag { 765 req.Name = &builder.name 766 767 } 768 if builder.descriptionFlag { 769 req.Description = &builder.description 770 771 } 772 if builder.spaceIdFlag { 773 req.SpaceId = &builder.spaceId 774 775 } 776 if builder.spaceTypeFlag { 777 req.SpaceType = &builder.spaceType 778 779 } 780 if builder.visibilityFlag { 781 req.Visibility = &builder.visibility 782 783 } 784 return req 785 } 786 787 type TaskResult struct { 788 TaskId *string `json:"task_id,omitempty"` // 任务id 789 MoveResult []*MoveResult `json:"move_result,omitempty"` // MoveDocsToWiki任务结果 790 } 791 792 type TaskResultBuilder struct { 793 taskId string // 任务id 794 taskIdFlag bool 795 moveResult []*MoveResult // MoveDocsToWiki任务结果 796 moveResultFlag bool 797 } 798 799 func NewTaskResultBuilder() *TaskResultBuilder { 800 builder := &TaskResultBuilder{} 801 return builder 802 } 803 804 // 任务id 805 // 806 // 示例值:7037044037068177428-075c9481e6a0007c1df689dfbe5b55a08b6b06f7 807 func (builder *TaskResultBuilder) TaskId(taskId string) *TaskResultBuilder { 808 builder.taskId = taskId 809 builder.taskIdFlag = true 810 return builder 811 } 812 813 // MoveDocsToWiki任务结果 814 // 815 // 示例值: 816 func (builder *TaskResultBuilder) MoveResult(moveResult []*MoveResult) *TaskResultBuilder { 817 builder.moveResult = moveResult 818 builder.moveResultFlag = true 819 return builder 820 } 821 822 func (builder *TaskResultBuilder) Build() *TaskResult { 823 req := &TaskResult{} 824 if builder.taskIdFlag { 825 req.TaskId = &builder.taskId 826 827 } 828 if builder.moveResultFlag { 829 req.MoveResult = builder.moveResult 830 } 831 return req 832 } 833 834 type CreateSpaceReqBuilder struct { 835 apiReq *larkcore.ApiReq 836 space *Space 837 } 838 839 func NewCreateSpaceReqBuilder() *CreateSpaceReqBuilder { 840 builder := &CreateSpaceReqBuilder{} 841 builder.apiReq = &larkcore.ApiReq{ 842 PathParams: larkcore.PathParams{}, 843 QueryParams: larkcore.QueryParams{}, 844 } 845 return builder 846 } 847 848 // 此接口用于创建知识空间 849 func (builder *CreateSpaceReqBuilder) Space(space *Space) *CreateSpaceReqBuilder { 850 builder.space = space 851 return builder 852 } 853 854 func (builder *CreateSpaceReqBuilder) Build() *CreateSpaceReq { 855 req := &CreateSpaceReq{} 856 req.apiReq = &larkcore.ApiReq{} 857 req.apiReq.Body = builder.space 858 return req 859 } 860 861 type CreateSpaceReq struct { 862 apiReq *larkcore.ApiReq 863 Space *Space `body:""` 864 } 865 866 type CreateSpaceRespData struct { 867 Space *Space `json:"space,omitempty"` // 知识空间 868 } 869 870 type CreateSpaceResp struct { 871 *larkcore.ApiResp `json:"-"` 872 larkcore.CodeError 873 Data *CreateSpaceRespData `json:"data"` // 业务数据 874 } 875 876 func (resp *CreateSpaceResp) Success() bool { 877 return resp.Code == 0 878 } 879 880 type GetSpaceReqBuilder struct { 881 apiReq *larkcore.ApiReq 882 } 883 884 func NewGetSpaceReqBuilder() *GetSpaceReqBuilder { 885 builder := &GetSpaceReqBuilder{} 886 builder.apiReq = &larkcore.ApiReq{ 887 PathParams: larkcore.PathParams{}, 888 QueryParams: larkcore.QueryParams{}, 889 } 890 return builder 891 } 892 893 // 知识空间id 894 // 895 // 示例值:6870403571079249922 896 func (builder *GetSpaceReqBuilder) SpaceId(spaceId string) *GetSpaceReqBuilder { 897 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 898 return builder 899 } 900 901 func (builder *GetSpaceReqBuilder) Build() *GetSpaceReq { 902 req := &GetSpaceReq{} 903 req.apiReq = &larkcore.ApiReq{} 904 req.apiReq.PathParams = builder.apiReq.PathParams 905 return req 906 } 907 908 type GetSpaceReq struct { 909 apiReq *larkcore.ApiReq 910 } 911 912 type GetSpaceRespData struct { 913 Space *Space `json:"space,omitempty"` // 知识空间 914 } 915 916 type GetSpaceResp struct { 917 *larkcore.ApiResp `json:"-"` 918 larkcore.CodeError 919 Data *GetSpaceRespData `json:"data"` // 业务数据 920 } 921 922 func (resp *GetSpaceResp) Success() bool { 923 return resp.Code == 0 924 } 925 926 type GetNodeSpaceReqBuilder struct { 927 apiReq *larkcore.ApiReq 928 } 929 930 func NewGetNodeSpaceReqBuilder() *GetNodeSpaceReqBuilder { 931 builder := &GetNodeSpaceReqBuilder{} 932 builder.apiReq = &larkcore.ApiReq{ 933 PathParams: larkcore.PathParams{}, 934 QueryParams: larkcore.QueryParams{}, 935 } 936 return builder 937 } 938 939 // 文档的wiki token 940 // 941 // 示例值:wikcnKQ1k3pcuo5uSK4t8VN6kVf 942 func (builder *GetNodeSpaceReqBuilder) Token(token string) *GetNodeSpaceReqBuilder { 943 builder.apiReq.QueryParams.Set("token", fmt.Sprint(token)) 944 return builder 945 } 946 947 func (builder *GetNodeSpaceReqBuilder) Build() *GetNodeSpaceReq { 948 req := &GetNodeSpaceReq{} 949 req.apiReq = &larkcore.ApiReq{} 950 req.apiReq.QueryParams = builder.apiReq.QueryParams 951 return req 952 } 953 954 type GetNodeSpaceReq struct { 955 apiReq *larkcore.ApiReq 956 } 957 958 type GetNodeSpaceRespData struct { 959 Node *Node `json:"node,omitempty"` // 节点信息 960 } 961 962 type GetNodeSpaceResp struct { 963 *larkcore.ApiResp `json:"-"` 964 larkcore.CodeError 965 Data *GetNodeSpaceRespData `json:"data"` // 业务数据 966 } 967 968 func (resp *GetNodeSpaceResp) Success() bool { 969 return resp.Code == 0 970 } 971 972 type ListSpaceReqBuilder struct { 973 apiReq *larkcore.ApiReq 974 limit int // 最大返回多少记录,当使用迭代器访问时才有效 975 } 976 977 func NewListSpaceReqBuilder() *ListSpaceReqBuilder { 978 builder := &ListSpaceReqBuilder{} 979 builder.apiReq = &larkcore.ApiReq{ 980 PathParams: larkcore.PathParams{}, 981 QueryParams: larkcore.QueryParams{}, 982 } 983 return builder 984 } 985 986 // 最大返回多少记录,当使用迭代器访问时才有效 987 func (builder *ListSpaceReqBuilder) Limit(limit int) *ListSpaceReqBuilder { 988 builder.limit = limit 989 return builder 990 } 991 992 // 分页大小 993 // 994 // 示例值:10 995 func (builder *ListSpaceReqBuilder) PageSize(pageSize int) *ListSpaceReqBuilder { 996 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 997 return builder 998 } 999 1000 // 分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果 1001 // 1002 // 示例值:1565676577122621 1003 func (builder *ListSpaceReqBuilder) PageToken(pageToken string) *ListSpaceReqBuilder { 1004 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 1005 return builder 1006 } 1007 1008 func (builder *ListSpaceReqBuilder) Build() *ListSpaceReq { 1009 req := &ListSpaceReq{} 1010 req.apiReq = &larkcore.ApiReq{} 1011 req.Limit = builder.limit 1012 req.apiReq.QueryParams = builder.apiReq.QueryParams 1013 return req 1014 } 1015 1016 type ListSpaceReq struct { 1017 apiReq *larkcore.ApiReq 1018 Limit int // 最多返回多少记录,只有在使用迭代器访问时,才有效 1019 1020 } 1021 1022 type ListSpaceRespData struct { 1023 Items []*Space `json:"items,omitempty"` // 数据列表 1024 PageToken *string `json:"page_token,omitempty"` // 1025 HasMore *bool `json:"has_more,omitempty"` // 1026 } 1027 1028 type ListSpaceResp struct { 1029 *larkcore.ApiResp `json:"-"` 1030 larkcore.CodeError 1031 Data *ListSpaceRespData `json:"data"` // 业务数据 1032 } 1033 1034 func (resp *ListSpaceResp) Success() bool { 1035 return resp.Code == 0 1036 } 1037 1038 type CreateSpaceMemberReqBuilder struct { 1039 apiReq *larkcore.ApiReq 1040 member *Member 1041 } 1042 1043 func NewCreateSpaceMemberReqBuilder() *CreateSpaceMemberReqBuilder { 1044 builder := &CreateSpaceMemberReqBuilder{} 1045 builder.apiReq = &larkcore.ApiReq{ 1046 PathParams: larkcore.PathParams{}, 1047 QueryParams: larkcore.QueryParams{}, 1048 } 1049 return builder 1050 } 1051 1052 // 知识空间id 1053 // 1054 // 示例值:1565676577122621 1055 func (builder *CreateSpaceMemberReqBuilder) SpaceId(spaceId string) *CreateSpaceMemberReqBuilder { 1056 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 1057 return builder 1058 } 1059 1060 // 添加权限后是否通知对方 1061 // 1062 // 示例值:true/fasle 1063 func (builder *CreateSpaceMemberReqBuilder) NeedNotification(needNotification bool) *CreateSpaceMemberReqBuilder { 1064 builder.apiReq.QueryParams.Set("need_notification", fmt.Sprint(needNotification)) 1065 return builder 1066 } 1067 1068 // 添加知识空间成员(管理员)。;;- 公开知识空间(visibility为public)对租户所有用户可见,因此不支持再添加成员,但可以添加管理员。;; 相关错误:131101 public wiki space can't create member.;- 个人知识空间 (type为person)为个人管理的知识空间,不支持添加其他管理员(包括应用/机器人)。但可以添加成员。;; 相关错误:131101 person wiki space can't create admin. 1069 func (builder *CreateSpaceMemberReqBuilder) Member(member *Member) *CreateSpaceMemberReqBuilder { 1070 builder.member = member 1071 return builder 1072 } 1073 1074 func (builder *CreateSpaceMemberReqBuilder) Build() *CreateSpaceMemberReq { 1075 req := &CreateSpaceMemberReq{} 1076 req.apiReq = &larkcore.ApiReq{} 1077 req.apiReq.PathParams = builder.apiReq.PathParams 1078 req.apiReq.QueryParams = builder.apiReq.QueryParams 1079 req.apiReq.Body = builder.member 1080 return req 1081 } 1082 1083 type CreateSpaceMemberReq struct { 1084 apiReq *larkcore.ApiReq 1085 Member *Member `body:""` 1086 } 1087 1088 type CreateSpaceMemberRespData struct { 1089 Member *Member `json:"member,omitempty"` // 知识空间成员 1090 } 1091 1092 type CreateSpaceMemberResp struct { 1093 *larkcore.ApiResp `json:"-"` 1094 larkcore.CodeError 1095 Data *CreateSpaceMemberRespData `json:"data"` // 业务数据 1096 } 1097 1098 func (resp *CreateSpaceMemberResp) Success() bool { 1099 return resp.Code == 0 1100 } 1101 1102 type DeleteSpaceMemberReqBuilder struct { 1103 apiReq *larkcore.ApiReq 1104 member *Member 1105 } 1106 1107 func NewDeleteSpaceMemberReqBuilder() *DeleteSpaceMemberReqBuilder { 1108 builder := &DeleteSpaceMemberReqBuilder{} 1109 builder.apiReq = &larkcore.ApiReq{ 1110 PathParams: larkcore.PathParams{}, 1111 QueryParams: larkcore.QueryParams{}, 1112 } 1113 return builder 1114 } 1115 1116 // 知识空间id 1117 // 1118 // 示例值:7008061636015554580 1119 func (builder *DeleteSpaceMemberReqBuilder) SpaceId(spaceId string) *DeleteSpaceMemberReqBuilder { 1120 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 1121 return builder 1122 } 1123 1124 // 成员id 1125 // 1126 // 示例值:g64fb7g7 1127 func (builder *DeleteSpaceMemberReqBuilder) MemberId(memberId string) *DeleteSpaceMemberReqBuilder { 1128 builder.apiReq.PathParams.Set("member_id", fmt.Sprint(memberId)) 1129 return builder 1130 } 1131 1132 // 此接口用于删除知识空间成员。;;- 公开知识空间(visibility为public)对租户所有用户可见,因此不支持再删除成员,但可以删除管理员。;;- 个人知识空间 (type为person)为个人管理的知识空间,不支持删除管理员。但可以删除成员。 1133 func (builder *DeleteSpaceMemberReqBuilder) Member(member *Member) *DeleteSpaceMemberReqBuilder { 1134 builder.member = member 1135 return builder 1136 } 1137 1138 func (builder *DeleteSpaceMemberReqBuilder) Build() *DeleteSpaceMemberReq { 1139 req := &DeleteSpaceMemberReq{} 1140 req.apiReq = &larkcore.ApiReq{} 1141 req.apiReq.PathParams = builder.apiReq.PathParams 1142 req.apiReq.Body = builder.member 1143 return req 1144 } 1145 1146 type DeleteSpaceMemberReq struct { 1147 apiReq *larkcore.ApiReq 1148 Member *Member `body:""` 1149 } 1150 1151 type DeleteSpaceMemberRespData struct { 1152 Member *Member `json:"member,omitempty"` // 成员信息 1153 } 1154 1155 type DeleteSpaceMemberResp struct { 1156 *larkcore.ApiResp `json:"-"` 1157 larkcore.CodeError 1158 Data *DeleteSpaceMemberRespData `json:"data"` // 业务数据 1159 } 1160 1161 func (resp *DeleteSpaceMemberResp) Success() bool { 1162 return resp.Code == 0 1163 } 1164 1165 type CopySpaceNodeReqBodyBuilder struct { 1166 targetParentToken string // 目标父节点token 1167 targetParentTokenFlag bool 1168 targetSpaceId string // 目标知识空间id 1169 targetSpaceIdFlag bool 1170 title string // 复制后的新标题。如果填空,则新标题为空。如果不填,则使用原节点标题。 1171 titleFlag bool 1172 } 1173 1174 func NewCopySpaceNodeReqBodyBuilder() *CopySpaceNodeReqBodyBuilder { 1175 builder := &CopySpaceNodeReqBodyBuilder{} 1176 return builder 1177 } 1178 1179 // 目标父节点token 1180 // 1181 //示例值:wikcnKQ1k3pcuo5uSK4t8Vabcef 1182 func (builder *CopySpaceNodeReqBodyBuilder) TargetParentToken(targetParentToken string) *CopySpaceNodeReqBodyBuilder { 1183 builder.targetParentToken = targetParentToken 1184 builder.targetParentTokenFlag = true 1185 return builder 1186 } 1187 1188 // 目标知识空间id 1189 // 1190 //示例值:6946843325487912356 1191 func (builder *CopySpaceNodeReqBodyBuilder) TargetSpaceId(targetSpaceId string) *CopySpaceNodeReqBodyBuilder { 1192 builder.targetSpaceId = targetSpaceId 1193 builder.targetSpaceIdFlag = true 1194 return builder 1195 } 1196 1197 // 复制后的新标题。如果填空,则新标题为空。如果不填,则使用原节点标题。 1198 // 1199 //示例值:新标题 1200 func (builder *CopySpaceNodeReqBodyBuilder) Title(title string) *CopySpaceNodeReqBodyBuilder { 1201 builder.title = title 1202 builder.titleFlag = true 1203 return builder 1204 } 1205 1206 func (builder *CopySpaceNodeReqBodyBuilder) Build() *CopySpaceNodeReqBody { 1207 req := &CopySpaceNodeReqBody{} 1208 if builder.targetParentTokenFlag { 1209 req.TargetParentToken = &builder.targetParentToken 1210 } 1211 if builder.targetSpaceIdFlag { 1212 req.TargetSpaceId = &builder.targetSpaceId 1213 } 1214 if builder.titleFlag { 1215 req.Title = &builder.title 1216 } 1217 return req 1218 } 1219 1220 type CopySpaceNodePathReqBodyBuilder struct { 1221 targetParentToken string // 目标父节点token 1222 targetParentTokenFlag bool 1223 targetSpaceId string // 目标知识空间id 1224 targetSpaceIdFlag bool 1225 title string // 复制后的新标题。如果填空,则新标题为空。如果不填,则使用原节点标题。 1226 titleFlag bool 1227 } 1228 1229 func NewCopySpaceNodePathReqBodyBuilder() *CopySpaceNodePathReqBodyBuilder { 1230 builder := &CopySpaceNodePathReqBodyBuilder{} 1231 return builder 1232 } 1233 1234 // 目标父节点token 1235 // 1236 // 示例值:wikcnKQ1k3pcuo5uSK4t8Vabcef 1237 func (builder *CopySpaceNodePathReqBodyBuilder) TargetParentToken(targetParentToken string) *CopySpaceNodePathReqBodyBuilder { 1238 builder.targetParentToken = targetParentToken 1239 builder.targetParentTokenFlag = true 1240 return builder 1241 } 1242 1243 // 目标知识空间id 1244 // 1245 // 示例值:6946843325487912356 1246 func (builder *CopySpaceNodePathReqBodyBuilder) TargetSpaceId(targetSpaceId string) *CopySpaceNodePathReqBodyBuilder { 1247 builder.targetSpaceId = targetSpaceId 1248 builder.targetSpaceIdFlag = true 1249 return builder 1250 } 1251 1252 // 复制后的新标题。如果填空,则新标题为空。如果不填,则使用原节点标题。 1253 // 1254 // 示例值:新标题 1255 func (builder *CopySpaceNodePathReqBodyBuilder) Title(title string) *CopySpaceNodePathReqBodyBuilder { 1256 builder.title = title 1257 builder.titleFlag = true 1258 return builder 1259 } 1260 1261 func (builder *CopySpaceNodePathReqBodyBuilder) Build() (*CopySpaceNodeReqBody, error) { 1262 req := &CopySpaceNodeReqBody{} 1263 if builder.targetParentTokenFlag { 1264 req.TargetParentToken = &builder.targetParentToken 1265 } 1266 if builder.targetSpaceIdFlag { 1267 req.TargetSpaceId = &builder.targetSpaceId 1268 } 1269 if builder.titleFlag { 1270 req.Title = &builder.title 1271 } 1272 return req, nil 1273 } 1274 1275 type CopySpaceNodeReqBuilder struct { 1276 apiReq *larkcore.ApiReq 1277 body *CopySpaceNodeReqBody 1278 } 1279 1280 func NewCopySpaceNodeReqBuilder() *CopySpaceNodeReqBuilder { 1281 builder := &CopySpaceNodeReqBuilder{} 1282 builder.apiReq = &larkcore.ApiReq{ 1283 PathParams: larkcore.PathParams{}, 1284 QueryParams: larkcore.QueryParams{}, 1285 } 1286 return builder 1287 } 1288 1289 // 知识空间id 1290 // 1291 // 示例值:6946843325487912356 1292 func (builder *CopySpaceNodeReqBuilder) SpaceId(spaceId string) *CopySpaceNodeReqBuilder { 1293 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 1294 return builder 1295 } 1296 1297 // 节点token 1298 // 1299 // 示例值:wikcnKQ1k3pcuo5uSK4t8Vabcef 1300 func (builder *CopySpaceNodeReqBuilder) NodeToken(nodeToken string) *CopySpaceNodeReqBuilder { 1301 builder.apiReq.PathParams.Set("node_token", fmt.Sprint(nodeToken)) 1302 return builder 1303 } 1304 1305 // 此接口用于创建节点副本到指定地点。 1306 func (builder *CopySpaceNodeReqBuilder) Body(body *CopySpaceNodeReqBody) *CopySpaceNodeReqBuilder { 1307 builder.body = body 1308 return builder 1309 } 1310 1311 func (builder *CopySpaceNodeReqBuilder) Build() *CopySpaceNodeReq { 1312 req := &CopySpaceNodeReq{} 1313 req.apiReq = &larkcore.ApiReq{} 1314 req.apiReq.PathParams = builder.apiReq.PathParams 1315 req.apiReq.Body = builder.body 1316 return req 1317 } 1318 1319 type CopySpaceNodeReqBody struct { 1320 TargetParentToken *string `json:"target_parent_token,omitempty"` // 目标父节点token 1321 TargetSpaceId *string `json:"target_space_id,omitempty"` // 目标知识空间id 1322 Title *string `json:"title,omitempty"` // 复制后的新标题。如果填空,则新标题为空。如果不填,则使用原节点标题。 1323 } 1324 1325 type CopySpaceNodeReq struct { 1326 apiReq *larkcore.ApiReq 1327 Body *CopySpaceNodeReqBody `body:""` 1328 } 1329 1330 type CopySpaceNodeRespData struct { 1331 Node *Node `json:"node,omitempty"` // copy后的节点 1332 } 1333 1334 type CopySpaceNodeResp struct { 1335 *larkcore.ApiResp `json:"-"` 1336 larkcore.CodeError 1337 Data *CopySpaceNodeRespData `json:"data"` // 业务数据 1338 } 1339 1340 func (resp *CopySpaceNodeResp) Success() bool { 1341 return resp.Code == 0 1342 } 1343 1344 type CreateSpaceNodeReqBuilder struct { 1345 apiReq *larkcore.ApiReq 1346 node *Node 1347 } 1348 1349 func NewCreateSpaceNodeReqBuilder() *CreateSpaceNodeReqBuilder { 1350 builder := &CreateSpaceNodeReqBuilder{} 1351 builder.apiReq = &larkcore.ApiReq{ 1352 PathParams: larkcore.PathParams{}, 1353 QueryParams: larkcore.QueryParams{}, 1354 } 1355 return builder 1356 } 1357 1358 // 知识空间id 1359 // 1360 // 示例值:6704147935988285963 1361 func (builder *CreateSpaceNodeReqBuilder) SpaceId(spaceId string) *CreateSpaceNodeReqBuilder { 1362 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 1363 return builder 1364 } 1365 1366 // 此接口用于在知识库里创建节点。 1367 func (builder *CreateSpaceNodeReqBuilder) Node(node *Node) *CreateSpaceNodeReqBuilder { 1368 builder.node = node 1369 return builder 1370 } 1371 1372 func (builder *CreateSpaceNodeReqBuilder) Build() *CreateSpaceNodeReq { 1373 req := &CreateSpaceNodeReq{} 1374 req.apiReq = &larkcore.ApiReq{} 1375 req.apiReq.PathParams = builder.apiReq.PathParams 1376 req.apiReq.Body = builder.node 1377 return req 1378 } 1379 1380 type CreateSpaceNodeReq struct { 1381 apiReq *larkcore.ApiReq 1382 Node *Node `body:""` 1383 } 1384 1385 type CreateSpaceNodeRespData struct { 1386 Node *Node `json:"node,omitempty"` // 节点 1387 } 1388 1389 type CreateSpaceNodeResp struct { 1390 *larkcore.ApiResp `json:"-"` 1391 larkcore.CodeError 1392 Data *CreateSpaceNodeRespData `json:"data"` // 业务数据 1393 } 1394 1395 func (resp *CreateSpaceNodeResp) Success() bool { 1396 return resp.Code == 0 1397 } 1398 1399 type ListSpaceNodeReqBuilder struct { 1400 apiReq *larkcore.ApiReq 1401 limit int // 最大返回多少记录,当使用迭代器访问时才有效 1402 } 1403 1404 func NewListSpaceNodeReqBuilder() *ListSpaceNodeReqBuilder { 1405 builder := &ListSpaceNodeReqBuilder{} 1406 builder.apiReq = &larkcore.ApiReq{ 1407 PathParams: larkcore.PathParams{}, 1408 QueryParams: larkcore.QueryParams{}, 1409 } 1410 return builder 1411 } 1412 1413 // 最大返回多少记录,当使用迭代器访问时才有效 1414 func (builder *ListSpaceNodeReqBuilder) Limit(limit int) *ListSpaceNodeReqBuilder { 1415 builder.limit = limit 1416 return builder 1417 } 1418 1419 // 知识空间id 1420 // 1421 // 示例值:6946843325487906839 1422 func (builder *ListSpaceNodeReqBuilder) SpaceId(spaceId string) *ListSpaceNodeReqBuilder { 1423 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 1424 return builder 1425 } 1426 1427 // 分页大小 1428 // 1429 // 示例值:10 1430 func (builder *ListSpaceNodeReqBuilder) PageSize(pageSize int) *ListSpaceNodeReqBuilder { 1431 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 1432 return builder 1433 } 1434 1435 // 分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果 1436 // 1437 // 示例值:6946843325487456878 1438 func (builder *ListSpaceNodeReqBuilder) PageToken(pageToken string) *ListSpaceNodeReqBuilder { 1439 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 1440 return builder 1441 } 1442 1443 // 父节点token 1444 // 1445 // 示例值:wikcnKQ1k3pcuo5uSK4t8VN6kVf 1446 func (builder *ListSpaceNodeReqBuilder) ParentNodeToken(parentNodeToken string) *ListSpaceNodeReqBuilder { 1447 builder.apiReq.QueryParams.Set("parent_node_token", fmt.Sprint(parentNodeToken)) 1448 return builder 1449 } 1450 1451 func (builder *ListSpaceNodeReqBuilder) Build() *ListSpaceNodeReq { 1452 req := &ListSpaceNodeReq{} 1453 req.apiReq = &larkcore.ApiReq{} 1454 req.Limit = builder.limit 1455 req.apiReq.PathParams = builder.apiReq.PathParams 1456 req.apiReq.QueryParams = builder.apiReq.QueryParams 1457 return req 1458 } 1459 1460 type ListSpaceNodeReq struct { 1461 apiReq *larkcore.ApiReq 1462 Limit int // 最多返回多少记录,只有在使用迭代器访问时,才有效 1463 1464 } 1465 1466 type ListSpaceNodeRespData struct { 1467 Items []*Node `json:"items,omitempty"` // 数据列表 1468 PageToken *string `json:"page_token,omitempty"` // 1469 HasMore *bool `json:"has_more,omitempty"` // 1470 } 1471 1472 type ListSpaceNodeResp struct { 1473 *larkcore.ApiResp `json:"-"` 1474 larkcore.CodeError 1475 Data *ListSpaceNodeRespData `json:"data"` // 业务数据 1476 } 1477 1478 func (resp *ListSpaceNodeResp) Success() bool { 1479 return resp.Code == 0 1480 } 1481 1482 type MoveSpaceNodeReqBodyBuilder struct { 1483 targetParentToken string // 移动到的父节点token 1484 targetParentTokenFlag bool 1485 targetSpaceId string // 移动到的知识空间ID 1486 targetSpaceIdFlag bool 1487 } 1488 1489 func NewMoveSpaceNodeReqBodyBuilder() *MoveSpaceNodeReqBodyBuilder { 1490 builder := &MoveSpaceNodeReqBodyBuilder{} 1491 return builder 1492 } 1493 1494 // 移动到的父节点token 1495 // 1496 //示例值:wikbcd6ydSUyOEzbdlt1BfpA5Yc 1497 func (builder *MoveSpaceNodeReqBodyBuilder) TargetParentToken(targetParentToken string) *MoveSpaceNodeReqBodyBuilder { 1498 builder.targetParentToken = targetParentToken 1499 builder.targetParentTokenFlag = true 1500 return builder 1501 } 1502 1503 // 移动到的知识空间ID 1504 // 1505 //示例值: 1506 func (builder *MoveSpaceNodeReqBodyBuilder) TargetSpaceId(targetSpaceId string) *MoveSpaceNodeReqBodyBuilder { 1507 builder.targetSpaceId = targetSpaceId 1508 builder.targetSpaceIdFlag = true 1509 return builder 1510 } 1511 1512 func (builder *MoveSpaceNodeReqBodyBuilder) Build() *MoveSpaceNodeReqBody { 1513 req := &MoveSpaceNodeReqBody{} 1514 if builder.targetParentTokenFlag { 1515 req.TargetParentToken = &builder.targetParentToken 1516 } 1517 if builder.targetSpaceIdFlag { 1518 req.TargetSpaceId = &builder.targetSpaceId 1519 } 1520 return req 1521 } 1522 1523 type MoveSpaceNodePathReqBodyBuilder struct { 1524 targetParentToken string // 移动到的父节点token 1525 targetParentTokenFlag bool 1526 targetSpaceId string // 移动到的知识空间ID 1527 targetSpaceIdFlag bool 1528 } 1529 1530 func NewMoveSpaceNodePathReqBodyBuilder() *MoveSpaceNodePathReqBodyBuilder { 1531 builder := &MoveSpaceNodePathReqBodyBuilder{} 1532 return builder 1533 } 1534 1535 // 移动到的父节点token 1536 // 1537 // 示例值:wikbcd6ydSUyOEzbdlt1BfpA5Yc 1538 func (builder *MoveSpaceNodePathReqBodyBuilder) TargetParentToken(targetParentToken string) *MoveSpaceNodePathReqBodyBuilder { 1539 builder.targetParentToken = targetParentToken 1540 builder.targetParentTokenFlag = true 1541 return builder 1542 } 1543 1544 // 移动到的知识空间ID 1545 // 1546 // 示例值: 1547 func (builder *MoveSpaceNodePathReqBodyBuilder) TargetSpaceId(targetSpaceId string) *MoveSpaceNodePathReqBodyBuilder { 1548 builder.targetSpaceId = targetSpaceId 1549 builder.targetSpaceIdFlag = true 1550 return builder 1551 } 1552 1553 func (builder *MoveSpaceNodePathReqBodyBuilder) Build() (*MoveSpaceNodeReqBody, error) { 1554 req := &MoveSpaceNodeReqBody{} 1555 if builder.targetParentTokenFlag { 1556 req.TargetParentToken = &builder.targetParentToken 1557 } 1558 if builder.targetSpaceIdFlag { 1559 req.TargetSpaceId = &builder.targetSpaceId 1560 } 1561 return req, nil 1562 } 1563 1564 type MoveSpaceNodeReqBuilder struct { 1565 apiReq *larkcore.ApiReq 1566 body *MoveSpaceNodeReqBody 1567 } 1568 1569 func NewMoveSpaceNodeReqBuilder() *MoveSpaceNodeReqBuilder { 1570 builder := &MoveSpaceNodeReqBuilder{} 1571 builder.apiReq = &larkcore.ApiReq{ 1572 PathParams: larkcore.PathParams{}, 1573 QueryParams: larkcore.QueryParams{}, 1574 } 1575 return builder 1576 } 1577 1578 // 知识空间id 1579 // 1580 // 示例值:7008061636015554580 1581 func (builder *MoveSpaceNodeReqBuilder) SpaceId(spaceId string) *MoveSpaceNodeReqBuilder { 1582 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 1583 return builder 1584 } 1585 1586 // 需要迁移的节点token 1587 // 1588 // 示例值:wikbcd6ydSUyOEzbdlt1BfpA5Yc 1589 func (builder *MoveSpaceNodeReqBuilder) NodeToken(nodeToken string) *MoveSpaceNodeReqBuilder { 1590 builder.apiReq.PathParams.Set("node_token", fmt.Sprint(nodeToken)) 1591 return builder 1592 } 1593 1594 // 此方法用于在Wiki内移动节点,支持跨知识空间移动。如果有子节点,会携带子节点一起移动。 1595 func (builder *MoveSpaceNodeReqBuilder) Body(body *MoveSpaceNodeReqBody) *MoveSpaceNodeReqBuilder { 1596 builder.body = body 1597 return builder 1598 } 1599 1600 func (builder *MoveSpaceNodeReqBuilder) Build() *MoveSpaceNodeReq { 1601 req := &MoveSpaceNodeReq{} 1602 req.apiReq = &larkcore.ApiReq{} 1603 req.apiReq.PathParams = builder.apiReq.PathParams 1604 req.apiReq.Body = builder.body 1605 return req 1606 } 1607 1608 type MoveSpaceNodeReqBody struct { 1609 TargetParentToken *string `json:"target_parent_token,omitempty"` // 移动到的父节点token 1610 TargetSpaceId *string `json:"target_space_id,omitempty"` // 移动到的知识空间ID 1611 } 1612 1613 type MoveSpaceNodeReq struct { 1614 apiReq *larkcore.ApiReq 1615 Body *MoveSpaceNodeReqBody `body:""` 1616 } 1617 1618 type MoveSpaceNodeRespData struct { 1619 Node *Node `json:"node,omitempty"` // 移动后的节点信息 1620 } 1621 1622 type MoveSpaceNodeResp struct { 1623 *larkcore.ApiResp `json:"-"` 1624 larkcore.CodeError 1625 Data *MoveSpaceNodeRespData `json:"data"` // 业务数据 1626 } 1627 1628 func (resp *MoveSpaceNodeResp) Success() bool { 1629 return resp.Code == 0 1630 } 1631 1632 type MoveDocsToWikiSpaceNodeReqBodyBuilder struct { 1633 parentWikiToken string // 节点的父亲token 1634 parentWikiTokenFlag bool 1635 objType string // 文档类型 1636 objTypeFlag bool 1637 objToken string // 文档token 1638 objTokenFlag bool 1639 apply bool // 没有权限时,是否申请迁入文档 1640 applyFlag bool 1641 } 1642 1643 func NewMoveDocsToWikiSpaceNodeReqBodyBuilder() *MoveDocsToWikiSpaceNodeReqBodyBuilder { 1644 builder := &MoveDocsToWikiSpaceNodeReqBodyBuilder{} 1645 return builder 1646 } 1647 1648 // 节点的父亲token 1649 // 1650 //示例值:wikbcOHIFxB0PJS2UTd2kF2SP6c 1651 func (builder *MoveDocsToWikiSpaceNodeReqBodyBuilder) ParentWikiToken(parentWikiToken string) *MoveDocsToWikiSpaceNodeReqBodyBuilder { 1652 builder.parentWikiToken = parentWikiToken 1653 builder.parentWikiTokenFlag = true 1654 return builder 1655 } 1656 1657 // 文档类型 1658 // 1659 //示例值:doc 1660 func (builder *MoveDocsToWikiSpaceNodeReqBodyBuilder) ObjType(objType string) *MoveDocsToWikiSpaceNodeReqBodyBuilder { 1661 builder.objType = objType 1662 builder.objTypeFlag = true 1663 return builder 1664 } 1665 1666 // 文档token 1667 // 1668 //示例值:docbc6e1qBqt1O5mCBVA1QUKVEg 1669 func (builder *MoveDocsToWikiSpaceNodeReqBodyBuilder) ObjToken(objToken string) *MoveDocsToWikiSpaceNodeReqBodyBuilder { 1670 builder.objToken = objToken 1671 builder.objTokenFlag = true 1672 return builder 1673 } 1674 1675 // 没有权限时,是否申请迁入文档 1676 // 1677 //示例值:true 1678 func (builder *MoveDocsToWikiSpaceNodeReqBodyBuilder) Apply(apply bool) *MoveDocsToWikiSpaceNodeReqBodyBuilder { 1679 builder.apply = apply 1680 builder.applyFlag = true 1681 return builder 1682 } 1683 1684 func (builder *MoveDocsToWikiSpaceNodeReqBodyBuilder) Build() *MoveDocsToWikiSpaceNodeReqBody { 1685 req := &MoveDocsToWikiSpaceNodeReqBody{} 1686 if builder.parentWikiTokenFlag { 1687 req.ParentWikiToken = &builder.parentWikiToken 1688 } 1689 if builder.objTypeFlag { 1690 req.ObjType = &builder.objType 1691 } 1692 if builder.objTokenFlag { 1693 req.ObjToken = &builder.objToken 1694 } 1695 if builder.applyFlag { 1696 req.Apply = &builder.apply 1697 } 1698 return req 1699 } 1700 1701 type MoveDocsToWikiSpaceNodePathReqBodyBuilder struct { 1702 parentWikiToken string // 节点的父亲token 1703 parentWikiTokenFlag bool 1704 objType string // 文档类型 1705 objTypeFlag bool 1706 objToken string // 文档token 1707 objTokenFlag bool 1708 apply bool // 没有权限时,是否申请迁入文档 1709 applyFlag bool 1710 } 1711 1712 func NewMoveDocsToWikiSpaceNodePathReqBodyBuilder() *MoveDocsToWikiSpaceNodePathReqBodyBuilder { 1713 builder := &MoveDocsToWikiSpaceNodePathReqBodyBuilder{} 1714 return builder 1715 } 1716 1717 // 节点的父亲token 1718 // 1719 // 示例值:wikbcOHIFxB0PJS2UTd2kF2SP6c 1720 func (builder *MoveDocsToWikiSpaceNodePathReqBodyBuilder) ParentWikiToken(parentWikiToken string) *MoveDocsToWikiSpaceNodePathReqBodyBuilder { 1721 builder.parentWikiToken = parentWikiToken 1722 builder.parentWikiTokenFlag = true 1723 return builder 1724 } 1725 1726 // 文档类型 1727 // 1728 // 示例值:doc 1729 func (builder *MoveDocsToWikiSpaceNodePathReqBodyBuilder) ObjType(objType string) *MoveDocsToWikiSpaceNodePathReqBodyBuilder { 1730 builder.objType = objType 1731 builder.objTypeFlag = true 1732 return builder 1733 } 1734 1735 // 文档token 1736 // 1737 // 示例值:docbc6e1qBqt1O5mCBVA1QUKVEg 1738 func (builder *MoveDocsToWikiSpaceNodePathReqBodyBuilder) ObjToken(objToken string) *MoveDocsToWikiSpaceNodePathReqBodyBuilder { 1739 builder.objToken = objToken 1740 builder.objTokenFlag = true 1741 return builder 1742 } 1743 1744 // 没有权限时,是否申请迁入文档 1745 // 1746 // 示例值:true 1747 func (builder *MoveDocsToWikiSpaceNodePathReqBodyBuilder) Apply(apply bool) *MoveDocsToWikiSpaceNodePathReqBodyBuilder { 1748 builder.apply = apply 1749 builder.applyFlag = true 1750 return builder 1751 } 1752 1753 func (builder *MoveDocsToWikiSpaceNodePathReqBodyBuilder) Build() (*MoveDocsToWikiSpaceNodeReqBody, error) { 1754 req := &MoveDocsToWikiSpaceNodeReqBody{} 1755 if builder.parentWikiTokenFlag { 1756 req.ParentWikiToken = &builder.parentWikiToken 1757 } 1758 if builder.objTypeFlag { 1759 req.ObjType = &builder.objType 1760 } 1761 if builder.objTokenFlag { 1762 req.ObjToken = &builder.objToken 1763 } 1764 if builder.applyFlag { 1765 req.Apply = &builder.apply 1766 } 1767 return req, nil 1768 } 1769 1770 type MoveDocsToWikiSpaceNodeReqBuilder struct { 1771 apiReq *larkcore.ApiReq 1772 body *MoveDocsToWikiSpaceNodeReqBody 1773 } 1774 1775 func NewMoveDocsToWikiSpaceNodeReqBuilder() *MoveDocsToWikiSpaceNodeReqBuilder { 1776 builder := &MoveDocsToWikiSpaceNodeReqBuilder{} 1777 builder.apiReq = &larkcore.ApiReq{ 1778 PathParams: larkcore.PathParams{}, 1779 QueryParams: larkcore.QueryParams{}, 1780 } 1781 return builder 1782 } 1783 1784 // 知识库id 1785 // 1786 // 示例值:1565676577122621 1787 func (builder *MoveDocsToWikiSpaceNodeReqBuilder) SpaceId(spaceId string) *MoveDocsToWikiSpaceNodeReqBuilder { 1788 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 1789 return builder 1790 } 1791 1792 // 该接口允许添加已有云文档至知识库,并挂载在指定父页面下 1793 func (builder *MoveDocsToWikiSpaceNodeReqBuilder) Body(body *MoveDocsToWikiSpaceNodeReqBody) *MoveDocsToWikiSpaceNodeReqBuilder { 1794 builder.body = body 1795 return builder 1796 } 1797 1798 func (builder *MoveDocsToWikiSpaceNodeReqBuilder) Build() *MoveDocsToWikiSpaceNodeReq { 1799 req := &MoveDocsToWikiSpaceNodeReq{} 1800 req.apiReq = &larkcore.ApiReq{} 1801 req.apiReq.PathParams = builder.apiReq.PathParams 1802 req.apiReq.Body = builder.body 1803 return req 1804 } 1805 1806 type MoveDocsToWikiSpaceNodeReqBody struct { 1807 ParentWikiToken *string `json:"parent_wiki_token,omitempty"` // 节点的父亲token 1808 ObjType *string `json:"obj_type,omitempty"` // 文档类型 1809 ObjToken *string `json:"obj_token,omitempty"` // 文档token 1810 Apply *bool `json:"apply,omitempty"` // 没有权限时,是否申请迁入文档 1811 } 1812 1813 type MoveDocsToWikiSpaceNodeReq struct { 1814 apiReq *larkcore.ApiReq 1815 Body *MoveDocsToWikiSpaceNodeReqBody `body:""` 1816 } 1817 1818 type MoveDocsToWikiSpaceNodeRespData struct { 1819 WikiToken *string `json:"wiki_token,omitempty"` // 移动后的知识库token 1820 TaskId *string `json:"task_id,omitempty"` // 任务id 1821 Applied *bool `json:"applied,omitempty"` // 是否提交了文档迁入申请 1822 } 1823 1824 type MoveDocsToWikiSpaceNodeResp struct { 1825 *larkcore.ApiResp `json:"-"` 1826 larkcore.CodeError 1827 Data *MoveDocsToWikiSpaceNodeRespData `json:"data"` // 业务数据 1828 } 1829 1830 func (resp *MoveDocsToWikiSpaceNodeResp) Success() bool { 1831 return resp.Code == 0 1832 } 1833 1834 type UpdateTitleSpaceNodeReqBodyBuilder struct { 1835 title string // 节点新标题 1836 titleFlag bool 1837 } 1838 1839 func NewUpdateTitleSpaceNodeReqBodyBuilder() *UpdateTitleSpaceNodeReqBodyBuilder { 1840 builder := &UpdateTitleSpaceNodeReqBodyBuilder{} 1841 return builder 1842 } 1843 1844 // 节点新标题 1845 // 1846 //示例值:新标题 1847 func (builder *UpdateTitleSpaceNodeReqBodyBuilder) Title(title string) *UpdateTitleSpaceNodeReqBodyBuilder { 1848 builder.title = title 1849 builder.titleFlag = true 1850 return builder 1851 } 1852 1853 func (builder *UpdateTitleSpaceNodeReqBodyBuilder) Build() *UpdateTitleSpaceNodeReqBody { 1854 req := &UpdateTitleSpaceNodeReqBody{} 1855 if builder.titleFlag { 1856 req.Title = &builder.title 1857 } 1858 return req 1859 } 1860 1861 type UpdateTitleSpaceNodePathReqBodyBuilder struct { 1862 title string // 节点新标题 1863 titleFlag bool 1864 } 1865 1866 func NewUpdateTitleSpaceNodePathReqBodyBuilder() *UpdateTitleSpaceNodePathReqBodyBuilder { 1867 builder := &UpdateTitleSpaceNodePathReqBodyBuilder{} 1868 return builder 1869 } 1870 1871 // 节点新标题 1872 // 1873 // 示例值:新标题 1874 func (builder *UpdateTitleSpaceNodePathReqBodyBuilder) Title(title string) *UpdateTitleSpaceNodePathReqBodyBuilder { 1875 builder.title = title 1876 builder.titleFlag = true 1877 return builder 1878 } 1879 1880 func (builder *UpdateTitleSpaceNodePathReqBodyBuilder) Build() (*UpdateTitleSpaceNodeReqBody, error) { 1881 req := &UpdateTitleSpaceNodeReqBody{} 1882 if builder.titleFlag { 1883 req.Title = &builder.title 1884 } 1885 return req, nil 1886 } 1887 1888 type UpdateTitleSpaceNodeReqBuilder struct { 1889 apiReq *larkcore.ApiReq 1890 body *UpdateTitleSpaceNodeReqBody 1891 } 1892 1893 func NewUpdateTitleSpaceNodeReqBuilder() *UpdateTitleSpaceNodeReqBuilder { 1894 builder := &UpdateTitleSpaceNodeReqBuilder{} 1895 builder.apiReq = &larkcore.ApiReq{ 1896 PathParams: larkcore.PathParams{}, 1897 QueryParams: larkcore.QueryParams{}, 1898 } 1899 return builder 1900 } 1901 1902 // 知识空间ID 1903 // 1904 // 示例值:6946843325487912356 1905 func (builder *UpdateTitleSpaceNodeReqBuilder) SpaceId(spaceId string) *UpdateTitleSpaceNodeReqBuilder { 1906 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 1907 return builder 1908 } 1909 1910 // 节点token 1911 // 1912 // 示例值:wikcnKQ1k3pcuo5uSK4t8Vabcef 1913 func (builder *UpdateTitleSpaceNodeReqBuilder) NodeToken(nodeToken string) *UpdateTitleSpaceNodeReqBuilder { 1914 builder.apiReq.PathParams.Set("node_token", fmt.Sprint(nodeToken)) 1915 return builder 1916 } 1917 1918 // 此接口用于更新节点标题 1919 func (builder *UpdateTitleSpaceNodeReqBuilder) Body(body *UpdateTitleSpaceNodeReqBody) *UpdateTitleSpaceNodeReqBuilder { 1920 builder.body = body 1921 return builder 1922 } 1923 1924 func (builder *UpdateTitleSpaceNodeReqBuilder) Build() *UpdateTitleSpaceNodeReq { 1925 req := &UpdateTitleSpaceNodeReq{} 1926 req.apiReq = &larkcore.ApiReq{} 1927 req.apiReq.PathParams = builder.apiReq.PathParams 1928 req.apiReq.Body = builder.body 1929 return req 1930 } 1931 1932 type UpdateTitleSpaceNodeReqBody struct { 1933 Title *string `json:"title,omitempty"` // 节点新标题 1934 } 1935 1936 type UpdateTitleSpaceNodeReq struct { 1937 apiReq *larkcore.ApiReq 1938 Body *UpdateTitleSpaceNodeReqBody `body:""` 1939 } 1940 1941 type UpdateTitleSpaceNodeResp struct { 1942 *larkcore.ApiResp `json:"-"` 1943 larkcore.CodeError 1944 } 1945 1946 func (resp *UpdateTitleSpaceNodeResp) Success() bool { 1947 return resp.Code == 0 1948 } 1949 1950 type UpdateSpaceSettingReqBuilder struct { 1951 apiReq *larkcore.ApiReq 1952 setting *Setting 1953 } 1954 1955 func NewUpdateSpaceSettingReqBuilder() *UpdateSpaceSettingReqBuilder { 1956 builder := &UpdateSpaceSettingReqBuilder{} 1957 builder.apiReq = &larkcore.ApiReq{ 1958 PathParams: larkcore.PathParams{}, 1959 QueryParams: larkcore.QueryParams{}, 1960 } 1961 return builder 1962 } 1963 1964 // 知识空间id 1965 // 1966 // 示例值:1565676577122621 1967 func (builder *UpdateSpaceSettingReqBuilder) SpaceId(spaceId string) *UpdateSpaceSettingReqBuilder { 1968 builder.apiReq.PathParams.Set("space_id", fmt.Sprint(spaceId)) 1969 return builder 1970 } 1971 1972 // 根据space_id更新知识空间公共设置 1973 func (builder *UpdateSpaceSettingReqBuilder) Setting(setting *Setting) *UpdateSpaceSettingReqBuilder { 1974 builder.setting = setting 1975 return builder 1976 } 1977 1978 func (builder *UpdateSpaceSettingReqBuilder) Build() *UpdateSpaceSettingReq { 1979 req := &UpdateSpaceSettingReq{} 1980 req.apiReq = &larkcore.ApiReq{} 1981 req.apiReq.PathParams = builder.apiReq.PathParams 1982 req.apiReq.Body = builder.setting 1983 return req 1984 } 1985 1986 type UpdateSpaceSettingReq struct { 1987 apiReq *larkcore.ApiReq 1988 Setting *Setting `body:""` 1989 } 1990 1991 type UpdateSpaceSettingRespData struct { 1992 Setting *Setting `json:"setting,omitempty"` // 知识空间设置 1993 } 1994 1995 type UpdateSpaceSettingResp struct { 1996 *larkcore.ApiResp `json:"-"` 1997 larkcore.CodeError 1998 Data *UpdateSpaceSettingRespData `json:"data"` // 业务数据 1999 } 2000 2001 func (resp *UpdateSpaceSettingResp) Success() bool { 2002 return resp.Code == 0 2003 } 2004 2005 type GetTaskReqBuilder struct { 2006 apiReq *larkcore.ApiReq 2007 } 2008 2009 func NewGetTaskReqBuilder() *GetTaskReqBuilder { 2010 builder := &GetTaskReqBuilder{} 2011 builder.apiReq = &larkcore.ApiReq{ 2012 PathParams: larkcore.PathParams{}, 2013 QueryParams: larkcore.QueryParams{}, 2014 } 2015 return builder 2016 } 2017 2018 // 任务id 2019 // 2020 // 示例值:7037044037068177428-075c9481e6a0007c1df689dfbe5b55a08b6b06f7 2021 func (builder *GetTaskReqBuilder) TaskId(taskId string) *GetTaskReqBuilder { 2022 builder.apiReq.PathParams.Set("task_id", fmt.Sprint(taskId)) 2023 return builder 2024 } 2025 2026 // 任务类型 2027 // 2028 // 示例值:move 2029 func (builder *GetTaskReqBuilder) TaskType(taskType string) *GetTaskReqBuilder { 2030 builder.apiReq.QueryParams.Set("task_type", fmt.Sprint(taskType)) 2031 return builder 2032 } 2033 2034 func (builder *GetTaskReqBuilder) Build() *GetTaskReq { 2035 req := &GetTaskReq{} 2036 req.apiReq = &larkcore.ApiReq{} 2037 req.apiReq.PathParams = builder.apiReq.PathParams 2038 req.apiReq.QueryParams = builder.apiReq.QueryParams 2039 return req 2040 } 2041 2042 type GetTaskReq struct { 2043 apiReq *larkcore.ApiReq 2044 } 2045 2046 type GetTaskRespData struct { 2047 Task *TaskResult `json:"task,omitempty"` // 任务结果 2048 } 2049 2050 type GetTaskResp struct { 2051 *larkcore.ApiResp `json:"-"` 2052 larkcore.CodeError 2053 Data *GetTaskRespData `json:"data"` // 业务数据 2054 } 2055 2056 func (resp *GetTaskResp) Success() bool { 2057 return resp.Code == 0 2058 } 2059 2060 type ListSpaceIterator struct { 2061 nextPageToken *string 2062 items []*Space 2063 index int 2064 limit int 2065 ctx context.Context 2066 req *ListSpaceReq 2067 listFunc func(ctx context.Context, req *ListSpaceReq, options ...larkcore.RequestOptionFunc) (*ListSpaceResp, error) 2068 options []larkcore.RequestOptionFunc 2069 curlNum int 2070 } 2071 2072 func (iterator *ListSpaceIterator) Next() (bool, *Space, error) { 2073 // 达到最大量,则返回 2074 if iterator.limit > 0 && iterator.curlNum >= iterator.limit { 2075 return false, nil, nil 2076 } 2077 2078 // 为0则拉取数据 2079 if iterator.index == 0 || iterator.index >= len(iterator.items) { 2080 if iterator.index != 0 && iterator.nextPageToken == nil { 2081 return false, nil, nil 2082 } 2083 if iterator.nextPageToken != nil { 2084 iterator.req.apiReq.QueryParams.Set("page_token", *iterator.nextPageToken) 2085 } 2086 resp, err := iterator.listFunc(iterator.ctx, iterator.req, iterator.options...) 2087 if err != nil { 2088 return false, nil, err 2089 } 2090 2091 if resp.Code != 0 { 2092 return false, nil, errors.New(fmt.Sprintf("Code:%d,Msg:%s", resp.Code, resp.Msg)) 2093 } 2094 2095 if len(resp.Data.Items) == 0 { 2096 return false, nil, nil 2097 } 2098 2099 iterator.nextPageToken = resp.Data.PageToken 2100 iterator.items = resp.Data.Items 2101 iterator.index = 0 2102 } 2103 2104 block := iterator.items[iterator.index] 2105 iterator.index++ 2106 iterator.curlNum++ 2107 return true, block, nil 2108 } 2109 2110 func (iterator *ListSpaceIterator) NextPageToken() *string { 2111 return iterator.nextPageToken 2112 } 2113 2114 type ListSpaceNodeIterator struct { 2115 nextPageToken *string 2116 items []*Node 2117 index int 2118 limit int 2119 ctx context.Context 2120 req *ListSpaceNodeReq 2121 listFunc func(ctx context.Context, req *ListSpaceNodeReq, options ...larkcore.RequestOptionFunc) (*ListSpaceNodeResp, error) 2122 options []larkcore.RequestOptionFunc 2123 curlNum int 2124 } 2125 2126 func (iterator *ListSpaceNodeIterator) Next() (bool, *Node, error) { 2127 // 达到最大量,则返回 2128 if iterator.limit > 0 && iterator.curlNum >= iterator.limit { 2129 return false, nil, nil 2130 } 2131 2132 // 为0则拉取数据 2133 if iterator.index == 0 || iterator.index >= len(iterator.items) { 2134 if iterator.index != 0 && iterator.nextPageToken == nil { 2135 return false, nil, nil 2136 } 2137 if iterator.nextPageToken != nil { 2138 iterator.req.apiReq.QueryParams.Set("page_token", *iterator.nextPageToken) 2139 } 2140 resp, err := iterator.listFunc(iterator.ctx, iterator.req, iterator.options...) 2141 if err != nil { 2142 return false, nil, err 2143 } 2144 2145 if resp.Code != 0 { 2146 return false, nil, errors.New(fmt.Sprintf("Code:%d,Msg:%s", resp.Code, resp.Msg)) 2147 } 2148 2149 if len(resp.Data.Items) == 0 { 2150 return false, nil, nil 2151 } 2152 2153 iterator.nextPageToken = resp.Data.PageToken 2154 iterator.items = resp.Data.Items 2155 iterator.index = 0 2156 } 2157 2158 block := iterator.items[iterator.index] 2159 iterator.index++ 2160 iterator.curlNum++ 2161 return true, block, nil 2162 } 2163 2164 func (iterator *ListSpaceNodeIterator) NextPageToken() *string { 2165 return iterator.nextPageToken 2166 }