gitee.com/larksuite/oapi-sdk-go/v3@v3.0.3/service/calendar/v4/model.go (about) 1 // Package calendar 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 larkcalendar 15 16 import ( 17 "fmt" 18 19 "context" 20 "errors" 21 22 "gitee.com/larksuite/oapi-sdk-go/v3/event" 23 24 "gitee.com/larksuite/oapi-sdk-go/v3/core" 25 ) 26 27 const ( 28 EventPermissionsPrivate = "private" // 私密 29 EventPermissionsShowOnlyFreeBusy = "show_only_free_busy" // 仅展示忙闲信息 30 EventPermissionsPublic = "public" // 他人可查看日程详情 31 ) 32 33 const ( 34 EventPermissionsPatchCalendarPrivate = "private" // 私密 35 EventPermissionsPatchCalendarShowOnlyFreeBusy = "show_only_free_busy" // 仅展示忙闲信息 36 EventPermissionsPatchCalendarPublic = "public" // 他人可查看日程详情 37 ) 38 39 const ( 40 UserIdTypeUserId = "user_id" // 以user_id来识别用户id 41 UserIdTypeUnionId = "union_id" // 以union_id来识别用户id 42 UserIdTypeOpenId = "open_id" // 以open_id来识别用户id 43 ) 44 45 const ( 46 CalendarAccessRoleUnkonwn = "unknown" // 未知权限 47 CalendarAccessRoleFreeBusyReader = "free_busy_reader" // 游客,只能看到忙碌/空闲信息 48 CalendarAccessRoleReader = "reader" // 订阅者,查看所有日程详情 49 CalendarAccessRoleWriter = "writer" // 编辑者,创建及修改日程 50 CalendarAccessRoleOwner = "owner" // 管理员,管理日历及共享设置 51 ) 52 53 const ( 54 UserIdTypeCreateCalendarAclUserId = "user_id" // 以user_id来识别用户 55 UserIdTypeCreateCalendarAclUnionId = "union_id" // 以union_id来识别用户 56 UserIdTypeCreateCalendarAclOpenId = "open_id" // 以open_id来识别用户 57 ) 58 59 const ( 60 UserIdTypeListCalendarAclUserId = "user_id" // 以user_id来识别用户id 61 UserIdTypeListCalendarAclUnionId = "union_id" // 以union_id来识别用户id 62 UserIdTypeListCalendarAclOpenId = "open_id" // 以open_id来识别用户id 63 ) 64 65 const ( 66 EventVisibilityDefault = "default" // 默认权限,仅向他人显示是否“忙碌” 67 EventVisibilityPublic = "public" // 公开,显示日程详情 68 EventVisibilityPrivate = "private" // 私密,仅自己可见 69 ) 70 71 const ( 72 EventAttendeeAbilityNone = "none" // 无法编辑日程、无法邀请其它参与人、无法查看参与人列表 73 EventAttendeeAbilityCanSeeOthers = "can_see_others" // 无法编辑日程、无法邀请其它参与人、可以查看参与人列表 74 EventAttendeeAbilityCanInviteOthers = "can_invite_others" // 无法编辑日程、可以邀请其它参与人、可以查看参与人列表 75 EventAttendeeAbilityCanModifyEvent = "can_modify_event" // 可以编辑日程、可以邀请其它参与人、可以查看参与人列表 76 ) 77 78 const ( 79 EventFreeBusyStatusBusy = "busy" // 忙碌 80 EventFreeBusyStatusFree = "free" // 空闲 81 ) 82 83 const ( 84 NeedNotificationTrue = true // 85 NeedNotificationFalse = false // 86 87 ) 88 89 const ( 90 EventVisibilityPatchCalendarEventDefault = "default" // 默认权限,仅向他人显示是否“忙碌” 91 EventVisibilityPatchCalendarEventPublic = "public" // 公开,显示日程详情 92 EventVisibilityPatchCalendarEventPrivate = "private" // 私密,仅自己可见 93 ) 94 95 const ( 96 EventAttendeeAbilityPatchCalendarEventNone = "none" // 无法编辑日程、无法邀请其它参与人、无法查看参与人列表 97 EventAttendeeAbilityPatchCalendarEventCanSeeOthers = "can_see_others" // 无法编辑日程、无法邀请其它参与人、可以查看参与人列表 98 EventAttendeeAbilityPatchCalendarEventCanInviteOthers = "can_invite_others" // 无法编辑日程、可以邀请其它参与人、可以查看参与人列表 99 EventAttendeeAbilityPatchCalendarEventCanModifyEvent = "can_modify_event" // 可以编辑日程、可以邀请其它参与人、可以查看参与人列表 100 ) 101 102 const ( 103 EventFreeBusyStatusPatchCalendarEventBusy = "busy" // 忙碌 104 EventFreeBusyStatusPatchCalendarEventFree = "free" // 空闲 105 ) 106 107 const ( 108 UserIdTypeSearchCalendarEventUserId = "user_id" // 以user_id来识别用户id 109 UserIdTypeSearchCalendarEventUnionId = "union_id" // 以union_id来识别用户id 110 UserIdTypeSearchCalendarEventOpenId = "open_id" // 以open_id来识别用户id 111 ) 112 113 const ( 114 UserIdTypeBatchDeleteCalendarEventAttendeeUserId = "user_id" // 以user_id来识别用户id 115 UserIdTypeBatchDeleteCalendarEventAttendeeUnionId = "union_id" // 以union_id来识别用户id 116 UserIdTypeBatchDeleteCalendarEventAttendeeOpenId = "open_id" // 以open_id来识别用户id 117 ) 118 119 const ( 120 UserIdTypeCreateCalendarEventAttendeeUserId = "user_id" // 以user_id来识别用户id 121 UserIdTypeCreateCalendarEventAttendeeUnionId = "union_id" // 以union_id来识别用户id 122 UserIdTypeCreateCalendarEventAttendeeOpenId = "open_id" // 以open_id来识别用户id 123 ) 124 125 const ( 126 UserIdTypeListCalendarEventAttendeeUserId = "user_id" // 以user_id来识别用户id 127 UserIdTypeListCalendarEventAttendeeUnionId = "union_id" // 以union_id来识别用户id 128 UserIdTypeListCalendarEventAttendeeOpenId = "open_id" // 以open_id来识别用户id 129 ) 130 131 const ( 132 UserIdTypeListCalendarEventAttendeeChatMemberUserId = "user_id" // 以user_id来识别用户 133 UserIdTypeListCalendarEventAttendeeChatMemberUnionId = "union_id" // 以union_id来识别用户 134 UserIdTypeListCalendarEventAttendeeChatMemberOpenId = "open_id" // 以open_id来识别用户 135 ) 136 137 const ( 138 UserIdTypeCreateExchangeBindingUserId = "user_id" // 以user_id来识别用户 139 UserIdTypeCreateExchangeBindingUnionId = "union_id" // 以union_id来识别用户 140 UserIdTypeCreateExchangeBindingOpenId = "open_id" // 以open_id来识别用户 141 ) 142 143 const ( 144 UserIdTypeGetExchangeBindingUserId = "user_id" // 以user_id来识别用户 145 UserIdTypeGetExchangeBindingUnionId = "union_id" // 以union_id来识别用户 146 UserIdTypeGetExchangeBindingOpenId = "open_id" // 以open_id来识别用户 147 ) 148 149 const ( 150 UserIdTypeListFreebusyUserId = "user_id" // 以user_id来识别用户id 151 UserIdTypeListFreebusyUnionId = "union_id" // 以union_id来识别用户id 152 UserIdTypeListFreebusyOpenId = "open_id" // 以open_id来识别用户id 153 ) 154 155 const ( 156 UserIdTypeCreateTimeoffEventUserId = "user_id" // 以user_id来识别用户id 157 UserIdTypeCreateTimeoffEventUnionId = "union_id" // 以union_id来识别用户id 158 UserIdTypeCreateTimeoffEventOpenId = "open_id" // 以open_id来识别用户id 159 ) 160 161 type AclScope struct { 162 Type *string `json:"type,omitempty"` // 权限类型,当type为User时,值为open_id/user_id/union_id 163 UserId *string `json:"user_id,omitempty"` // 用户ID,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 164 } 165 166 type AclScopeBuilder struct { 167 type_ string // 权限类型,当type为User时,值为open_id/user_id/union_id 168 typeFlag bool 169 userId string // 用户ID,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 170 userIdFlag bool 171 } 172 173 func NewAclScopeBuilder() *AclScopeBuilder { 174 builder := &AclScopeBuilder{} 175 return builder 176 } 177 178 // 权限类型,当type为User时,值为open_id/user_id/union_id 179 // 180 // 示例值:user 181 func (builder *AclScopeBuilder) Type(type_ string) *AclScopeBuilder { 182 builder.type_ = type_ 183 builder.typeFlag = true 184 return builder 185 } 186 187 // 用户ID,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 188 // 189 // 示例值:ou_xxxxxx 190 func (builder *AclScopeBuilder) UserId(userId string) *AclScopeBuilder { 191 builder.userId = userId 192 builder.userIdFlag = true 193 return builder 194 } 195 196 func (builder *AclScopeBuilder) Build() *AclScope { 197 req := &AclScope{} 198 if builder.typeFlag { 199 req.Type = &builder.type_ 200 201 } 202 if builder.userIdFlag { 203 req.UserId = &builder.userId 204 205 } 206 return req 207 } 208 209 type AclScopeEvent struct { 210 Type *string `json:"type,omitempty"` // 权限类型,当type为User时,值为open_id/user_id/union_id 211 UserId *UserId `json:"user_id,omitempty"` // 用户 ID 212 } 213 214 type AclScopeEventBuilder struct { 215 type_ string // 权限类型,当type为User时,值为open_id/user_id/union_id 216 typeFlag bool 217 userId *UserId // 用户 ID 218 userIdFlag bool 219 } 220 221 func NewAclScopeEventBuilder() *AclScopeEventBuilder { 222 builder := &AclScopeEventBuilder{} 223 return builder 224 } 225 226 // 权限类型,当type为User时,值为open_id/user_id/union_id 227 // 228 // 示例值:user 229 func (builder *AclScopeEventBuilder) Type(type_ string) *AclScopeEventBuilder { 230 builder.type_ = type_ 231 builder.typeFlag = true 232 return builder 233 } 234 235 // 用户 ID 236 // 237 // 示例值: 238 func (builder *AclScopeEventBuilder) UserId(userId *UserId) *AclScopeEventBuilder { 239 builder.userId = userId 240 builder.userIdFlag = true 241 return builder 242 } 243 244 func (builder *AclScopeEventBuilder) Build() *AclScopeEvent { 245 req := &AclScopeEvent{} 246 if builder.typeFlag { 247 req.Type = &builder.type_ 248 249 } 250 if builder.userIdFlag { 251 req.UserId = builder.userId 252 } 253 return req 254 } 255 256 type AttendeeChatMember struct { 257 RsvpStatus *string `json:"rsvp_status,omitempty"` // 参与人RSVP状态 258 IsOptional *bool `json:"is_optional,omitempty"` // 参与人是否为「可选参加」 259 DisplayName *string `json:"display_name,omitempty"` // 参与人名称 260 IsOrganizer *bool `json:"is_organizer,omitempty"` // 参与人是否为日程组织者 261 IsExternal *bool `json:"is_external,omitempty"` // 参与人是否为外部参与人 262 } 263 264 type AttendeeChatMemberBuilder struct { 265 rsvpStatus string // 参与人RSVP状态 266 rsvpStatusFlag bool 267 isOptional bool // 参与人是否为「可选参加」 268 isOptionalFlag bool 269 displayName string // 参与人名称 270 displayNameFlag bool 271 isOrganizer bool // 参与人是否为日程组织者 272 isOrganizerFlag bool 273 isExternal bool // 参与人是否为外部参与人 274 isExternalFlag bool 275 } 276 277 func NewAttendeeChatMemberBuilder() *AttendeeChatMemberBuilder { 278 builder := &AttendeeChatMemberBuilder{} 279 return builder 280 } 281 282 // 参与人RSVP状态 283 // 284 // 示例值:needs_action 285 func (builder *AttendeeChatMemberBuilder) RsvpStatus(rsvpStatus string) *AttendeeChatMemberBuilder { 286 builder.rsvpStatus = rsvpStatus 287 builder.rsvpStatusFlag = true 288 return builder 289 } 290 291 // 参与人是否为「可选参加」 292 // 293 // 示例值:true 294 func (builder *AttendeeChatMemberBuilder) IsOptional(isOptional bool) *AttendeeChatMemberBuilder { 295 builder.isOptional = isOptional 296 builder.isOptionalFlag = true 297 return builder 298 } 299 300 // 参与人名称 301 // 302 // 示例值:Group 303 func (builder *AttendeeChatMemberBuilder) DisplayName(displayName string) *AttendeeChatMemberBuilder { 304 builder.displayName = displayName 305 builder.displayNameFlag = true 306 return builder 307 } 308 309 // 参与人是否为日程组织者 310 // 311 // 示例值:false 312 func (builder *AttendeeChatMemberBuilder) IsOrganizer(isOrganizer bool) *AttendeeChatMemberBuilder { 313 builder.isOrganizer = isOrganizer 314 builder.isOrganizerFlag = true 315 return builder 316 } 317 318 // 参与人是否为外部参与人 319 // 320 // 示例值:false 321 func (builder *AttendeeChatMemberBuilder) IsExternal(isExternal bool) *AttendeeChatMemberBuilder { 322 builder.isExternal = isExternal 323 builder.isExternalFlag = true 324 return builder 325 } 326 327 func (builder *AttendeeChatMemberBuilder) Build() *AttendeeChatMember { 328 req := &AttendeeChatMember{} 329 if builder.rsvpStatusFlag { 330 req.RsvpStatus = &builder.rsvpStatus 331 332 } 333 if builder.isOptionalFlag { 334 req.IsOptional = &builder.isOptional 335 336 } 337 if builder.displayNameFlag { 338 req.DisplayName = &builder.displayName 339 340 } 341 if builder.isOrganizerFlag { 342 req.IsOrganizer = &builder.isOrganizer 343 344 } 345 if builder.isExternalFlag { 346 req.IsExternal = &builder.isExternal 347 348 } 349 return req 350 } 351 352 type Calendar struct { 353 CalendarId *string `json:"calendar_id,omitempty"` // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 354 Summary *string `json:"summary,omitempty"` // 日历标题 355 Description *string `json:"description,omitempty"` // 日历描述 356 Permissions *string `json:"permissions,omitempty"` // 日历公开范围 357 Color *int `json:"color,omitempty"` // 日历颜色,颜色RGB值的int32表示。客户端展示时会映射到色板上最接近的一种颜色。仅对当前身份生效 358 Type *string `json:"type,omitempty"` // 日历类型 359 SummaryAlias *string `json:"summary_alias,omitempty"` // 日历备注名,修改或添加后仅对当前身份生效 360 IsDeleted *bool `json:"is_deleted,omitempty"` // 对于当前身份,日历是否已经被标记为删除 361 IsThirdParty *bool `json:"is_third_party,omitempty"` // 当前日历是否是第三方数据;三方日历及日程只支持读,不支持写入 362 Role *string `json:"role,omitempty"` // 当前身份对于该日历的访问权限 363 } 364 365 type CalendarBuilder struct { 366 calendarId string // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 367 calendarIdFlag bool 368 summary string // 日历标题 369 summaryFlag bool 370 description string // 日历描述 371 descriptionFlag bool 372 permissions string // 日历公开范围 373 permissionsFlag bool 374 color int // 日历颜色,颜色RGB值的int32表示。客户端展示时会映射到色板上最接近的一种颜色。仅对当前身份生效 375 colorFlag bool 376 type_ string // 日历类型 377 typeFlag bool 378 summaryAlias string // 日历备注名,修改或添加后仅对当前身份生效 379 summaryAliasFlag bool 380 isDeleted bool // 对于当前身份,日历是否已经被标记为删除 381 isDeletedFlag bool 382 isThirdParty bool // 当前日历是否是第三方数据;三方日历及日程只支持读,不支持写入 383 isThirdPartyFlag bool 384 role string // 当前身份对于该日历的访问权限 385 roleFlag bool 386 } 387 388 func NewCalendarBuilder() *CalendarBuilder { 389 builder := &CalendarBuilder{} 390 return builder 391 } 392 393 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 394 // 395 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 396 func (builder *CalendarBuilder) CalendarId(calendarId string) *CalendarBuilder { 397 builder.calendarId = calendarId 398 builder.calendarIdFlag = true 399 return builder 400 } 401 402 // 日历标题 403 // 404 // 示例值:测试日历 405 func (builder *CalendarBuilder) Summary(summary string) *CalendarBuilder { 406 builder.summary = summary 407 builder.summaryFlag = true 408 return builder 409 } 410 411 // 日历描述 412 // 413 // 示例值:使用开放接口创建日历 414 func (builder *CalendarBuilder) Description(description string) *CalendarBuilder { 415 builder.description = description 416 builder.descriptionFlag = true 417 return builder 418 } 419 420 // 日历公开范围 421 // 422 // 示例值:private 423 func (builder *CalendarBuilder) Permissions(permissions string) *CalendarBuilder { 424 builder.permissions = permissions 425 builder.permissionsFlag = true 426 return builder 427 } 428 429 // 日历颜色,颜色RGB值的int32表示。客户端展示时会映射到色板上最接近的一种颜色。仅对当前身份生效 430 // 431 // 示例值:-1 432 func (builder *CalendarBuilder) Color(color int) *CalendarBuilder { 433 builder.color = color 434 builder.colorFlag = true 435 return builder 436 } 437 438 // 日历类型 439 // 440 // 示例值:shared 441 func (builder *CalendarBuilder) Type(type_ string) *CalendarBuilder { 442 builder.type_ = type_ 443 builder.typeFlag = true 444 return builder 445 } 446 447 // 日历备注名,修改或添加后仅对当前身份生效 448 // 449 // 示例值:日历备注名 450 func (builder *CalendarBuilder) SummaryAlias(summaryAlias string) *CalendarBuilder { 451 builder.summaryAlias = summaryAlias 452 builder.summaryAliasFlag = true 453 return builder 454 } 455 456 // 对于当前身份,日历是否已经被标记为删除 457 // 458 // 示例值:false 459 func (builder *CalendarBuilder) IsDeleted(isDeleted bool) *CalendarBuilder { 460 builder.isDeleted = isDeleted 461 builder.isDeletedFlag = true 462 return builder 463 } 464 465 // 当前日历是否是第三方数据;三方日历及日程只支持读,不支持写入 466 // 467 // 示例值:false 468 func (builder *CalendarBuilder) IsThirdParty(isThirdParty bool) *CalendarBuilder { 469 builder.isThirdParty = isThirdParty 470 builder.isThirdPartyFlag = true 471 return builder 472 } 473 474 // 当前身份对于该日历的访问权限 475 // 476 // 示例值:owner 477 func (builder *CalendarBuilder) Role(role string) *CalendarBuilder { 478 builder.role = role 479 builder.roleFlag = true 480 return builder 481 } 482 483 func (builder *CalendarBuilder) Build() *Calendar { 484 req := &Calendar{} 485 if builder.calendarIdFlag { 486 req.CalendarId = &builder.calendarId 487 488 } 489 if builder.summaryFlag { 490 req.Summary = &builder.summary 491 492 } 493 if builder.descriptionFlag { 494 req.Description = &builder.description 495 496 } 497 if builder.permissionsFlag { 498 req.Permissions = &builder.permissions 499 500 } 501 if builder.colorFlag { 502 req.Color = &builder.color 503 504 } 505 if builder.typeFlag { 506 req.Type = &builder.type_ 507 508 } 509 if builder.summaryAliasFlag { 510 req.SummaryAlias = &builder.summaryAlias 511 512 } 513 if builder.isDeletedFlag { 514 req.IsDeleted = &builder.isDeleted 515 516 } 517 if builder.isThirdPartyFlag { 518 req.IsThirdParty = &builder.isThirdParty 519 520 } 521 if builder.roleFlag { 522 req.Role = &builder.role 523 524 } 525 return req 526 } 527 528 type CalendarAcl struct { 529 AclId *string `json:"acl_id,omitempty"` // acl资源ID。参见[ACL ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-acl/introduction) 530 Role *string `json:"role,omitempty"` // 对日历的访问权限 531 Scope *AclScope `json:"scope,omitempty"` // 权限范围 532 } 533 534 type CalendarAclBuilder struct { 535 aclId string // acl资源ID。参见[ACL ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-acl/introduction) 536 aclIdFlag bool 537 role string // 对日历的访问权限 538 roleFlag bool 539 scope *AclScope // 权限范围 540 scopeFlag bool 541 } 542 543 func NewCalendarAclBuilder() *CalendarAclBuilder { 544 builder := &CalendarAclBuilder{} 545 return builder 546 } 547 548 // acl资源ID。参见[ACL ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-acl/introduction) 549 // 550 // 示例值:user_xxxxxx 551 func (builder *CalendarAclBuilder) AclId(aclId string) *CalendarAclBuilder { 552 builder.aclId = aclId 553 builder.aclIdFlag = true 554 return builder 555 } 556 557 // 对日历的访问权限 558 // 559 // 示例值:writer 560 func (builder *CalendarAclBuilder) Role(role string) *CalendarAclBuilder { 561 builder.role = role 562 builder.roleFlag = true 563 return builder 564 } 565 566 // 权限范围 567 // 568 // 示例值: 569 func (builder *CalendarAclBuilder) Scope(scope *AclScope) *CalendarAclBuilder { 570 builder.scope = scope 571 builder.scopeFlag = true 572 return builder 573 } 574 575 func (builder *CalendarAclBuilder) Build() *CalendarAcl { 576 req := &CalendarAcl{} 577 if builder.aclIdFlag { 578 req.AclId = &builder.aclId 579 580 } 581 if builder.roleFlag { 582 req.Role = &builder.role 583 584 } 585 if builder.scopeFlag { 586 req.Scope = builder.scope 587 } 588 return req 589 } 590 591 type CalendarAclEvent struct { 592 AclId *string `json:"acl_id,omitempty"` // acl资源ID 593 Role *string `json:"role,omitempty"` // 对日历的访问权限 594 Scope *AclScopeEvent `json:"scope,omitempty"` // 权限范围 595 UserIdList []*UserId `json:"user_id_list,omitempty"` // 需要推送事件的用户列表 596 } 597 598 type CalendarAclEventBuilder struct { 599 aclId string // acl资源ID 600 aclIdFlag bool 601 role string // 对日历的访问权限 602 roleFlag bool 603 scope *AclScopeEvent // 权限范围 604 scopeFlag bool 605 userIdList []*UserId // 需要推送事件的用户列表 606 userIdListFlag bool 607 } 608 609 func NewCalendarAclEventBuilder() *CalendarAclEventBuilder { 610 builder := &CalendarAclEventBuilder{} 611 return builder 612 } 613 614 // acl资源ID 615 // 616 // 示例值:user_xxxxx 617 func (builder *CalendarAclEventBuilder) AclId(aclId string) *CalendarAclEventBuilder { 618 builder.aclId = aclId 619 builder.aclIdFlag = true 620 return builder 621 } 622 623 // 对日历的访问权限 624 // 625 // 示例值:unknown 626 func (builder *CalendarAclEventBuilder) Role(role string) *CalendarAclEventBuilder { 627 builder.role = role 628 builder.roleFlag = true 629 return builder 630 } 631 632 // 权限范围 633 // 634 // 示例值: 635 func (builder *CalendarAclEventBuilder) Scope(scope *AclScopeEvent) *CalendarAclEventBuilder { 636 builder.scope = scope 637 builder.scopeFlag = true 638 return builder 639 } 640 641 // 需要推送事件的用户列表 642 // 643 // 示例值: 644 func (builder *CalendarAclEventBuilder) UserIdList(userIdList []*UserId) *CalendarAclEventBuilder { 645 builder.userIdList = userIdList 646 builder.userIdListFlag = true 647 return builder 648 } 649 650 func (builder *CalendarAclEventBuilder) Build() *CalendarAclEvent { 651 req := &CalendarAclEvent{} 652 if builder.aclIdFlag { 653 req.AclId = &builder.aclId 654 655 } 656 if builder.roleFlag { 657 req.Role = &builder.role 658 659 } 660 if builder.scopeFlag { 661 req.Scope = builder.scope 662 } 663 if builder.userIdListFlag { 664 req.UserIdList = builder.userIdList 665 } 666 return req 667 } 668 669 type CalendarAttendeeResourceCustomization struct { 670 IndexKey *string `json:"index_key,omitempty"` // 每个配置的唯一ID 671 InputContent *string `json:"input_content,omitempty"` // 当type类型为填空时,该参数需要填入 672 Options []*CustomizationOption `json:"options,omitempty"` // 每个配置的选项 673 } 674 675 type CalendarAttendeeResourceCustomizationBuilder struct { 676 indexKey string // 每个配置的唯一ID 677 indexKeyFlag bool 678 inputContent string // 当type类型为填空时,该参数需要填入 679 inputContentFlag bool 680 options []*CustomizationOption // 每个配置的选项 681 optionsFlag bool 682 } 683 684 func NewCalendarAttendeeResourceCustomizationBuilder() *CalendarAttendeeResourceCustomizationBuilder { 685 builder := &CalendarAttendeeResourceCustomizationBuilder{} 686 return builder 687 } 688 689 // 每个配置的唯一ID 690 // 691 // 示例值:16281481596100 692 func (builder *CalendarAttendeeResourceCustomizationBuilder) IndexKey(indexKey string) *CalendarAttendeeResourceCustomizationBuilder { 693 builder.indexKey = indexKey 694 builder.indexKeyFlag = true 695 return builder 696 } 697 698 // 当type类型为填空时,该参数需要填入 699 // 700 // 示例值:xxx 701 func (builder *CalendarAttendeeResourceCustomizationBuilder) InputContent(inputContent string) *CalendarAttendeeResourceCustomizationBuilder { 702 builder.inputContent = inputContent 703 builder.inputContentFlag = true 704 return builder 705 } 706 707 // 每个配置的选项 708 // 709 // 示例值: 710 func (builder *CalendarAttendeeResourceCustomizationBuilder) Options(options []*CustomizationOption) *CalendarAttendeeResourceCustomizationBuilder { 711 builder.options = options 712 builder.optionsFlag = true 713 return builder 714 } 715 716 func (builder *CalendarAttendeeResourceCustomizationBuilder) Build() *CalendarAttendeeResourceCustomization { 717 req := &CalendarAttendeeResourceCustomization{} 718 if builder.indexKeyFlag { 719 req.IndexKey = &builder.indexKey 720 721 } 722 if builder.inputContentFlag { 723 req.InputContent = &builder.inputContent 724 725 } 726 if builder.optionsFlag { 727 req.Options = builder.options 728 } 729 return req 730 } 731 732 type CalendarEvent struct { 733 EventId *string `json:"event_id,omitempty"` // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 734 OrganizerCalendarId *string `json:"organizer_calendar_id,omitempty"` // 日程组织者日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 735 Summary *string `json:"summary,omitempty"` // 日程标题 736 Description *string `json:"description,omitempty"` // 日程描述;目前不支持编辑富文本描述,如果日程描述通过客户端编辑过,更新描述会导致富文本格式丢失 737 NeedNotification *bool `json:"need_notification,omitempty"` // 更新日程是否给日程参与人发送bot通知,默认为true 738 StartTime *TimeInfo `json:"start_time,omitempty"` // 日程开始时间 739 EndTime *TimeInfo `json:"end_time,omitempty"` // 日程结束时间 740 Vchat *Vchat `json:"vchat,omitempty"` // 视频会议信息。 741 Visibility *string `json:"visibility,omitempty"` // 日程公开范围,新建日程默认为Default;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 742 AttendeeAbility *string `json:"attendee_ability,omitempty"` // 参与人权限 743 FreeBusyStatus *string `json:"free_busy_status,omitempty"` // 日程占用的忙闲状态,新建日程默认为Busy;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 744 Location *EventLocation `json:"location,omitempty"` // 日程地点 745 Color *int `json:"color,omitempty"` // 日程颜色,颜色RGB值的int32表示。仅对当前身份生效;客户端展示时会映射到色板上最接近的一种颜色;值为0或-1时默认跟随日历颜色。 746 Reminders []*Reminder `json:"reminders,omitempty"` // 日程提醒列表 747 Recurrence *string `json:"recurrence,omitempty"` // 重复日程的重复性规则;参考[rfc5545](https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10);;- 不支持COUNT和UNTIL同时出现;;- 预定会议室重复日程长度不得超过两年。 748 Status *string `json:"status,omitempty"` // 日程状态 749 IsException *bool `json:"is_exception,omitempty"` // 日程是否是一个重复日程的例外日程 750 RecurringEventId *string `json:"recurring_event_id,omitempty"` // 例外日程的原重复日程的event_id 751 Schemas []*Schema `json:"schemas,omitempty"` // 日程自定义信息;控制日程详情页的ui展示。 752 } 753 754 type CalendarEventBuilder struct { 755 eventId string // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 756 eventIdFlag bool 757 organizerCalendarId string // 日程组织者日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 758 organizerCalendarIdFlag bool 759 summary string // 日程标题 760 summaryFlag bool 761 description string // 日程描述;目前不支持编辑富文本描述,如果日程描述通过客户端编辑过,更新描述会导致富文本格式丢失 762 descriptionFlag bool 763 needNotification bool // 更新日程是否给日程参与人发送bot通知,默认为true 764 needNotificationFlag bool 765 startTime *TimeInfo // 日程开始时间 766 startTimeFlag bool 767 endTime *TimeInfo // 日程结束时间 768 endTimeFlag bool 769 vchat *Vchat // 视频会议信息。 770 vchatFlag bool 771 visibility string // 日程公开范围,新建日程默认为Default;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 772 visibilityFlag bool 773 attendeeAbility string // 参与人权限 774 attendeeAbilityFlag bool 775 freeBusyStatus string // 日程占用的忙闲状态,新建日程默认为Busy;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 776 freeBusyStatusFlag bool 777 location *EventLocation // 日程地点 778 locationFlag bool 779 color int // 日程颜色,颜色RGB值的int32表示。仅对当前身份生效;客户端展示时会映射到色板上最接近的一种颜色;值为0或-1时默认跟随日历颜色。 780 colorFlag bool 781 reminders []*Reminder // 日程提醒列表 782 remindersFlag bool 783 recurrence string // 重复日程的重复性规则;参考[rfc5545](https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10);;- 不支持COUNT和UNTIL同时出现;;- 预定会议室重复日程长度不得超过两年。 784 recurrenceFlag bool 785 status string // 日程状态 786 statusFlag bool 787 isException bool // 日程是否是一个重复日程的例外日程 788 isExceptionFlag bool 789 recurringEventId string // 例外日程的原重复日程的event_id 790 recurringEventIdFlag bool 791 schemas []*Schema // 日程自定义信息;控制日程详情页的ui展示。 792 schemasFlag bool 793 } 794 795 func NewCalendarEventBuilder() *CalendarEventBuilder { 796 builder := &CalendarEventBuilder{} 797 return builder 798 } 799 800 // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 801 // 802 // 示例值:00592a0e-7edf-4678-bc9d-1b77383ef08e_0 803 func (builder *CalendarEventBuilder) EventId(eventId string) *CalendarEventBuilder { 804 builder.eventId = eventId 805 builder.eventIdFlag = true 806 return builder 807 } 808 809 // 日程组织者日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 810 // 811 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 812 func (builder *CalendarEventBuilder) OrganizerCalendarId(organizerCalendarId string) *CalendarEventBuilder { 813 builder.organizerCalendarId = organizerCalendarId 814 builder.organizerCalendarIdFlag = true 815 return builder 816 } 817 818 // 日程标题 819 // 820 // 示例值:日程标题 821 func (builder *CalendarEventBuilder) Summary(summary string) *CalendarEventBuilder { 822 builder.summary = summary 823 builder.summaryFlag = true 824 return builder 825 } 826 827 // 日程描述;目前不支持编辑富文本描述,如果日程描述通过客户端编辑过,更新描述会导致富文本格式丢失 828 // 829 // 示例值:日程描述 830 func (builder *CalendarEventBuilder) Description(description string) *CalendarEventBuilder { 831 builder.description = description 832 builder.descriptionFlag = true 833 return builder 834 } 835 836 // 更新日程是否给日程参与人发送bot通知,默认为true 837 // 838 // 示例值:false 839 func (builder *CalendarEventBuilder) NeedNotification(needNotification bool) *CalendarEventBuilder { 840 builder.needNotification = needNotification 841 builder.needNotificationFlag = true 842 return builder 843 } 844 845 // 日程开始时间 846 // 847 // 示例值: 848 func (builder *CalendarEventBuilder) StartTime(startTime *TimeInfo) *CalendarEventBuilder { 849 builder.startTime = startTime 850 builder.startTimeFlag = true 851 return builder 852 } 853 854 // 日程结束时间 855 // 856 // 示例值: 857 func (builder *CalendarEventBuilder) EndTime(endTime *TimeInfo) *CalendarEventBuilder { 858 builder.endTime = endTime 859 builder.endTimeFlag = true 860 return builder 861 } 862 863 // 视频会议信息。 864 // 865 // 示例值: 866 func (builder *CalendarEventBuilder) Vchat(vchat *Vchat) *CalendarEventBuilder { 867 builder.vchat = vchat 868 builder.vchatFlag = true 869 return builder 870 } 871 872 // 日程公开范围,新建日程默认为Default;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 873 // 874 // 示例值:default 875 func (builder *CalendarEventBuilder) Visibility(visibility string) *CalendarEventBuilder { 876 builder.visibility = visibility 877 builder.visibilityFlag = true 878 return builder 879 } 880 881 // 参与人权限 882 // 883 // 示例值:can_see_others 884 func (builder *CalendarEventBuilder) AttendeeAbility(attendeeAbility string) *CalendarEventBuilder { 885 builder.attendeeAbility = attendeeAbility 886 builder.attendeeAbilityFlag = true 887 return builder 888 } 889 890 // 日程占用的忙闲状态,新建日程默认为Busy;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 891 // 892 // 示例值:busy 893 func (builder *CalendarEventBuilder) FreeBusyStatus(freeBusyStatus string) *CalendarEventBuilder { 894 builder.freeBusyStatus = freeBusyStatus 895 builder.freeBusyStatusFlag = true 896 return builder 897 } 898 899 // 日程地点 900 // 901 // 示例值: 902 func (builder *CalendarEventBuilder) Location(location *EventLocation) *CalendarEventBuilder { 903 builder.location = location 904 builder.locationFlag = true 905 return builder 906 } 907 908 // 日程颜色,颜色RGB值的int32表示。仅对当前身份生效;客户端展示时会映射到色板上最接近的一种颜色;值为0或-1时默认跟随日历颜色。 909 // 910 // 示例值:-1 911 func (builder *CalendarEventBuilder) Color(color int) *CalendarEventBuilder { 912 builder.color = color 913 builder.colorFlag = true 914 return builder 915 } 916 917 // 日程提醒列表 918 // 919 // 示例值: 920 func (builder *CalendarEventBuilder) Reminders(reminders []*Reminder) *CalendarEventBuilder { 921 builder.reminders = reminders 922 builder.remindersFlag = true 923 return builder 924 } 925 926 // 重复日程的重复性规则;参考[rfc5545](https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10);;- 不支持COUNT和UNTIL同时出现;;- 预定会议室重复日程长度不得超过两年。 927 // 928 // 示例值:FREQ=DAILY;INTERVAL=1 929 func (builder *CalendarEventBuilder) Recurrence(recurrence string) *CalendarEventBuilder { 930 builder.recurrence = recurrence 931 builder.recurrenceFlag = true 932 return builder 933 } 934 935 // 日程状态 936 // 937 // 示例值:confirmed 938 func (builder *CalendarEventBuilder) Status(status string) *CalendarEventBuilder { 939 builder.status = status 940 builder.statusFlag = true 941 return builder 942 } 943 944 // 日程是否是一个重复日程的例外日程 945 // 946 // 示例值:false 947 func (builder *CalendarEventBuilder) IsException(isException bool) *CalendarEventBuilder { 948 builder.isException = isException 949 builder.isExceptionFlag = true 950 return builder 951 } 952 953 // 例外日程的原重复日程的event_id 954 // 955 // 示例值:1cd45aaa-fa70-4195-80b7-c93b2e208f45 956 func (builder *CalendarEventBuilder) RecurringEventId(recurringEventId string) *CalendarEventBuilder { 957 builder.recurringEventId = recurringEventId 958 builder.recurringEventIdFlag = true 959 return builder 960 } 961 962 // 日程自定义信息;控制日程详情页的ui展示。 963 // 964 // 示例值: 965 func (builder *CalendarEventBuilder) Schemas(schemas []*Schema) *CalendarEventBuilder { 966 builder.schemas = schemas 967 builder.schemasFlag = true 968 return builder 969 } 970 971 func (builder *CalendarEventBuilder) Build() *CalendarEvent { 972 req := &CalendarEvent{} 973 if builder.eventIdFlag { 974 req.EventId = &builder.eventId 975 976 } 977 if builder.organizerCalendarIdFlag { 978 req.OrganizerCalendarId = &builder.organizerCalendarId 979 980 } 981 if builder.summaryFlag { 982 req.Summary = &builder.summary 983 984 } 985 if builder.descriptionFlag { 986 req.Description = &builder.description 987 988 } 989 if builder.needNotificationFlag { 990 req.NeedNotification = &builder.needNotification 991 992 } 993 if builder.startTimeFlag { 994 req.StartTime = builder.startTime 995 } 996 if builder.endTimeFlag { 997 req.EndTime = builder.endTime 998 } 999 if builder.vchatFlag { 1000 req.Vchat = builder.vchat 1001 } 1002 if builder.visibilityFlag { 1003 req.Visibility = &builder.visibility 1004 1005 } 1006 if builder.attendeeAbilityFlag { 1007 req.AttendeeAbility = &builder.attendeeAbility 1008 1009 } 1010 if builder.freeBusyStatusFlag { 1011 req.FreeBusyStatus = &builder.freeBusyStatus 1012 1013 } 1014 if builder.locationFlag { 1015 req.Location = builder.location 1016 } 1017 if builder.colorFlag { 1018 req.Color = &builder.color 1019 1020 } 1021 if builder.remindersFlag { 1022 req.Reminders = builder.reminders 1023 } 1024 if builder.recurrenceFlag { 1025 req.Recurrence = &builder.recurrence 1026 1027 } 1028 if builder.statusFlag { 1029 req.Status = &builder.status 1030 1031 } 1032 if builder.isExceptionFlag { 1033 req.IsException = &builder.isException 1034 1035 } 1036 if builder.recurringEventIdFlag { 1037 req.RecurringEventId = &builder.recurringEventId 1038 1039 } 1040 if builder.schemasFlag { 1041 req.Schemas = builder.schemas 1042 } 1043 return req 1044 } 1045 1046 type CalendarEventAttendee struct { 1047 Type *string `json:"type,omitempty"` // 参与人类型 1048 AttendeeId *string `json:"attendee_id,omitempty"` // 参与人ID。参见[参与人ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event-attendee/introduction#4998889c) 1049 RsvpStatus *string `json:"rsvp_status,omitempty"` // 参与人RSVP状态 1050 IsOptional *bool `json:"is_optional,omitempty"` // 参与人是否为「可选参加」,无法编辑群参与人的此字段 1051 IsOrganizer *bool `json:"is_organizer,omitempty"` // 参与人是否为日程组织者 1052 IsExternal *bool `json:"is_external,omitempty"` // 参与人是否为外部参与人;外部参与人不支持编辑 1053 DisplayName *string `json:"display_name,omitempty"` // 参与人名称 1054 ChatMembers []*AttendeeChatMember `json:"chat_members,omitempty"` // 群中的群成员,当type为Chat时有效;群成员不支持编辑 1055 UserId *string `json:"user_id,omitempty"` // 参与人的用户id,依赖于user_id_type返回对应的取值,当is_external为true时,此字段只会返回open_id或者union_id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 1056 ChatId *string `json:"chat_id,omitempty"` // chat类型参与人的群组chat_id,参见[群ID 说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/im-v1/chat-id-description) 1057 RoomId *string `json:"room_id,omitempty"` // resource类型参与人的会议室room_id 1058 ThirdPartyEmail *string `json:"third_party_email,omitempty"` // third_party类型参与人的邮箱 1059 OperateId *string `json:"operate_id,omitempty"` // 如果日程是使用应用身份创建的,在添加会议室的时候,用来指定会议室的联系人,在会议室视图展示。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 1060 ResourceCustomization []*CalendarAttendeeResourceCustomization `json:"resource_customization,omitempty"` // 会议室的个性化配置 1061 } 1062 1063 type CalendarEventAttendeeBuilder struct { 1064 type_ string // 参与人类型 1065 typeFlag bool 1066 attendeeId string // 参与人ID。参见[参与人ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event-attendee/introduction#4998889c) 1067 attendeeIdFlag bool 1068 rsvpStatus string // 参与人RSVP状态 1069 rsvpStatusFlag bool 1070 isOptional bool // 参与人是否为「可选参加」,无法编辑群参与人的此字段 1071 isOptionalFlag bool 1072 isOrganizer bool // 参与人是否为日程组织者 1073 isOrganizerFlag bool 1074 isExternal bool // 参与人是否为外部参与人;外部参与人不支持编辑 1075 isExternalFlag bool 1076 displayName string // 参与人名称 1077 displayNameFlag bool 1078 chatMembers []*AttendeeChatMember // 群中的群成员,当type为Chat时有效;群成员不支持编辑 1079 chatMembersFlag bool 1080 userId string // 参与人的用户id,依赖于user_id_type返回对应的取值,当is_external为true时,此字段只会返回open_id或者union_id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 1081 userIdFlag bool 1082 chatId string // chat类型参与人的群组chat_id,参见[群ID 说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/im-v1/chat-id-description) 1083 chatIdFlag bool 1084 roomId string // resource类型参与人的会议室room_id 1085 roomIdFlag bool 1086 thirdPartyEmail string // third_party类型参与人的邮箱 1087 thirdPartyEmailFlag bool 1088 operateId string // 如果日程是使用应用身份创建的,在添加会议室的时候,用来指定会议室的联系人,在会议室视图展示。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 1089 operateIdFlag bool 1090 resourceCustomization []*CalendarAttendeeResourceCustomization // 会议室的个性化配置 1091 resourceCustomizationFlag bool 1092 } 1093 1094 func NewCalendarEventAttendeeBuilder() *CalendarEventAttendeeBuilder { 1095 builder := &CalendarEventAttendeeBuilder{} 1096 return builder 1097 } 1098 1099 // 参与人类型 1100 // 1101 // 示例值:user 1102 func (builder *CalendarEventAttendeeBuilder) Type(type_ string) *CalendarEventAttendeeBuilder { 1103 builder.type_ = type_ 1104 builder.typeFlag = true 1105 return builder 1106 } 1107 1108 // 参与人ID。参见[参与人ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event-attendee/introduction#4998889c) 1109 // 1110 // 示例值:user_xxxxxx 1111 func (builder *CalendarEventAttendeeBuilder) AttendeeId(attendeeId string) *CalendarEventAttendeeBuilder { 1112 builder.attendeeId = attendeeId 1113 builder.attendeeIdFlag = true 1114 return builder 1115 } 1116 1117 // 参与人RSVP状态 1118 // 1119 // 示例值:needs_action 1120 func (builder *CalendarEventAttendeeBuilder) RsvpStatus(rsvpStatus string) *CalendarEventAttendeeBuilder { 1121 builder.rsvpStatus = rsvpStatus 1122 builder.rsvpStatusFlag = true 1123 return builder 1124 } 1125 1126 // 参与人是否为「可选参加」,无法编辑群参与人的此字段 1127 // 1128 // 示例值:true 1129 func (builder *CalendarEventAttendeeBuilder) IsOptional(isOptional bool) *CalendarEventAttendeeBuilder { 1130 builder.isOptional = isOptional 1131 builder.isOptionalFlag = true 1132 return builder 1133 } 1134 1135 // 参与人是否为日程组织者 1136 // 1137 // 示例值:true 1138 func (builder *CalendarEventAttendeeBuilder) IsOrganizer(isOrganizer bool) *CalendarEventAttendeeBuilder { 1139 builder.isOrganizer = isOrganizer 1140 builder.isOrganizerFlag = true 1141 return builder 1142 } 1143 1144 // 参与人是否为外部参与人;外部参与人不支持编辑 1145 // 1146 // 示例值:false 1147 func (builder *CalendarEventAttendeeBuilder) IsExternal(isExternal bool) *CalendarEventAttendeeBuilder { 1148 builder.isExternal = isExternal 1149 builder.isExternalFlag = true 1150 return builder 1151 } 1152 1153 // 参与人名称 1154 // 1155 // 示例值:Zhang San 1156 func (builder *CalendarEventAttendeeBuilder) DisplayName(displayName string) *CalendarEventAttendeeBuilder { 1157 builder.displayName = displayName 1158 builder.displayNameFlag = true 1159 return builder 1160 } 1161 1162 // 群中的群成员,当type为Chat时有效;群成员不支持编辑 1163 // 1164 // 示例值: 1165 func (builder *CalendarEventAttendeeBuilder) ChatMembers(chatMembers []*AttendeeChatMember) *CalendarEventAttendeeBuilder { 1166 builder.chatMembers = chatMembers 1167 builder.chatMembersFlag = true 1168 return builder 1169 } 1170 1171 // 参与人的用户id,依赖于user_id_type返回对应的取值,当is_external为true时,此字段只会返回open_id或者union_id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 1172 // 1173 // 示例值:ou_xxxxxxxx 1174 func (builder *CalendarEventAttendeeBuilder) UserId(userId string) *CalendarEventAttendeeBuilder { 1175 builder.userId = userId 1176 builder.userIdFlag = true 1177 return builder 1178 } 1179 1180 // chat类型参与人的群组chat_id,参见[群ID 说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/im-v1/chat-id-description) 1181 // 1182 // 示例值:oc_xxxxxxxxx 1183 func (builder *CalendarEventAttendeeBuilder) ChatId(chatId string) *CalendarEventAttendeeBuilder { 1184 builder.chatId = chatId 1185 builder.chatIdFlag = true 1186 return builder 1187 } 1188 1189 // resource类型参与人的会议室room_id 1190 // 1191 // 示例值:omm_xxxxxxxx 1192 func (builder *CalendarEventAttendeeBuilder) RoomId(roomId string) *CalendarEventAttendeeBuilder { 1193 builder.roomId = roomId 1194 builder.roomIdFlag = true 1195 return builder 1196 } 1197 1198 // third_party类型参与人的邮箱 1199 // 1200 // 示例值:wangwu@email.com 1201 func (builder *CalendarEventAttendeeBuilder) ThirdPartyEmail(thirdPartyEmail string) *CalendarEventAttendeeBuilder { 1202 builder.thirdPartyEmail = thirdPartyEmail 1203 builder.thirdPartyEmailFlag = true 1204 return builder 1205 } 1206 1207 // 如果日程是使用应用身份创建的,在添加会议室的时候,用来指定会议室的联系人,在会议室视图展示。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 1208 // 1209 // 示例值:ou_xxxxxxxx 1210 func (builder *CalendarEventAttendeeBuilder) OperateId(operateId string) *CalendarEventAttendeeBuilder { 1211 builder.operateId = operateId 1212 builder.operateIdFlag = true 1213 return builder 1214 } 1215 1216 // 会议室的个性化配置 1217 // 1218 // 示例值: 1219 func (builder *CalendarEventAttendeeBuilder) ResourceCustomization(resourceCustomization []*CalendarAttendeeResourceCustomization) *CalendarEventAttendeeBuilder { 1220 builder.resourceCustomization = resourceCustomization 1221 builder.resourceCustomizationFlag = true 1222 return builder 1223 } 1224 1225 func (builder *CalendarEventAttendeeBuilder) Build() *CalendarEventAttendee { 1226 req := &CalendarEventAttendee{} 1227 if builder.typeFlag { 1228 req.Type = &builder.type_ 1229 1230 } 1231 if builder.attendeeIdFlag { 1232 req.AttendeeId = &builder.attendeeId 1233 1234 } 1235 if builder.rsvpStatusFlag { 1236 req.RsvpStatus = &builder.rsvpStatus 1237 1238 } 1239 if builder.isOptionalFlag { 1240 req.IsOptional = &builder.isOptional 1241 1242 } 1243 if builder.isOrganizerFlag { 1244 req.IsOrganizer = &builder.isOrganizer 1245 1246 } 1247 if builder.isExternalFlag { 1248 req.IsExternal = &builder.isExternal 1249 1250 } 1251 if builder.displayNameFlag { 1252 req.DisplayName = &builder.displayName 1253 1254 } 1255 if builder.chatMembersFlag { 1256 req.ChatMembers = builder.chatMembers 1257 } 1258 if builder.userIdFlag { 1259 req.UserId = &builder.userId 1260 1261 } 1262 if builder.chatIdFlag { 1263 req.ChatId = &builder.chatId 1264 1265 } 1266 if builder.roomIdFlag { 1267 req.RoomId = &builder.roomId 1268 1269 } 1270 if builder.thirdPartyEmailFlag { 1271 req.ThirdPartyEmail = &builder.thirdPartyEmail 1272 1273 } 1274 if builder.operateIdFlag { 1275 req.OperateId = &builder.operateId 1276 1277 } 1278 if builder.resourceCustomizationFlag { 1279 req.ResourceCustomization = builder.resourceCustomization 1280 } 1281 return req 1282 } 1283 1284 type CalendarEventAttendeeChatMember struct { 1285 RsvpStatus *string `json:"rsvp_status,omitempty"` // 参与人RSVP状态 1286 IsOptional *bool `json:"is_optional,omitempty"` // 参与人是否为「可选参加」 1287 DisplayName *string `json:"display_name,omitempty"` // 参与人名称 1288 OpenId *string `json:"open_id,omitempty"` // 参与人open_id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction);;**示例值**:"ou_xxxxxxxx" 1289 IsOrganizer *bool `json:"is_organizer,omitempty"` // 参与人是否为日程组织者 1290 IsExternal *bool `json:"is_external,omitempty"` // 参与人是否为外部参与人 1291 } 1292 1293 type CalendarEventAttendeeChatMemberBuilder struct { 1294 rsvpStatus string // 参与人RSVP状态 1295 rsvpStatusFlag bool 1296 isOptional bool // 参与人是否为「可选参加」 1297 isOptionalFlag bool 1298 displayName string // 参与人名称 1299 displayNameFlag bool 1300 openId string // 参与人open_id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction);;**示例值**:"ou_xxxxxxxx" 1301 openIdFlag bool 1302 isOrganizer bool // 参与人是否为日程组织者 1303 isOrganizerFlag bool 1304 isExternal bool // 参与人是否为外部参与人 1305 isExternalFlag bool 1306 } 1307 1308 func NewCalendarEventAttendeeChatMemberBuilder() *CalendarEventAttendeeChatMemberBuilder { 1309 builder := &CalendarEventAttendeeChatMemberBuilder{} 1310 return builder 1311 } 1312 1313 // 参与人RSVP状态 1314 // 1315 // 示例值:needs_action 1316 func (builder *CalendarEventAttendeeChatMemberBuilder) RsvpStatus(rsvpStatus string) *CalendarEventAttendeeChatMemberBuilder { 1317 builder.rsvpStatus = rsvpStatus 1318 builder.rsvpStatusFlag = true 1319 return builder 1320 } 1321 1322 // 参与人是否为「可选参加」 1323 // 1324 // 示例值:true 1325 func (builder *CalendarEventAttendeeChatMemberBuilder) IsOptional(isOptional bool) *CalendarEventAttendeeChatMemberBuilder { 1326 builder.isOptional = isOptional 1327 builder.isOptionalFlag = true 1328 return builder 1329 } 1330 1331 // 参与人名称 1332 // 1333 // 示例值:Zhang San 1334 func (builder *CalendarEventAttendeeChatMemberBuilder) DisplayName(displayName string) *CalendarEventAttendeeChatMemberBuilder { 1335 builder.displayName = displayName 1336 builder.displayNameFlag = true 1337 return builder 1338 } 1339 1340 // 参与人open_id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction);;**示例值**:"ou_xxxxxxxx" 1341 // 1342 // 示例值:ou_143669c5a53647f00f6c80a0253aa68b 1343 func (builder *CalendarEventAttendeeChatMemberBuilder) OpenId(openId string) *CalendarEventAttendeeChatMemberBuilder { 1344 builder.openId = openId 1345 builder.openIdFlag = true 1346 return builder 1347 } 1348 1349 // 参与人是否为日程组织者 1350 // 1351 // 示例值:true 1352 func (builder *CalendarEventAttendeeChatMemberBuilder) IsOrganizer(isOrganizer bool) *CalendarEventAttendeeChatMemberBuilder { 1353 builder.isOrganizer = isOrganizer 1354 builder.isOrganizerFlag = true 1355 return builder 1356 } 1357 1358 // 参与人是否为外部参与人 1359 // 1360 // 示例值:false 1361 func (builder *CalendarEventAttendeeChatMemberBuilder) IsExternal(isExternal bool) *CalendarEventAttendeeChatMemberBuilder { 1362 builder.isExternal = isExternal 1363 builder.isExternalFlag = true 1364 return builder 1365 } 1366 1367 func (builder *CalendarEventAttendeeChatMemberBuilder) Build() *CalendarEventAttendeeChatMember { 1368 req := &CalendarEventAttendeeChatMember{} 1369 if builder.rsvpStatusFlag { 1370 req.RsvpStatus = &builder.rsvpStatus 1371 1372 } 1373 if builder.isOptionalFlag { 1374 req.IsOptional = &builder.isOptional 1375 1376 } 1377 if builder.displayNameFlag { 1378 req.DisplayName = &builder.displayName 1379 1380 } 1381 if builder.openIdFlag { 1382 req.OpenId = &builder.openId 1383 1384 } 1385 if builder.isOrganizerFlag { 1386 req.IsOrganizer = &builder.isOrganizer 1387 1388 } 1389 if builder.isExternalFlag { 1390 req.IsExternal = &builder.isExternal 1391 1392 } 1393 return req 1394 } 1395 1396 type CalendarEventAttendeeId struct { 1397 Type *string `json:"type,omitempty"` // 参与人类型,仅当新建参与人时可设置类型 1398 AttendeeId *string `json:"attendee_id,omitempty"` // 参与人ID 1399 UserId *string `json:"user_id,omitempty"` // 参与人的用户id,依赖于user_id_type返回对应的取值,当is_external为true时,此字段只会返回open_id或者union_id 1400 ChatId *string `json:"chat_id,omitempty"` // chat类型参与人的群组chat_id 1401 RoomId *string `json:"room_id,omitempty"` // resource类型参与人的会议室room_id 1402 ThirdPartyEmail *string `json:"third_party_email,omitempty"` // third_party类型参与人的邮箱 1403 } 1404 1405 type CalendarEventAttendeeIdBuilder struct { 1406 type_ string // 参与人类型,仅当新建参与人时可设置类型 1407 typeFlag bool 1408 attendeeId string // 参与人ID 1409 attendeeIdFlag bool 1410 userId string // 参与人的用户id,依赖于user_id_type返回对应的取值,当is_external为true时,此字段只会返回open_id或者union_id 1411 userIdFlag bool 1412 chatId string // chat类型参与人的群组chat_id 1413 chatIdFlag bool 1414 roomId string // resource类型参与人的会议室room_id 1415 roomIdFlag bool 1416 thirdPartyEmail string // third_party类型参与人的邮箱 1417 thirdPartyEmailFlag bool 1418 } 1419 1420 func NewCalendarEventAttendeeIdBuilder() *CalendarEventAttendeeIdBuilder { 1421 builder := &CalendarEventAttendeeIdBuilder{} 1422 return builder 1423 } 1424 1425 // 参与人类型,仅当新建参与人时可设置类型 1426 // 1427 // 示例值:user 1428 func (builder *CalendarEventAttendeeIdBuilder) Type(type_ string) *CalendarEventAttendeeIdBuilder { 1429 builder.type_ = type_ 1430 builder.typeFlag = true 1431 return builder 1432 } 1433 1434 // 参与人ID 1435 // 1436 // 示例值: 1437 func (builder *CalendarEventAttendeeIdBuilder) AttendeeId(attendeeId string) *CalendarEventAttendeeIdBuilder { 1438 builder.attendeeId = attendeeId 1439 builder.attendeeIdFlag = true 1440 return builder 1441 } 1442 1443 // 参与人的用户id,依赖于user_id_type返回对应的取值,当is_external为true时,此字段只会返回open_id或者union_id 1444 // 1445 // 示例值:ou_xxxxxxxx 1446 func (builder *CalendarEventAttendeeIdBuilder) UserId(userId string) *CalendarEventAttendeeIdBuilder { 1447 builder.userId = userId 1448 builder.userIdFlag = true 1449 return builder 1450 } 1451 1452 // chat类型参与人的群组chat_id 1453 // 1454 // 示例值:oc_xxxxxxxxx 1455 func (builder *CalendarEventAttendeeIdBuilder) ChatId(chatId string) *CalendarEventAttendeeIdBuilder { 1456 builder.chatId = chatId 1457 builder.chatIdFlag = true 1458 return builder 1459 } 1460 1461 // resource类型参与人的会议室room_id 1462 // 1463 // 示例值:omm_xxxxxxxx 1464 func (builder *CalendarEventAttendeeIdBuilder) RoomId(roomId string) *CalendarEventAttendeeIdBuilder { 1465 builder.roomId = roomId 1466 builder.roomIdFlag = true 1467 return builder 1468 } 1469 1470 // third_party类型参与人的邮箱 1471 // 1472 // 示例值:wangwu@email.com 1473 func (builder *CalendarEventAttendeeIdBuilder) ThirdPartyEmail(thirdPartyEmail string) *CalendarEventAttendeeIdBuilder { 1474 builder.thirdPartyEmail = thirdPartyEmail 1475 builder.thirdPartyEmailFlag = true 1476 return builder 1477 } 1478 1479 func (builder *CalendarEventAttendeeIdBuilder) Build() *CalendarEventAttendeeId { 1480 req := &CalendarEventAttendeeId{} 1481 if builder.typeFlag { 1482 req.Type = &builder.type_ 1483 1484 } 1485 if builder.attendeeIdFlag { 1486 req.AttendeeId = &builder.attendeeId 1487 1488 } 1489 if builder.userIdFlag { 1490 req.UserId = &builder.userId 1491 1492 } 1493 if builder.chatIdFlag { 1494 req.ChatId = &builder.chatId 1495 1496 } 1497 if builder.roomIdFlag { 1498 req.RoomId = &builder.roomId 1499 1500 } 1501 if builder.thirdPartyEmailFlag { 1502 req.ThirdPartyEmail = &builder.thirdPartyEmail 1503 1504 } 1505 return req 1506 } 1507 1508 type CalendarEventAttendeeResp struct { 1509 Type *string `json:"type,omitempty"` // 参与人类型,仅当新建参与人时可设置类型。 1510 AttendeeId *string `json:"attendee_id,omitempty"` // 参与人ID 1511 RsvpStatus *string `json:"rsvp_status,omitempty"` // 参与人RSVP状态 1512 IsOptional *bool `json:"is_optional,omitempty"` // 参与人是否为「可选参加」,无法编辑群参与人的此字段 1513 IsOrganizer *bool `json:"is_organizer,omitempty"` // 参与人是否为日程组织者 1514 IsExternal *bool `json:"is_external,omitempty"` // 参与人是否为外部参与人;外部参与人不支持编辑 1515 DisplayName *string `json:"display_name,omitempty"` // 参与人名称 1516 ChatMembers []*AttendeeChatMember `json:"chat_members,omitempty"` // 群中的群成员,当type为Chat时有效;群成员不支持编辑 1517 UserId *string `json:"user_id,omitempty"` // 参与人的用户id,依赖于user_id_type返回对应的取值,当is_external为true时,此字段只会返回open_id或者union_id 1518 ChatId *string `json:"chat_id,omitempty"` // chat类型参与人的群组chat_id 1519 RoomId *string `json:"room_id,omitempty"` // resource类型参与人的会议室room_id 1520 ThirdPartyEmail *string `json:"third_party_email,omitempty"` // third_party类型参与人的邮箱 1521 OperateId *string `json:"operate_id,omitempty"` // bot身份操作时,为预定的会议室指定实际预定人 1522 ResourceCustomization []*CalendarAttendeeResourceCustomization `json:"resource_customization,omitempty"` // 会议室的个性化配置 1523 } 1524 1525 type CalendarEventAttendeeRespBuilder struct { 1526 type_ string // 参与人类型,仅当新建参与人时可设置类型。 1527 typeFlag bool 1528 attendeeId string // 参与人ID 1529 attendeeIdFlag bool 1530 rsvpStatus string // 参与人RSVP状态 1531 rsvpStatusFlag bool 1532 isOptional bool // 参与人是否为「可选参加」,无法编辑群参与人的此字段 1533 isOptionalFlag bool 1534 isOrganizer bool // 参与人是否为日程组织者 1535 isOrganizerFlag bool 1536 isExternal bool // 参与人是否为外部参与人;外部参与人不支持编辑 1537 isExternalFlag bool 1538 displayName string // 参与人名称 1539 displayNameFlag bool 1540 chatMembers []*AttendeeChatMember // 群中的群成员,当type为Chat时有效;群成员不支持编辑 1541 chatMembersFlag bool 1542 userId string // 参与人的用户id,依赖于user_id_type返回对应的取值,当is_external为true时,此字段只会返回open_id或者union_id 1543 userIdFlag bool 1544 chatId string // chat类型参与人的群组chat_id 1545 chatIdFlag bool 1546 roomId string // resource类型参与人的会议室room_id 1547 roomIdFlag bool 1548 thirdPartyEmail string // third_party类型参与人的邮箱 1549 thirdPartyEmailFlag bool 1550 operateId string // bot身份操作时,为预定的会议室指定实际预定人 1551 operateIdFlag bool 1552 resourceCustomization []*CalendarAttendeeResourceCustomization // 会议室的个性化配置 1553 resourceCustomizationFlag bool 1554 } 1555 1556 func NewCalendarEventAttendeeRespBuilder() *CalendarEventAttendeeRespBuilder { 1557 builder := &CalendarEventAttendeeRespBuilder{} 1558 return builder 1559 } 1560 1561 // 参与人类型,仅当新建参与人时可设置类型。 1562 // 1563 // 示例值: 1564 func (builder *CalendarEventAttendeeRespBuilder) Type(type_ string) *CalendarEventAttendeeRespBuilder { 1565 builder.type_ = type_ 1566 builder.typeFlag = true 1567 return builder 1568 } 1569 1570 // 参与人ID 1571 // 1572 // 示例值: 1573 func (builder *CalendarEventAttendeeRespBuilder) AttendeeId(attendeeId string) *CalendarEventAttendeeRespBuilder { 1574 builder.attendeeId = attendeeId 1575 builder.attendeeIdFlag = true 1576 return builder 1577 } 1578 1579 // 参与人RSVP状态 1580 // 1581 // 示例值: 1582 func (builder *CalendarEventAttendeeRespBuilder) RsvpStatus(rsvpStatus string) *CalendarEventAttendeeRespBuilder { 1583 builder.rsvpStatus = rsvpStatus 1584 builder.rsvpStatusFlag = true 1585 return builder 1586 } 1587 1588 // 参与人是否为「可选参加」,无法编辑群参与人的此字段 1589 // 1590 // 示例值: 1591 func (builder *CalendarEventAttendeeRespBuilder) IsOptional(isOptional bool) *CalendarEventAttendeeRespBuilder { 1592 builder.isOptional = isOptional 1593 builder.isOptionalFlag = true 1594 return builder 1595 } 1596 1597 // 参与人是否为日程组织者 1598 // 1599 // 示例值: 1600 func (builder *CalendarEventAttendeeRespBuilder) IsOrganizer(isOrganizer bool) *CalendarEventAttendeeRespBuilder { 1601 builder.isOrganizer = isOrganizer 1602 builder.isOrganizerFlag = true 1603 return builder 1604 } 1605 1606 // 参与人是否为外部参与人;外部参与人不支持编辑 1607 // 1608 // 示例值: 1609 func (builder *CalendarEventAttendeeRespBuilder) IsExternal(isExternal bool) *CalendarEventAttendeeRespBuilder { 1610 builder.isExternal = isExternal 1611 builder.isExternalFlag = true 1612 return builder 1613 } 1614 1615 // 参与人名称 1616 // 1617 // 示例值: 1618 func (builder *CalendarEventAttendeeRespBuilder) DisplayName(displayName string) *CalendarEventAttendeeRespBuilder { 1619 builder.displayName = displayName 1620 builder.displayNameFlag = true 1621 return builder 1622 } 1623 1624 // 群中的群成员,当type为Chat时有效;群成员不支持编辑 1625 // 1626 // 示例值: 1627 func (builder *CalendarEventAttendeeRespBuilder) ChatMembers(chatMembers []*AttendeeChatMember) *CalendarEventAttendeeRespBuilder { 1628 builder.chatMembers = chatMembers 1629 builder.chatMembersFlag = true 1630 return builder 1631 } 1632 1633 // 参与人的用户id,依赖于user_id_type返回对应的取值,当is_external为true时,此字段只会返回open_id或者union_id 1634 // 1635 // 示例值: 1636 func (builder *CalendarEventAttendeeRespBuilder) UserId(userId string) *CalendarEventAttendeeRespBuilder { 1637 builder.userId = userId 1638 builder.userIdFlag = true 1639 return builder 1640 } 1641 1642 // chat类型参与人的群组chat_id 1643 // 1644 // 示例值: 1645 func (builder *CalendarEventAttendeeRespBuilder) ChatId(chatId string) *CalendarEventAttendeeRespBuilder { 1646 builder.chatId = chatId 1647 builder.chatIdFlag = true 1648 return builder 1649 } 1650 1651 // resource类型参与人的会议室room_id 1652 // 1653 // 示例值: 1654 func (builder *CalendarEventAttendeeRespBuilder) RoomId(roomId string) *CalendarEventAttendeeRespBuilder { 1655 builder.roomId = roomId 1656 builder.roomIdFlag = true 1657 return builder 1658 } 1659 1660 // third_party类型参与人的邮箱 1661 // 1662 // 示例值: 1663 func (builder *CalendarEventAttendeeRespBuilder) ThirdPartyEmail(thirdPartyEmail string) *CalendarEventAttendeeRespBuilder { 1664 builder.thirdPartyEmail = thirdPartyEmail 1665 builder.thirdPartyEmailFlag = true 1666 return builder 1667 } 1668 1669 // bot身份操作时,为预定的会议室指定实际预定人 1670 // 1671 // 示例值: 1672 func (builder *CalendarEventAttendeeRespBuilder) OperateId(operateId string) *CalendarEventAttendeeRespBuilder { 1673 builder.operateId = operateId 1674 builder.operateIdFlag = true 1675 return builder 1676 } 1677 1678 // 会议室的个性化配置 1679 // 1680 // 示例值: 1681 func (builder *CalendarEventAttendeeRespBuilder) ResourceCustomization(resourceCustomization []*CalendarAttendeeResourceCustomization) *CalendarEventAttendeeRespBuilder { 1682 builder.resourceCustomization = resourceCustomization 1683 builder.resourceCustomizationFlag = true 1684 return builder 1685 } 1686 1687 func (builder *CalendarEventAttendeeRespBuilder) Build() *CalendarEventAttendeeResp { 1688 req := &CalendarEventAttendeeResp{} 1689 if builder.typeFlag { 1690 req.Type = &builder.type_ 1691 1692 } 1693 if builder.attendeeIdFlag { 1694 req.AttendeeId = &builder.attendeeId 1695 1696 } 1697 if builder.rsvpStatusFlag { 1698 req.RsvpStatus = &builder.rsvpStatus 1699 1700 } 1701 if builder.isOptionalFlag { 1702 req.IsOptional = &builder.isOptional 1703 1704 } 1705 if builder.isOrganizerFlag { 1706 req.IsOrganizer = &builder.isOrganizer 1707 1708 } 1709 if builder.isExternalFlag { 1710 req.IsExternal = &builder.isExternal 1711 1712 } 1713 if builder.displayNameFlag { 1714 req.DisplayName = &builder.displayName 1715 1716 } 1717 if builder.chatMembersFlag { 1718 req.ChatMembers = builder.chatMembers 1719 } 1720 if builder.userIdFlag { 1721 req.UserId = &builder.userId 1722 1723 } 1724 if builder.chatIdFlag { 1725 req.ChatId = &builder.chatId 1726 1727 } 1728 if builder.roomIdFlag { 1729 req.RoomId = &builder.roomId 1730 1731 } 1732 if builder.thirdPartyEmailFlag { 1733 req.ThirdPartyEmail = &builder.thirdPartyEmail 1734 1735 } 1736 if builder.operateIdFlag { 1737 req.OperateId = &builder.operateId 1738 1739 } 1740 if builder.resourceCustomizationFlag { 1741 req.ResourceCustomization = builder.resourceCustomization 1742 } 1743 return req 1744 } 1745 1746 type CalendarEventResp struct { 1747 EventId *string `json:"event_id,omitempty"` // 日程ID 1748 OrganizerCalendarId *string `json:"organizer_calendar_id,omitempty"` // 日程组织者日历ID 1749 Summary *string `json:"summary,omitempty"` // 日程标题 1750 Description *string `json:"description,omitempty"` // 日程描述 1751 NeedNotification *bool `json:"need_notification,omitempty"` // 是否发送通知消息 1752 StartTime *TimeInfo `json:"start_time,omitempty"` // 日程开始时间 1753 EndTime *TimeInfo `json:"end_time,omitempty"` // 日程结束时间 1754 Vchat *Vchat `json:"vchat,omitempty"` // 视频会议信息,仅当日程至少有一位attendee时生效 1755 Visibility *string `json:"visibility,omitempty"` // 日程公开范围,新建日程默认为Default;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 1756 AttendeeAbility *string `json:"attendee_ability,omitempty"` // 参与人权限 1757 FreeBusyStatus *string `json:"free_busy_status,omitempty"` // 日程占用的忙闲状态,新建日程默认为Busy;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 1758 Location *EventLocation `json:"location,omitempty"` // 日程地点 1759 Color *int `json:"color,omitempty"` // 日程颜色,颜色RGB值的int32表示。仅对当前身份生效;客户端展示时会映射到色板上最接近的一种颜色;值为0或-1时默认跟随日历颜色。 1760 Reminders []*Reminder `json:"reminders,omitempty"` // 日程提醒列表 1761 Recurrence *string `json:"recurrence,omitempty"` // 重复日程的重复性规则 1762 Status *string `json:"status,omitempty"` // 日程状态 1763 IsException *bool `json:"is_exception,omitempty"` // 日程是否是一个重复日程的例外日程 1764 RecurringEventId *string `json:"recurring_event_id,omitempty"` // 例外日程的原重复日程的event_id 1765 Schemas []*Schema `json:"schemas,omitempty"` // 日程自定义信息 1766 } 1767 1768 type CalendarEventRespBuilder struct { 1769 eventId string // 日程ID 1770 eventIdFlag bool 1771 organizerCalendarId string // 日程组织者日历ID 1772 organizerCalendarIdFlag bool 1773 summary string // 日程标题 1774 summaryFlag bool 1775 description string // 日程描述 1776 descriptionFlag bool 1777 needNotification bool // 是否发送通知消息 1778 needNotificationFlag bool 1779 startTime *TimeInfo // 日程开始时间 1780 startTimeFlag bool 1781 endTime *TimeInfo // 日程结束时间 1782 endTimeFlag bool 1783 vchat *Vchat // 视频会议信息,仅当日程至少有一位attendee时生效 1784 vchatFlag bool 1785 visibility string // 日程公开范围,新建日程默认为Default;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 1786 visibilityFlag bool 1787 attendeeAbility string // 参与人权限 1788 attendeeAbilityFlag bool 1789 freeBusyStatus string // 日程占用的忙闲状态,新建日程默认为Busy;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 1790 freeBusyStatusFlag bool 1791 location *EventLocation // 日程地点 1792 locationFlag bool 1793 color int // 日程颜色,颜色RGB值的int32表示。仅对当前身份生效;客户端展示时会映射到色板上最接近的一种颜色;值为0或-1时默认跟随日历颜色。 1794 colorFlag bool 1795 reminders []*Reminder // 日程提醒列表 1796 remindersFlag bool 1797 recurrence string // 重复日程的重复性规则 1798 recurrenceFlag bool 1799 status string // 日程状态 1800 statusFlag bool 1801 isException bool // 日程是否是一个重复日程的例外日程 1802 isExceptionFlag bool 1803 recurringEventId string // 例外日程的原重复日程的event_id 1804 recurringEventIdFlag bool 1805 schemas []*Schema // 日程自定义信息 1806 schemasFlag bool 1807 } 1808 1809 func NewCalendarEventRespBuilder() *CalendarEventRespBuilder { 1810 builder := &CalendarEventRespBuilder{} 1811 return builder 1812 } 1813 1814 // 日程ID 1815 // 1816 // 示例值: 1817 func (builder *CalendarEventRespBuilder) EventId(eventId string) *CalendarEventRespBuilder { 1818 builder.eventId = eventId 1819 builder.eventIdFlag = true 1820 return builder 1821 } 1822 1823 // 日程组织者日历ID 1824 // 1825 // 示例值: 1826 func (builder *CalendarEventRespBuilder) OrganizerCalendarId(organizerCalendarId string) *CalendarEventRespBuilder { 1827 builder.organizerCalendarId = organizerCalendarId 1828 builder.organizerCalendarIdFlag = true 1829 return builder 1830 } 1831 1832 // 日程标题 1833 // 1834 // 示例值: 1835 func (builder *CalendarEventRespBuilder) Summary(summary string) *CalendarEventRespBuilder { 1836 builder.summary = summary 1837 builder.summaryFlag = true 1838 return builder 1839 } 1840 1841 // 日程描述 1842 // 1843 // 示例值: 1844 func (builder *CalendarEventRespBuilder) Description(description string) *CalendarEventRespBuilder { 1845 builder.description = description 1846 builder.descriptionFlag = true 1847 return builder 1848 } 1849 1850 // 是否发送通知消息 1851 // 1852 // 示例值: 1853 func (builder *CalendarEventRespBuilder) NeedNotification(needNotification bool) *CalendarEventRespBuilder { 1854 builder.needNotification = needNotification 1855 builder.needNotificationFlag = true 1856 return builder 1857 } 1858 1859 // 日程开始时间 1860 // 1861 // 示例值: 1862 func (builder *CalendarEventRespBuilder) StartTime(startTime *TimeInfo) *CalendarEventRespBuilder { 1863 builder.startTime = startTime 1864 builder.startTimeFlag = true 1865 return builder 1866 } 1867 1868 // 日程结束时间 1869 // 1870 // 示例值: 1871 func (builder *CalendarEventRespBuilder) EndTime(endTime *TimeInfo) *CalendarEventRespBuilder { 1872 builder.endTime = endTime 1873 builder.endTimeFlag = true 1874 return builder 1875 } 1876 1877 // 视频会议信息,仅当日程至少有一位attendee时生效 1878 // 1879 // 示例值: 1880 func (builder *CalendarEventRespBuilder) Vchat(vchat *Vchat) *CalendarEventRespBuilder { 1881 builder.vchat = vchat 1882 builder.vchatFlag = true 1883 return builder 1884 } 1885 1886 // 日程公开范围,新建日程默认为Default;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 1887 // 1888 // 示例值: 1889 func (builder *CalendarEventRespBuilder) Visibility(visibility string) *CalendarEventRespBuilder { 1890 builder.visibility = visibility 1891 builder.visibilityFlag = true 1892 return builder 1893 } 1894 1895 // 参与人权限 1896 // 1897 // 示例值: 1898 func (builder *CalendarEventRespBuilder) AttendeeAbility(attendeeAbility string) *CalendarEventRespBuilder { 1899 builder.attendeeAbility = attendeeAbility 1900 builder.attendeeAbilityFlag = true 1901 return builder 1902 } 1903 1904 // 日程占用的忙闲状态,新建日程默认为Busy;仅新建日程时对所有参与人生效,之后修改该属性仅对当前身份生效 1905 // 1906 // 示例值: 1907 func (builder *CalendarEventRespBuilder) FreeBusyStatus(freeBusyStatus string) *CalendarEventRespBuilder { 1908 builder.freeBusyStatus = freeBusyStatus 1909 builder.freeBusyStatusFlag = true 1910 return builder 1911 } 1912 1913 // 日程地点 1914 // 1915 // 示例值: 1916 func (builder *CalendarEventRespBuilder) Location(location *EventLocation) *CalendarEventRespBuilder { 1917 builder.location = location 1918 builder.locationFlag = true 1919 return builder 1920 } 1921 1922 // 日程颜色,颜色RGB值的int32表示。仅对当前身份生效;客户端展示时会映射到色板上最接近的一种颜色;值为0或-1时默认跟随日历颜色。 1923 // 1924 // 示例值: 1925 func (builder *CalendarEventRespBuilder) Color(color int) *CalendarEventRespBuilder { 1926 builder.color = color 1927 builder.colorFlag = true 1928 return builder 1929 } 1930 1931 // 日程提醒列表 1932 // 1933 // 示例值: 1934 func (builder *CalendarEventRespBuilder) Reminders(reminders []*Reminder) *CalendarEventRespBuilder { 1935 builder.reminders = reminders 1936 builder.remindersFlag = true 1937 return builder 1938 } 1939 1940 // 重复日程的重复性规则 1941 // 1942 // 示例值: 1943 func (builder *CalendarEventRespBuilder) Recurrence(recurrence string) *CalendarEventRespBuilder { 1944 builder.recurrence = recurrence 1945 builder.recurrenceFlag = true 1946 return builder 1947 } 1948 1949 // 日程状态 1950 // 1951 // 示例值: 1952 func (builder *CalendarEventRespBuilder) Status(status string) *CalendarEventRespBuilder { 1953 builder.status = status 1954 builder.statusFlag = true 1955 return builder 1956 } 1957 1958 // 日程是否是一个重复日程的例外日程 1959 // 1960 // 示例值: 1961 func (builder *CalendarEventRespBuilder) IsException(isException bool) *CalendarEventRespBuilder { 1962 builder.isException = isException 1963 builder.isExceptionFlag = true 1964 return builder 1965 } 1966 1967 // 例外日程的原重复日程的event_id 1968 // 1969 // 示例值: 1970 func (builder *CalendarEventRespBuilder) RecurringEventId(recurringEventId string) *CalendarEventRespBuilder { 1971 builder.recurringEventId = recurringEventId 1972 builder.recurringEventIdFlag = true 1973 return builder 1974 } 1975 1976 // 日程自定义信息 1977 // 1978 // 示例值: 1979 func (builder *CalendarEventRespBuilder) Schemas(schemas []*Schema) *CalendarEventRespBuilder { 1980 builder.schemas = schemas 1981 builder.schemasFlag = true 1982 return builder 1983 } 1984 1985 func (builder *CalendarEventRespBuilder) Build() *CalendarEventResp { 1986 req := &CalendarEventResp{} 1987 if builder.eventIdFlag { 1988 req.EventId = &builder.eventId 1989 1990 } 1991 if builder.organizerCalendarIdFlag { 1992 req.OrganizerCalendarId = &builder.organizerCalendarId 1993 1994 } 1995 if builder.summaryFlag { 1996 req.Summary = &builder.summary 1997 1998 } 1999 if builder.descriptionFlag { 2000 req.Description = &builder.description 2001 2002 } 2003 if builder.needNotificationFlag { 2004 req.NeedNotification = &builder.needNotification 2005 2006 } 2007 if builder.startTimeFlag { 2008 req.StartTime = builder.startTime 2009 } 2010 if builder.endTimeFlag { 2011 req.EndTime = builder.endTime 2012 } 2013 if builder.vchatFlag { 2014 req.Vchat = builder.vchat 2015 } 2016 if builder.visibilityFlag { 2017 req.Visibility = &builder.visibility 2018 2019 } 2020 if builder.attendeeAbilityFlag { 2021 req.AttendeeAbility = &builder.attendeeAbility 2022 2023 } 2024 if builder.freeBusyStatusFlag { 2025 req.FreeBusyStatus = &builder.freeBusyStatus 2026 2027 } 2028 if builder.locationFlag { 2029 req.Location = builder.location 2030 } 2031 if builder.colorFlag { 2032 req.Color = &builder.color 2033 2034 } 2035 if builder.remindersFlag { 2036 req.Reminders = builder.reminders 2037 } 2038 if builder.recurrenceFlag { 2039 req.Recurrence = &builder.recurrence 2040 2041 } 2042 if builder.statusFlag { 2043 req.Status = &builder.status 2044 2045 } 2046 if builder.isExceptionFlag { 2047 req.IsException = &builder.isException 2048 2049 } 2050 if builder.recurringEventIdFlag { 2051 req.RecurringEventId = &builder.recurringEventId 2052 2053 } 2054 if builder.schemasFlag { 2055 req.Schemas = builder.schemas 2056 } 2057 return req 2058 } 2059 2060 type CalendarFreebusy struct { 2061 StartTime *string `json:"start_time,omitempty"` // 忙闲信息开始时间,RFC3339 date_time格式 2062 EndTime *string `json:"end_time,omitempty"` // 忙闲信息结束时间,RFC3339 date_time格式 2063 CalendarId *string `json:"calendar_id,omitempty"` // 日历id 2064 } 2065 2066 type CalendarFreebusyBuilder struct { 2067 startTime string // 忙闲信息开始时间,RFC3339 date_time格式 2068 startTimeFlag bool 2069 endTime string // 忙闲信息结束时间,RFC3339 date_time格式 2070 endTimeFlag bool 2071 calendarId string // 日历id 2072 calendarIdFlag bool 2073 } 2074 2075 func NewCalendarFreebusyBuilder() *CalendarFreebusyBuilder { 2076 builder := &CalendarFreebusyBuilder{} 2077 return builder 2078 } 2079 2080 // 忙闲信息开始时间,RFC3339 date_time格式 2081 // 2082 // 示例值: 2083 func (builder *CalendarFreebusyBuilder) StartTime(startTime string) *CalendarFreebusyBuilder { 2084 builder.startTime = startTime 2085 builder.startTimeFlag = true 2086 return builder 2087 } 2088 2089 // 忙闲信息结束时间,RFC3339 date_time格式 2090 // 2091 // 示例值: 2092 func (builder *CalendarFreebusyBuilder) EndTime(endTime string) *CalendarFreebusyBuilder { 2093 builder.endTime = endTime 2094 builder.endTimeFlag = true 2095 return builder 2096 } 2097 2098 // 日历id 2099 // 2100 // 示例值: 2101 func (builder *CalendarFreebusyBuilder) CalendarId(calendarId string) *CalendarFreebusyBuilder { 2102 builder.calendarId = calendarId 2103 builder.calendarIdFlag = true 2104 return builder 2105 } 2106 2107 func (builder *CalendarFreebusyBuilder) Build() *CalendarFreebusy { 2108 req := &CalendarFreebusy{} 2109 if builder.startTimeFlag { 2110 req.StartTime = &builder.startTime 2111 2112 } 2113 if builder.endTimeFlag { 2114 req.EndTime = &builder.endTime 2115 2116 } 2117 if builder.calendarIdFlag { 2118 req.CalendarId = &builder.calendarId 2119 2120 } 2121 return req 2122 } 2123 2124 type CalendarFreebusyError struct { 2125 CalendarId *string `json:"calendar_id,omitempty"` // 日历id 2126 ErrorMsg *string `json:"error_msg,omitempty"` // 错误信息 2127 } 2128 2129 type CalendarFreebusyErrorBuilder struct { 2130 calendarId string // 日历id 2131 calendarIdFlag bool 2132 errorMsg string // 错误信息 2133 errorMsgFlag bool 2134 } 2135 2136 func NewCalendarFreebusyErrorBuilder() *CalendarFreebusyErrorBuilder { 2137 builder := &CalendarFreebusyErrorBuilder{} 2138 return builder 2139 } 2140 2141 // 日历id 2142 // 2143 // 示例值: 2144 func (builder *CalendarFreebusyErrorBuilder) CalendarId(calendarId string) *CalendarFreebusyErrorBuilder { 2145 builder.calendarId = calendarId 2146 builder.calendarIdFlag = true 2147 return builder 2148 } 2149 2150 // 错误信息 2151 // 2152 // 示例值: 2153 func (builder *CalendarFreebusyErrorBuilder) ErrorMsg(errorMsg string) *CalendarFreebusyErrorBuilder { 2154 builder.errorMsg = errorMsg 2155 builder.errorMsgFlag = true 2156 return builder 2157 } 2158 2159 func (builder *CalendarFreebusyErrorBuilder) Build() *CalendarFreebusyError { 2160 req := &CalendarFreebusyError{} 2161 if builder.calendarIdFlag { 2162 req.CalendarId = &builder.calendarId 2163 2164 } 2165 if builder.errorMsgFlag { 2166 req.ErrorMsg = &builder.errorMsg 2167 2168 } 2169 return req 2170 } 2171 2172 type CustomizationOption struct { 2173 OptionKey *string `json:"option_key,omitempty"` // 每个选项的唯一ID 2174 OthersContent *string `json:"others_content,omitempty"` // 当type类型为其它选项时,该参数需要填入 2175 } 2176 2177 type CustomizationOptionBuilder struct { 2178 optionKey string // 每个选项的唯一ID 2179 optionKeyFlag bool 2180 othersContent string // 当type类型为其它选项时,该参数需要填入 2181 othersContentFlag bool 2182 } 2183 2184 func NewCustomizationOptionBuilder() *CustomizationOptionBuilder { 2185 builder := &CustomizationOptionBuilder{} 2186 return builder 2187 } 2188 2189 // 每个选项的唯一ID 2190 // 2191 // 示例值:16281481596185 2192 func (builder *CustomizationOptionBuilder) OptionKey(optionKey string) *CustomizationOptionBuilder { 2193 builder.optionKey = optionKey 2194 builder.optionKeyFlag = true 2195 return builder 2196 } 2197 2198 // 当type类型为其它选项时,该参数需要填入 2199 // 2200 // 示例值:xxx 2201 func (builder *CustomizationOptionBuilder) OthersContent(othersContent string) *CustomizationOptionBuilder { 2202 builder.othersContent = othersContent 2203 builder.othersContentFlag = true 2204 return builder 2205 } 2206 2207 func (builder *CustomizationOptionBuilder) Build() *CustomizationOption { 2208 req := &CustomizationOption{} 2209 if builder.optionKeyFlag { 2210 req.OptionKey = &builder.optionKey 2211 2212 } 2213 if builder.othersContentFlag { 2214 req.OthersContent = &builder.othersContent 2215 2216 } 2217 return req 2218 } 2219 2220 type EventLocation struct { 2221 Name *string `json:"name,omitempty"` // 地点名称 2222 Address *string `json:"address,omitempty"` // 地点地址 2223 Latitude *float64 `json:"latitude,omitempty"` // 地点坐标纬度信息,对于国内的地点,采用GCJ-02标准,海外地点采用WGS84标准 2224 Longitude *float64 `json:"longitude,omitempty"` // 地点坐标经度信息,对于国内的地点,采用GCJ-02标准,海外地点采用WGS84标准 2225 } 2226 2227 type EventLocationBuilder struct { 2228 name string // 地点名称 2229 nameFlag bool 2230 address string // 地点地址 2231 addressFlag bool 2232 latitude float64 // 地点坐标纬度信息,对于国内的地点,采用GCJ-02标准,海外地点采用WGS84标准 2233 latitudeFlag bool 2234 longitude float64 // 地点坐标经度信息,对于国内的地点,采用GCJ-02标准,海外地点采用WGS84标准 2235 longitudeFlag bool 2236 } 2237 2238 func NewEventLocationBuilder() *EventLocationBuilder { 2239 builder := &EventLocationBuilder{} 2240 return builder 2241 } 2242 2243 // 地点名称 2244 // 2245 // 示例值:地点名称 2246 func (builder *EventLocationBuilder) Name(name string) *EventLocationBuilder { 2247 builder.name = name 2248 builder.nameFlag = true 2249 return builder 2250 } 2251 2252 // 地点地址 2253 // 2254 // 示例值:地点地址 2255 func (builder *EventLocationBuilder) Address(address string) *EventLocationBuilder { 2256 builder.address = address 2257 builder.addressFlag = true 2258 return builder 2259 } 2260 2261 // 地点坐标纬度信息,对于国内的地点,采用GCJ-02标准,海外地点采用WGS84标准 2262 // 2263 // 示例值:1.100000023841858 2264 func (builder *EventLocationBuilder) Latitude(latitude float64) *EventLocationBuilder { 2265 builder.latitude = latitude 2266 builder.latitudeFlag = true 2267 return builder 2268 } 2269 2270 // 地点坐标经度信息,对于国内的地点,采用GCJ-02标准,海外地点采用WGS84标准 2271 // 2272 // 示例值:2.200000047683716 2273 func (builder *EventLocationBuilder) Longitude(longitude float64) *EventLocationBuilder { 2274 builder.longitude = longitude 2275 builder.longitudeFlag = true 2276 return builder 2277 } 2278 2279 func (builder *EventLocationBuilder) Build() *EventLocation { 2280 req := &EventLocation{} 2281 if builder.nameFlag { 2282 req.Name = &builder.name 2283 2284 } 2285 if builder.addressFlag { 2286 req.Address = &builder.address 2287 2288 } 2289 if builder.latitudeFlag { 2290 req.Latitude = &builder.latitude 2291 2292 } 2293 if builder.longitudeFlag { 2294 req.Longitude = &builder.longitude 2295 2296 } 2297 return req 2298 } 2299 2300 type EventSearchFilter struct { 2301 StartTime *TimeInfo `json:"start_time,omitempty"` // 搜索过滤项,日程搜索区间的开始时间,被搜索日程的事件必须与搜索区间有交集 2302 EndTime *TimeInfo `json:"end_time,omitempty"` // 搜索过滤项,日程搜索区间的结束时间,被搜索日程的事件必须与搜索区间有交集 2303 UserIds []string `json:"user_ids,omitempty"` // 搜索过滤项,参与人的用户ID列表,被搜索日程中必须包含至少一个其中的参与人。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2304 RoomIds []string `json:"room_ids,omitempty"` // 搜索过滤项,会议室ID列表,被搜索日程中必须包含至少一个其中的会议室 2305 ChatIds []string `json:"chat_ids,omitempty"` // 搜索过滤项,群ID列表,被搜索日程的参与人中必须包含至少一个其中的群。参见[群ID 说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/im-v1/chat-id-description) 2306 } 2307 2308 type EventSearchFilterBuilder struct { 2309 startTime *TimeInfo // 搜索过滤项,日程搜索区间的开始时间,被搜索日程的事件必须与搜索区间有交集 2310 startTimeFlag bool 2311 endTime *TimeInfo // 搜索过滤项,日程搜索区间的结束时间,被搜索日程的事件必须与搜索区间有交集 2312 endTimeFlag bool 2313 userIds []string // 搜索过滤项,参与人的用户ID列表,被搜索日程中必须包含至少一个其中的参与人。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2314 userIdsFlag bool 2315 roomIds []string // 搜索过滤项,会议室ID列表,被搜索日程中必须包含至少一个其中的会议室 2316 roomIdsFlag bool 2317 chatIds []string // 搜索过滤项,群ID列表,被搜索日程的参与人中必须包含至少一个其中的群。参见[群ID 说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/im-v1/chat-id-description) 2318 chatIdsFlag bool 2319 } 2320 2321 func NewEventSearchFilterBuilder() *EventSearchFilterBuilder { 2322 builder := &EventSearchFilterBuilder{} 2323 return builder 2324 } 2325 2326 // 搜索过滤项,日程搜索区间的开始时间,被搜索日程的事件必须与搜索区间有交集 2327 // 2328 // 示例值: 2329 func (builder *EventSearchFilterBuilder) StartTime(startTime *TimeInfo) *EventSearchFilterBuilder { 2330 builder.startTime = startTime 2331 builder.startTimeFlag = true 2332 return builder 2333 } 2334 2335 // 搜索过滤项,日程搜索区间的结束时间,被搜索日程的事件必须与搜索区间有交集 2336 // 2337 // 示例值: 2338 func (builder *EventSearchFilterBuilder) EndTime(endTime *TimeInfo) *EventSearchFilterBuilder { 2339 builder.endTime = endTime 2340 builder.endTimeFlag = true 2341 return builder 2342 } 2343 2344 // 搜索过滤项,参与人的用户ID列表,被搜索日程中必须包含至少一个其中的参与人。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2345 // 2346 // 示例值:xxxxx 2347 func (builder *EventSearchFilterBuilder) UserIds(userIds []string) *EventSearchFilterBuilder { 2348 builder.userIds = userIds 2349 builder.userIdsFlag = true 2350 return builder 2351 } 2352 2353 // 搜索过滤项,会议室ID列表,被搜索日程中必须包含至少一个其中的会议室 2354 // 2355 // 示例值:xxxxx 2356 func (builder *EventSearchFilterBuilder) RoomIds(roomIds []string) *EventSearchFilterBuilder { 2357 builder.roomIds = roomIds 2358 builder.roomIdsFlag = true 2359 return builder 2360 } 2361 2362 // 搜索过滤项,群ID列表,被搜索日程的参与人中必须包含至少一个其中的群。参见[群ID 说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/im-v1/chat-id-description) 2363 // 2364 // 示例值:xxxxx 2365 func (builder *EventSearchFilterBuilder) ChatIds(chatIds []string) *EventSearchFilterBuilder { 2366 builder.chatIds = chatIds 2367 builder.chatIdsFlag = true 2368 return builder 2369 } 2370 2371 func (builder *EventSearchFilterBuilder) Build() *EventSearchFilter { 2372 req := &EventSearchFilter{} 2373 if builder.startTimeFlag { 2374 req.StartTime = builder.startTime 2375 } 2376 if builder.endTimeFlag { 2377 req.EndTime = builder.endTime 2378 } 2379 if builder.userIdsFlag { 2380 req.UserIds = builder.userIds 2381 } 2382 if builder.roomIdsFlag { 2383 req.RoomIds = builder.roomIds 2384 } 2385 if builder.chatIdsFlag { 2386 req.ChatIds = builder.chatIds 2387 } 2388 return req 2389 } 2390 2391 type EventTime struct { 2392 TimeStamp *string `json:"time_stamp,omitempty"` // 2393 } 2394 2395 type EventTimeBuilder struct { 2396 timeStamp string // 2397 timeStampFlag bool 2398 } 2399 2400 func NewEventTimeBuilder() *EventTimeBuilder { 2401 builder := &EventTimeBuilder{} 2402 return builder 2403 } 2404 2405 // 2406 // 2407 // 示例值: 2408 func (builder *EventTimeBuilder) TimeStamp(timeStamp string) *EventTimeBuilder { 2409 builder.timeStamp = timeStamp 2410 builder.timeStampFlag = true 2411 return builder 2412 } 2413 2414 func (builder *EventTimeBuilder) Build() *EventTime { 2415 req := &EventTime{} 2416 if builder.timeStampFlag { 2417 req.TimeStamp = &builder.timeStamp 2418 2419 } 2420 return req 2421 } 2422 2423 type ExchangeBinding struct { 2424 AdminAccount *string `json:"admin_account,omitempty"` // admin账户 2425 ExchangeAccount *string `json:"exchange_account,omitempty"` // 用户绑定的exchange账户 2426 UserId *string `json:"user_id,omitempty"` // exchange账户绑定user唯一标识id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2427 Status *string `json:"status,omitempty"` // exchange账户同步状态 2428 ExchangeBindingId *string `json:"exchange_binding_id,omitempty"` // exchange绑定唯一标识id。参见[exchange绑定ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/exchange_binding/introduction#12533d5e) 2429 } 2430 2431 type ExchangeBindingBuilder struct { 2432 adminAccount string // admin账户 2433 adminAccountFlag bool 2434 exchangeAccount string // 用户绑定的exchange账户 2435 exchangeAccountFlag bool 2436 userId string // exchange账户绑定user唯一标识id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2437 userIdFlag bool 2438 status string // exchange账户同步状态 2439 statusFlag bool 2440 exchangeBindingId string // exchange绑定唯一标识id。参见[exchange绑定ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/exchange_binding/introduction#12533d5e) 2441 exchangeBindingIdFlag bool 2442 } 2443 2444 func NewExchangeBindingBuilder() *ExchangeBindingBuilder { 2445 builder := &ExchangeBindingBuilder{} 2446 return builder 2447 } 2448 2449 // admin账户 2450 // 2451 // 示例值:email_admin_example@outlook.com 2452 func (builder *ExchangeBindingBuilder) AdminAccount(adminAccount string) *ExchangeBindingBuilder { 2453 builder.adminAccount = adminAccount 2454 builder.adminAccountFlag = true 2455 return builder 2456 } 2457 2458 // 用户绑定的exchange账户 2459 // 2460 // 示例值:email_account_example@outlook.com 2461 func (builder *ExchangeBindingBuilder) ExchangeAccount(exchangeAccount string) *ExchangeBindingBuilder { 2462 builder.exchangeAccount = exchangeAccount 2463 builder.exchangeAccountFlag = true 2464 return builder 2465 } 2466 2467 // exchange账户绑定user唯一标识id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2468 // 2469 // 示例值:ou_xxxxxxxxxxxxxxxxxx 2470 func (builder *ExchangeBindingBuilder) UserId(userId string) *ExchangeBindingBuilder { 2471 builder.userId = userId 2472 builder.userIdFlag = true 2473 return builder 2474 } 2475 2476 // exchange账户同步状态 2477 // 2478 // 示例值:doing 2479 func (builder *ExchangeBindingBuilder) Status(status string) *ExchangeBindingBuilder { 2480 builder.status = status 2481 builder.statusFlag = true 2482 return builder 2483 } 2484 2485 // exchange绑定唯一标识id。参见[exchange绑定ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/exchange_binding/introduction#12533d5e) 2486 // 2487 // 示例值:ZW1haWxfYWRtaW5fZXhhbXBsZUBvdXRsb29rLmNvbSBlbWFpbF9hY2NvdW50X2V4YW1wbGVAb3V0bG9vay5jb20= 2488 func (builder *ExchangeBindingBuilder) ExchangeBindingId(exchangeBindingId string) *ExchangeBindingBuilder { 2489 builder.exchangeBindingId = exchangeBindingId 2490 builder.exchangeBindingIdFlag = true 2491 return builder 2492 } 2493 2494 func (builder *ExchangeBindingBuilder) Build() *ExchangeBinding { 2495 req := &ExchangeBinding{} 2496 if builder.adminAccountFlag { 2497 req.AdminAccount = &builder.adminAccount 2498 2499 } 2500 if builder.exchangeAccountFlag { 2501 req.ExchangeAccount = &builder.exchangeAccount 2502 2503 } 2504 if builder.userIdFlag { 2505 req.UserId = &builder.userId 2506 2507 } 2508 if builder.statusFlag { 2509 req.Status = &builder.status 2510 2511 } 2512 if builder.exchangeBindingIdFlag { 2513 req.ExchangeBindingId = &builder.exchangeBindingId 2514 2515 } 2516 return req 2517 } 2518 2519 type Freebusy struct { 2520 StartTime *string `json:"start_time,omitempty"` // 忙闲信息开始时间,RFC3339 date_time 格式 2521 EndTime *string `json:"end_time,omitempty"` // 忙闲信息结束时间,RFC3339 date_time 格式 2522 } 2523 2524 type FreebusyBuilder struct { 2525 startTime string // 忙闲信息开始时间,RFC3339 date_time 格式 2526 startTimeFlag bool 2527 endTime string // 忙闲信息结束时间,RFC3339 date_time 格式 2528 endTimeFlag bool 2529 } 2530 2531 func NewFreebusyBuilder() *FreebusyBuilder { 2532 builder := &FreebusyBuilder{} 2533 return builder 2534 } 2535 2536 // 忙闲信息开始时间,RFC3339 date_time 格式 2537 // 2538 // 示例值:2020-10-28T22:30:00+08:00 2539 func (builder *FreebusyBuilder) StartTime(startTime string) *FreebusyBuilder { 2540 builder.startTime = startTime 2541 builder.startTimeFlag = true 2542 return builder 2543 } 2544 2545 // 忙闲信息结束时间,RFC3339 date_time 格式 2546 // 2547 // 示例值:2020-10-28T22:45:00+08:00 2548 func (builder *FreebusyBuilder) EndTime(endTime string) *FreebusyBuilder { 2549 builder.endTime = endTime 2550 builder.endTimeFlag = true 2551 return builder 2552 } 2553 2554 func (builder *FreebusyBuilder) Build() *Freebusy { 2555 req := &Freebusy{} 2556 if builder.startTimeFlag { 2557 req.StartTime = &builder.startTime 2558 2559 } 2560 if builder.endTimeFlag { 2561 req.EndTime = &builder.endTime 2562 2563 } 2564 return req 2565 } 2566 2567 type Reminder struct { 2568 Minutes *int `json:"minutes,omitempty"` // 日程提醒时间的偏移量,正数时表示在日程开始前X分钟提醒,负数时表示在日程开始后X分钟提醒;新建或更新日程时传入该字段,仅对当前身份生效 2569 } 2570 2571 type ReminderBuilder struct { 2572 minutes int // 日程提醒时间的偏移量,正数时表示在日程开始前X分钟提醒,负数时表示在日程开始后X分钟提醒;新建或更新日程时传入该字段,仅对当前身份生效 2573 minutesFlag bool 2574 } 2575 2576 func NewReminderBuilder() *ReminderBuilder { 2577 builder := &ReminderBuilder{} 2578 return builder 2579 } 2580 2581 // 日程提醒时间的偏移量,正数时表示在日程开始前X分钟提醒,负数时表示在日程开始后X分钟提醒;新建或更新日程时传入该字段,仅对当前身份生效 2582 // 2583 // 示例值:5 2584 func (builder *ReminderBuilder) Minutes(minutes int) *ReminderBuilder { 2585 builder.minutes = minutes 2586 builder.minutesFlag = true 2587 return builder 2588 } 2589 2590 func (builder *ReminderBuilder) Build() *Reminder { 2591 req := &Reminder{} 2592 if builder.minutesFlag { 2593 req.Minutes = &builder.minutes 2594 2595 } 2596 return req 2597 } 2598 2599 type Schema struct { 2600 UiName *string `json:"ui_name,omitempty"` // UI名称。取值范围如下: ;- ForwardIcon: 日程转发按钮 ;- MeetingChatIcon: 会议群聊按钮 ;- MeetingMinutesIcon: 会议纪要按钮 ;- MeetingVideo: 视频会议区域 ;- RSVP: 接受/拒绝/待定区域 ;- Attendee: 参与者区域 ;- OrganizerOrCreator: 组织者/创建者区域 2601 UiStatus *string `json:"ui_status,omitempty"` // UI项自定义状态。**目前只支持hide** 2602 AppLink *string `json:"app_link,omitempty"` // 按钮点击后跳转的链接; **该字段暂不支持传入。** 2603 } 2604 2605 type SchemaBuilder struct { 2606 uiName string // UI名称。取值范围如下: ;- ForwardIcon: 日程转发按钮 ;- MeetingChatIcon: 会议群聊按钮 ;- MeetingMinutesIcon: 会议纪要按钮 ;- MeetingVideo: 视频会议区域 ;- RSVP: 接受/拒绝/待定区域 ;- Attendee: 参与者区域 ;- OrganizerOrCreator: 组织者/创建者区域 2607 uiNameFlag bool 2608 uiStatus string // UI项自定义状态。**目前只支持hide** 2609 uiStatusFlag bool 2610 appLink string // 按钮点击后跳转的链接; **该字段暂不支持传入。** 2611 appLinkFlag bool 2612 } 2613 2614 func NewSchemaBuilder() *SchemaBuilder { 2615 builder := &SchemaBuilder{} 2616 return builder 2617 } 2618 2619 // UI名称。取值范围如下: ;- ForwardIcon: 日程转发按钮 ;- MeetingChatIcon: 会议群聊按钮 ;- MeetingMinutesIcon: 会议纪要按钮 ;- MeetingVideo: 视频会议区域 ;- RSVP: 接受/拒绝/待定区域 ;- Attendee: 参与者区域 ;- OrganizerOrCreator: 组织者/创建者区域 2620 // 2621 // 示例值:ForwardIcon 2622 func (builder *SchemaBuilder) UiName(uiName string) *SchemaBuilder { 2623 builder.uiName = uiName 2624 builder.uiNameFlag = true 2625 return builder 2626 } 2627 2628 // UI项自定义状态。**目前只支持hide** 2629 // 2630 // 示例值:hide 2631 func (builder *SchemaBuilder) UiStatus(uiStatus string) *SchemaBuilder { 2632 builder.uiStatus = uiStatus 2633 builder.uiStatusFlag = true 2634 return builder 2635 } 2636 2637 // 按钮点击后跳转的链接; **该字段暂不支持传入。** 2638 // 2639 // 示例值:https://applink.feishu.cn/client/calendar/event/detail?calendarId=xxxxxx&key=xxxxxx&originalTime=xxxxxx&startTime=xxxxxx 2640 func (builder *SchemaBuilder) AppLink(appLink string) *SchemaBuilder { 2641 builder.appLink = appLink 2642 builder.appLinkFlag = true 2643 return builder 2644 } 2645 2646 func (builder *SchemaBuilder) Build() *Schema { 2647 req := &Schema{} 2648 if builder.uiNameFlag { 2649 req.UiName = &builder.uiName 2650 2651 } 2652 if builder.uiStatusFlag { 2653 req.UiStatus = &builder.uiStatus 2654 2655 } 2656 if builder.appLinkFlag { 2657 req.AppLink = &builder.appLink 2658 2659 } 2660 return req 2661 } 2662 2663 type Setting struct { 2664 } 2665 2666 type TimeInfo struct { 2667 Date *string `json:"date,omitempty"` // 仅全天日程使用该字段,如2018-09-01。需满足 RFC3339 格式。不能与 timestamp 同时指定 2668 Timestamp *string `json:"timestamp,omitempty"` // 秒级时间戳,如1602504000(表示2020/10/12 20:0:00 +8时区) 2669 Timezone *string `json:"timezone,omitempty"` // 时区名称,使用IANA Time Zone Database标准,如Asia/Shanghai;全天日程时区固定为UTC,非全天日程时区默认为Asia/Shanghai 2670 } 2671 2672 type TimeInfoBuilder struct { 2673 date string // 仅全天日程使用该字段,如2018-09-01。需满足 RFC3339 格式。不能与 timestamp 同时指定 2674 dateFlag bool 2675 timestamp string // 秒级时间戳,如1602504000(表示2020/10/12 20:0:00 +8时区) 2676 timestampFlag bool 2677 timezone string // 时区名称,使用IANA Time Zone Database标准,如Asia/Shanghai;全天日程时区固定为UTC,非全天日程时区默认为Asia/Shanghai 2678 timezoneFlag bool 2679 } 2680 2681 func NewTimeInfoBuilder() *TimeInfoBuilder { 2682 builder := &TimeInfoBuilder{} 2683 return builder 2684 } 2685 2686 // 仅全天日程使用该字段,如2018-09-01。需满足 RFC3339 格式。不能与 timestamp 同时指定 2687 // 2688 // 示例值:2018-09-01 2689 func (builder *TimeInfoBuilder) Date(date string) *TimeInfoBuilder { 2690 builder.date = date 2691 builder.dateFlag = true 2692 return builder 2693 } 2694 2695 // 秒级时间戳,如1602504000(表示2020/10/12 20:0:00 +8时区) 2696 // 2697 // 示例值:1602504000 2698 func (builder *TimeInfoBuilder) Timestamp(timestamp string) *TimeInfoBuilder { 2699 builder.timestamp = timestamp 2700 builder.timestampFlag = true 2701 return builder 2702 } 2703 2704 // 时区名称,使用IANA Time Zone Database标准,如Asia/Shanghai;全天日程时区固定为UTC,非全天日程时区默认为Asia/Shanghai 2705 // 2706 // 示例值:Asia/Shanghai 2707 func (builder *TimeInfoBuilder) Timezone(timezone string) *TimeInfoBuilder { 2708 builder.timezone = timezone 2709 builder.timezoneFlag = true 2710 return builder 2711 } 2712 2713 func (builder *TimeInfoBuilder) Build() *TimeInfo { 2714 req := &TimeInfo{} 2715 if builder.dateFlag { 2716 req.Date = &builder.date 2717 2718 } 2719 if builder.timestampFlag { 2720 req.Timestamp = &builder.timestamp 2721 2722 } 2723 if builder.timezoneFlag { 2724 req.Timezone = &builder.timezone 2725 2726 } 2727 return req 2728 } 2729 2730 type TimeoffEvent struct { 2731 TimeoffEventId *string `json:"timeoff_event_id,omitempty"` // 请假日程ID。参见[请假日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/timeoff_event/introduction#b6611a02) 2732 UserId *string `json:"user_id,omitempty"` // 用户id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2733 Timezone *string `json:"timezone,omitempty"` // 时区 2734 StartTime *string `json:"start_time,omitempty"` // 休假开始时间:;有时间戳(1609430400)和日期(2021-01-01)两种格式,其它格式无效;;时间戳格式是按小时休假日程,日期格式是全天休假日程;;start_time与end_time格式需保持一致,否则无效。 2735 EndTime *string `json:"end_time,omitempty"` // 休假结束时间:;有时间戳(1609430400)和日期(2021-01-01)两种格式,其它格式无效;;时间戳格式是按小时休假日程,日期格式是全天休假日程;;start_time与end_time格式需保持一致,否则无效。 2736 Title *string `json:"title,omitempty"` // 自定义请假日程标题,没有设置则为默认日程标题 2737 Description *string `json:"description,omitempty"` // 自定义请假日程描述,没有设置则为默认日程描述 2738 } 2739 2740 type TimeoffEventBuilder struct { 2741 timeoffEventId string // 请假日程ID。参见[请假日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/timeoff_event/introduction#b6611a02) 2742 timeoffEventIdFlag bool 2743 userId string // 用户id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2744 userIdFlag bool 2745 timezone string // 时区 2746 timezoneFlag bool 2747 startTime string // 休假开始时间:;有时间戳(1609430400)和日期(2021-01-01)两种格式,其它格式无效;;时间戳格式是按小时休假日程,日期格式是全天休假日程;;start_time与end_time格式需保持一致,否则无效。 2748 startTimeFlag bool 2749 endTime string // 休假结束时间:;有时间戳(1609430400)和日期(2021-01-01)两种格式,其它格式无效;;时间戳格式是按小时休假日程,日期格式是全天休假日程;;start_time与end_time格式需保持一致,否则无效。 2750 endTimeFlag bool 2751 title string // 自定义请假日程标题,没有设置则为默认日程标题 2752 titleFlag bool 2753 description string // 自定义请假日程描述,没有设置则为默认日程描述 2754 descriptionFlag bool 2755 } 2756 2757 func NewTimeoffEventBuilder() *TimeoffEventBuilder { 2758 builder := &TimeoffEventBuilder{} 2759 return builder 2760 } 2761 2762 // 请假日程ID。参见[请假日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/timeoff_event/introduction#b6611a02) 2763 // 2764 // 示例值:timeoff:XXXXXX-XXXX-0917-1623-aa493d591a39-XXXXXX 2765 func (builder *TimeoffEventBuilder) TimeoffEventId(timeoffEventId string) *TimeoffEventBuilder { 2766 builder.timeoffEventId = timeoffEventId 2767 builder.timeoffEventIdFlag = true 2768 return builder 2769 } 2770 2771 // 用户id,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2772 // 2773 // 示例值:ou_XXXXXXXXXX 2774 func (builder *TimeoffEventBuilder) UserId(userId string) *TimeoffEventBuilder { 2775 builder.userId = userId 2776 builder.userIdFlag = true 2777 return builder 2778 } 2779 2780 // 时区 2781 // 2782 // 示例值:Asia/Shanghai 2783 func (builder *TimeoffEventBuilder) Timezone(timezone string) *TimeoffEventBuilder { 2784 builder.timezone = timezone 2785 builder.timezoneFlag = true 2786 return builder 2787 } 2788 2789 // 休假开始时间:;有时间戳(1609430400)和日期(2021-01-01)两种格式,其它格式无效;;时间戳格式是按小时休假日程,日期格式是全天休假日程;;start_time与end_time格式需保持一致,否则无效。 2790 // 2791 // 示例值:2021-01-01 2792 func (builder *TimeoffEventBuilder) StartTime(startTime string) *TimeoffEventBuilder { 2793 builder.startTime = startTime 2794 builder.startTimeFlag = true 2795 return builder 2796 } 2797 2798 // 休假结束时间:;有时间戳(1609430400)和日期(2021-01-01)两种格式,其它格式无效;;时间戳格式是按小时休假日程,日期格式是全天休假日程;;start_time与end_time格式需保持一致,否则无效。 2799 // 2800 // 示例值:2021-01-01 2801 func (builder *TimeoffEventBuilder) EndTime(endTime string) *TimeoffEventBuilder { 2802 builder.endTime = endTime 2803 builder.endTimeFlag = true 2804 return builder 2805 } 2806 2807 // 自定义请假日程标题,没有设置则为默认日程标题 2808 // 2809 // 示例值:请假中(全天) / 1-Day Time Off 2810 func (builder *TimeoffEventBuilder) Title(title string) *TimeoffEventBuilder { 2811 builder.title = title 2812 builder.titleFlag = true 2813 return builder 2814 } 2815 2816 // 自定义请假日程描述,没有设置则为默认日程描述 2817 // 2818 // 示例值:若删除此日程,飞书中相应的“请假”标签将自动消失,而请假系统中的休假申请不会被撤销。 2819 func (builder *TimeoffEventBuilder) Description(description string) *TimeoffEventBuilder { 2820 builder.description = description 2821 builder.descriptionFlag = true 2822 return builder 2823 } 2824 2825 func (builder *TimeoffEventBuilder) Build() *TimeoffEvent { 2826 req := &TimeoffEvent{} 2827 if builder.timeoffEventIdFlag { 2828 req.TimeoffEventId = &builder.timeoffEventId 2829 2830 } 2831 if builder.userIdFlag { 2832 req.UserId = &builder.userId 2833 2834 } 2835 if builder.timezoneFlag { 2836 req.Timezone = &builder.timezone 2837 2838 } 2839 if builder.startTimeFlag { 2840 req.StartTime = &builder.startTime 2841 2842 } 2843 if builder.endTimeFlag { 2844 req.EndTime = &builder.endTime 2845 2846 } 2847 if builder.titleFlag { 2848 req.Title = &builder.title 2849 2850 } 2851 if builder.descriptionFlag { 2852 req.Description = &builder.description 2853 2854 } 2855 return req 2856 } 2857 2858 type UserCalendar struct { 2859 Calendar *Calendar `json:"calendar,omitempty"` // 日历实体信息 2860 UserId *string `json:"user_id,omitempty"` // 日历的创建者user ID,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2861 } 2862 2863 type UserCalendarBuilder struct { 2864 calendar *Calendar // 日历实体信息 2865 calendarFlag bool 2866 userId string // 日历的创建者user ID,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2867 userIdFlag bool 2868 } 2869 2870 func NewUserCalendarBuilder() *UserCalendarBuilder { 2871 builder := &UserCalendarBuilder{} 2872 return builder 2873 } 2874 2875 // 日历实体信息 2876 // 2877 // 示例值: 2878 func (builder *UserCalendarBuilder) Calendar(calendar *Calendar) *UserCalendarBuilder { 2879 builder.calendar = calendar 2880 builder.calendarFlag = true 2881 return builder 2882 } 2883 2884 // 日历的创建者user ID,参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 2885 // 2886 // 示例值:ou_xxxxxx 2887 func (builder *UserCalendarBuilder) UserId(userId string) *UserCalendarBuilder { 2888 builder.userId = userId 2889 builder.userIdFlag = true 2890 return builder 2891 } 2892 2893 func (builder *UserCalendarBuilder) Build() *UserCalendar { 2894 req := &UserCalendar{} 2895 if builder.calendarFlag { 2896 req.Calendar = builder.calendar 2897 } 2898 if builder.userIdFlag { 2899 req.UserId = &builder.userId 2900 2901 } 2902 return req 2903 } 2904 2905 type UserId struct { 2906 UserId *string `json:"user_id,omitempty"` // 2907 OpenId *string `json:"open_id,omitempty"` // 2908 UnionId *string `json:"union_id,omitempty"` // 2909 } 2910 2911 type UserIdBuilder struct { 2912 userId string // 2913 userIdFlag bool 2914 openId string // 2915 openIdFlag bool 2916 unionId string // 2917 unionIdFlag bool 2918 } 2919 2920 func NewUserIdBuilder() *UserIdBuilder { 2921 builder := &UserIdBuilder{} 2922 return builder 2923 } 2924 2925 // 2926 // 2927 // 示例值: 2928 func (builder *UserIdBuilder) UserId(userId string) *UserIdBuilder { 2929 builder.userId = userId 2930 builder.userIdFlag = true 2931 return builder 2932 } 2933 2934 // 2935 // 2936 // 示例值: 2937 func (builder *UserIdBuilder) OpenId(openId string) *UserIdBuilder { 2938 builder.openId = openId 2939 builder.openIdFlag = true 2940 return builder 2941 } 2942 2943 // 2944 // 2945 // 示例值: 2946 func (builder *UserIdBuilder) UnionId(unionId string) *UserIdBuilder { 2947 builder.unionId = unionId 2948 builder.unionIdFlag = true 2949 return builder 2950 } 2951 2952 func (builder *UserIdBuilder) Build() *UserId { 2953 req := &UserId{} 2954 if builder.userIdFlag { 2955 req.UserId = &builder.userId 2956 2957 } 2958 if builder.openIdFlag { 2959 req.OpenId = &builder.openId 2960 2961 } 2962 if builder.unionIdFlag { 2963 req.UnionId = &builder.unionId 2964 2965 } 2966 return req 2967 } 2968 2969 type Vchat struct { 2970 VcType *string `json:"vc_type,omitempty"` // 视频会议类型 2971 IconType *string `json:"icon_type,omitempty"` // 第三方视频会议icon类型;可以为空,为空展示默认icon。 2972 Description *string `json:"description,omitempty"` // 第三方视频会议文案,可以为空,为空展示默认文案 2973 MeetingUrl *string `json:"meeting_url,omitempty"` // 视频会议URL 2974 } 2975 2976 type VchatBuilder struct { 2977 vcType string // 视频会议类型 2978 vcTypeFlag bool 2979 iconType string // 第三方视频会议icon类型;可以为空,为空展示默认icon。 2980 iconTypeFlag bool 2981 description string // 第三方视频会议文案,可以为空,为空展示默认文案 2982 descriptionFlag bool 2983 meetingUrl string // 视频会议URL 2984 meetingUrlFlag bool 2985 } 2986 2987 func NewVchatBuilder() *VchatBuilder { 2988 builder := &VchatBuilder{} 2989 return builder 2990 } 2991 2992 // 视频会议类型 2993 // 2994 // 示例值:third_party 2995 func (builder *VchatBuilder) VcType(vcType string) *VchatBuilder { 2996 builder.vcType = vcType 2997 builder.vcTypeFlag = true 2998 return builder 2999 } 3000 3001 // 第三方视频会议icon类型;可以为空,为空展示默认icon。 3002 // 3003 // 示例值:vc 3004 func (builder *VchatBuilder) IconType(iconType string) *VchatBuilder { 3005 builder.iconType = iconType 3006 builder.iconTypeFlag = true 3007 return builder 3008 } 3009 3010 // 第三方视频会议文案,可以为空,为空展示默认文案 3011 // 3012 // 示例值:发起视频会议 3013 func (builder *VchatBuilder) Description(description string) *VchatBuilder { 3014 builder.description = description 3015 builder.descriptionFlag = true 3016 return builder 3017 } 3018 3019 // 视频会议URL 3020 // 3021 // 示例值:https://example.com 3022 func (builder *VchatBuilder) MeetingUrl(meetingUrl string) *VchatBuilder { 3023 builder.meetingUrl = meetingUrl 3024 builder.meetingUrlFlag = true 3025 return builder 3026 } 3027 3028 func (builder *VchatBuilder) Build() *Vchat { 3029 req := &Vchat{} 3030 if builder.vcTypeFlag { 3031 req.VcType = &builder.vcType 3032 3033 } 3034 if builder.iconTypeFlag { 3035 req.IconType = &builder.iconType 3036 3037 } 3038 if builder.descriptionFlag { 3039 req.Description = &builder.description 3040 3041 } 3042 if builder.meetingUrlFlag { 3043 req.MeetingUrl = &builder.meetingUrl 3044 3045 } 3046 return req 3047 } 3048 3049 type CreateCalendarReqBuilder struct { 3050 apiReq *larkcore.ApiReq 3051 calendar *Calendar 3052 } 3053 3054 func NewCreateCalendarReqBuilder() *CreateCalendarReqBuilder { 3055 builder := &CreateCalendarReqBuilder{} 3056 builder.apiReq = &larkcore.ApiReq{ 3057 PathParams: larkcore.PathParams{}, 3058 QueryParams: larkcore.QueryParams{}, 3059 } 3060 return builder 3061 } 3062 3063 // 该接口用于为当前身份(应用 / 用户)创建一个共享日历。;;身份由 Header Authorization 的 Token 类型决定。 3064 func (builder *CreateCalendarReqBuilder) Calendar(calendar *Calendar) *CreateCalendarReqBuilder { 3065 builder.calendar = calendar 3066 return builder 3067 } 3068 3069 func (builder *CreateCalendarReqBuilder) Build() *CreateCalendarReq { 3070 req := &CreateCalendarReq{} 3071 req.apiReq = &larkcore.ApiReq{} 3072 req.apiReq.Body = builder.calendar 3073 return req 3074 } 3075 3076 type CreateCalendarReq struct { 3077 apiReq *larkcore.ApiReq 3078 Calendar *Calendar `body:""` 3079 } 3080 3081 type CreateCalendarRespData struct { 3082 Calendar *Calendar `json:"calendar,omitempty"` // 新创建的日历实体 3083 } 3084 3085 type CreateCalendarResp struct { 3086 *larkcore.ApiResp `json:"-"` 3087 larkcore.CodeError 3088 Data *CreateCalendarRespData `json:"data"` // 业务数据 3089 } 3090 3091 func (resp *CreateCalendarResp) Success() bool { 3092 return resp.Code == 0 3093 } 3094 3095 type DeleteCalendarReqBuilder struct { 3096 apiReq *larkcore.ApiReq 3097 } 3098 3099 func NewDeleteCalendarReqBuilder() *DeleteCalendarReqBuilder { 3100 builder := &DeleteCalendarReqBuilder{} 3101 builder.apiReq = &larkcore.ApiReq{ 3102 PathParams: larkcore.PathParams{}, 3103 QueryParams: larkcore.QueryParams{}, 3104 } 3105 return builder 3106 } 3107 3108 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3109 // 3110 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3111 func (builder *DeleteCalendarReqBuilder) CalendarId(calendarId string) *DeleteCalendarReqBuilder { 3112 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3113 return builder 3114 } 3115 3116 func (builder *DeleteCalendarReqBuilder) Build() *DeleteCalendarReq { 3117 req := &DeleteCalendarReq{} 3118 req.apiReq = &larkcore.ApiReq{} 3119 req.apiReq.PathParams = builder.apiReq.PathParams 3120 return req 3121 } 3122 3123 type DeleteCalendarReq struct { 3124 apiReq *larkcore.ApiReq 3125 } 3126 3127 type DeleteCalendarResp struct { 3128 *larkcore.ApiResp `json:"-"` 3129 larkcore.CodeError 3130 } 3131 3132 func (resp *DeleteCalendarResp) Success() bool { 3133 return resp.Code == 0 3134 } 3135 3136 type GetCalendarReqBuilder struct { 3137 apiReq *larkcore.ApiReq 3138 } 3139 3140 func NewGetCalendarReqBuilder() *GetCalendarReqBuilder { 3141 builder := &GetCalendarReqBuilder{} 3142 builder.apiReq = &larkcore.ApiReq{ 3143 PathParams: larkcore.PathParams{}, 3144 QueryParams: larkcore.QueryParams{}, 3145 } 3146 return builder 3147 } 3148 3149 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3150 // 3151 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3152 func (builder *GetCalendarReqBuilder) CalendarId(calendarId string) *GetCalendarReqBuilder { 3153 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3154 return builder 3155 } 3156 3157 func (builder *GetCalendarReqBuilder) Build() *GetCalendarReq { 3158 req := &GetCalendarReq{} 3159 req.apiReq = &larkcore.ApiReq{} 3160 req.apiReq.PathParams = builder.apiReq.PathParams 3161 return req 3162 } 3163 3164 type GetCalendarReq struct { 3165 apiReq *larkcore.ApiReq 3166 } 3167 3168 type GetCalendarRespData struct { 3169 CalendarId *string `json:"calendar_id,omitempty"` // 日历OpenId 3170 Summary *string `json:"summary,omitempty"` // 日历标题 3171 Description *string `json:"description,omitempty"` // 日历描述 3172 Permissions *string `json:"permissions,omitempty"` // 3173 Color *int `json:"color,omitempty"` // 日历颜色,颜色RGB值的int32表示。客户端展示时会映射到色板上最接近的一种颜色。仅对当前身份生效 3174 Type *string `json:"type,omitempty"` // 日历类型 3175 SummaryAlias *string `json:"summary_alias,omitempty"` // 日历备注名,修改或添加后仅对当前身份生效 3176 IsDeleted *bool `json:"is_deleted,omitempty"` // 对于当前身份,日历是否已经被标记为删除 3177 IsThirdParty *bool `json:"is_third_party,omitempty"` // 当前日历是否是第三方数据;三方日历及日程只支持读,不支持写入 3178 Role *string `json:"role,omitempty"` // 当前身份对于该日历的访问权限 3179 } 3180 3181 type GetCalendarResp struct { 3182 *larkcore.ApiResp `json:"-"` 3183 larkcore.CodeError 3184 Data *GetCalendarRespData `json:"data"` // 业务数据 3185 } 3186 3187 func (resp *GetCalendarResp) Success() bool { 3188 return resp.Code == 0 3189 } 3190 3191 type ListCalendarReqBuilder struct { 3192 apiReq *larkcore.ApiReq 3193 } 3194 3195 func NewListCalendarReqBuilder() *ListCalendarReqBuilder { 3196 builder := &ListCalendarReqBuilder{} 3197 builder.apiReq = &larkcore.ApiReq{ 3198 PathParams: larkcore.PathParams{}, 3199 QueryParams: larkcore.QueryParams{}, 3200 } 3201 return builder 3202 } 3203 3204 // 一次请求要求返回最大数量,默认500,取值范围为[50. 1000] 3205 // 3206 // 示例值:50 3207 func (builder *ListCalendarReqBuilder) PageSize(pageSize int) *ListCalendarReqBuilder { 3208 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 3209 return builder 3210 } 3211 3212 // 上次请求Response返回的分页标记,首次请求时为空 3213 // 3214 // 示例值:ListCalendarsPageToken_xxx 3215 func (builder *ListCalendarReqBuilder) PageToken(pageToken string) *ListCalendarReqBuilder { 3216 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 3217 return builder 3218 } 3219 3220 // 上次请求Response返回的增量同步标记,分页请求未结束时为空 3221 // 3222 // 示例值:ListCalendarsSyncToken_xxx 3223 func (builder *ListCalendarReqBuilder) SyncToken(syncToken string) *ListCalendarReqBuilder { 3224 builder.apiReq.QueryParams.Set("sync_token", fmt.Sprint(syncToken)) 3225 return builder 3226 } 3227 3228 func (builder *ListCalendarReqBuilder) Build() *ListCalendarReq { 3229 req := &ListCalendarReq{} 3230 req.apiReq = &larkcore.ApiReq{} 3231 req.apiReq.QueryParams = builder.apiReq.QueryParams 3232 return req 3233 } 3234 3235 type ListCalendarReq struct { 3236 apiReq *larkcore.ApiReq 3237 } 3238 3239 type ListCalendarRespData struct { 3240 HasMore *bool `json:"has_more,omitempty"` // 是否还有更多数据 3241 PageToken *string `json:"page_token,omitempty"` // 下次请求需要带上的分页标记,90 天有效期 3242 SyncToken *string `json:"sync_token,omitempty"` // 下次请求需要带上的增量同步标记,90 天有效期 3243 CalendarList []*Calendar `json:"calendar_list,omitempty"` // 分页加载的日历数据列表 3244 } 3245 3246 type ListCalendarResp struct { 3247 *larkcore.ApiResp `json:"-"` 3248 larkcore.CodeError 3249 Data *ListCalendarRespData `json:"data"` // 业务数据 3250 } 3251 3252 func (resp *ListCalendarResp) Success() bool { 3253 return resp.Code == 0 3254 } 3255 3256 type PatchCalendarReqBuilder struct { 3257 apiReq *larkcore.ApiReq 3258 calendar *Calendar 3259 } 3260 3261 func NewPatchCalendarReqBuilder() *PatchCalendarReqBuilder { 3262 builder := &PatchCalendarReqBuilder{} 3263 builder.apiReq = &larkcore.ApiReq{ 3264 PathParams: larkcore.PathParams{}, 3265 QueryParams: larkcore.QueryParams{}, 3266 } 3267 return builder 3268 } 3269 3270 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3271 // 3272 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3273 func (builder *PatchCalendarReqBuilder) CalendarId(calendarId string) *PatchCalendarReqBuilder { 3274 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3275 return builder 3276 } 3277 3278 // 该接口用于以当前身份(应用 / 用户)修改日历信息。;;身份由 Header Authorization 的 Token 类型决定。 3279 func (builder *PatchCalendarReqBuilder) Calendar(calendar *Calendar) *PatchCalendarReqBuilder { 3280 builder.calendar = calendar 3281 return builder 3282 } 3283 3284 func (builder *PatchCalendarReqBuilder) Build() *PatchCalendarReq { 3285 req := &PatchCalendarReq{} 3286 req.apiReq = &larkcore.ApiReq{} 3287 req.apiReq.PathParams = builder.apiReq.PathParams 3288 req.apiReq.Body = builder.calendar 3289 return req 3290 } 3291 3292 type PatchCalendarReq struct { 3293 apiReq *larkcore.ApiReq 3294 Calendar *Calendar `body:""` 3295 } 3296 3297 type PatchCalendarRespData struct { 3298 Calendar *Calendar `json:"calendar,omitempty"` // 更新后的日历实体 3299 } 3300 3301 type PatchCalendarResp struct { 3302 *larkcore.ApiResp `json:"-"` 3303 larkcore.CodeError 3304 Data *PatchCalendarRespData `json:"data"` // 业务数据 3305 } 3306 3307 func (resp *PatchCalendarResp) Success() bool { 3308 return resp.Code == 0 3309 } 3310 3311 type PrimaryCalendarReqBuilder struct { 3312 apiReq *larkcore.ApiReq 3313 } 3314 3315 func NewPrimaryCalendarReqBuilder() *PrimaryCalendarReqBuilder { 3316 builder := &PrimaryCalendarReqBuilder{} 3317 builder.apiReq = &larkcore.ApiReq{ 3318 PathParams: larkcore.PathParams{}, 3319 QueryParams: larkcore.QueryParams{}, 3320 } 3321 return builder 3322 } 3323 3324 // 此次调用中使用的用户ID的类型 3325 // 3326 // 示例值: 3327 func (builder *PrimaryCalendarReqBuilder) UserIdType(userIdType string) *PrimaryCalendarReqBuilder { 3328 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 3329 return builder 3330 } 3331 3332 func (builder *PrimaryCalendarReqBuilder) Build() *PrimaryCalendarReq { 3333 req := &PrimaryCalendarReq{} 3334 req.apiReq = &larkcore.ApiReq{} 3335 req.apiReq.QueryParams = builder.apiReq.QueryParams 3336 return req 3337 } 3338 3339 type PrimaryCalendarReq struct { 3340 apiReq *larkcore.ApiReq 3341 } 3342 3343 type PrimaryCalendarRespData struct { 3344 Calendars []*UserCalendar `json:"calendars,omitempty"` // 主日历列表 3345 } 3346 3347 type PrimaryCalendarResp struct { 3348 *larkcore.ApiResp `json:"-"` 3349 larkcore.CodeError 3350 Data *PrimaryCalendarRespData `json:"data"` // 业务数据 3351 } 3352 3353 func (resp *PrimaryCalendarResp) Success() bool { 3354 return resp.Code == 0 3355 } 3356 3357 type SearchCalendarReqBodyBuilder struct { 3358 query string // 搜索关键字 3359 queryFlag bool 3360 } 3361 3362 func NewSearchCalendarReqBodyBuilder() *SearchCalendarReqBodyBuilder { 3363 builder := &SearchCalendarReqBodyBuilder{} 3364 return builder 3365 } 3366 3367 // 搜索关键字 3368 // 3369 //示例值:query words 3370 func (builder *SearchCalendarReqBodyBuilder) Query(query string) *SearchCalendarReqBodyBuilder { 3371 builder.query = query 3372 builder.queryFlag = true 3373 return builder 3374 } 3375 3376 func (builder *SearchCalendarReqBodyBuilder) Build() *SearchCalendarReqBody { 3377 req := &SearchCalendarReqBody{} 3378 if builder.queryFlag { 3379 req.Query = &builder.query 3380 } 3381 return req 3382 } 3383 3384 type SearchCalendarPathReqBodyBuilder struct { 3385 query string // 搜索关键字 3386 queryFlag bool 3387 } 3388 3389 func NewSearchCalendarPathReqBodyBuilder() *SearchCalendarPathReqBodyBuilder { 3390 builder := &SearchCalendarPathReqBodyBuilder{} 3391 return builder 3392 } 3393 3394 // 搜索关键字 3395 // 3396 // 示例值:query words 3397 func (builder *SearchCalendarPathReqBodyBuilder) Query(query string) *SearchCalendarPathReqBodyBuilder { 3398 builder.query = query 3399 builder.queryFlag = true 3400 return builder 3401 } 3402 3403 func (builder *SearchCalendarPathReqBodyBuilder) Build() (*SearchCalendarReqBody, error) { 3404 req := &SearchCalendarReqBody{} 3405 if builder.queryFlag { 3406 req.Query = &builder.query 3407 } 3408 return req, nil 3409 } 3410 3411 type SearchCalendarReqBuilder struct { 3412 apiReq *larkcore.ApiReq 3413 body *SearchCalendarReqBody 3414 limit int // 最大返回多少记录,当使用迭代器访问时才有效 3415 } 3416 3417 func NewSearchCalendarReqBuilder() *SearchCalendarReqBuilder { 3418 builder := &SearchCalendarReqBuilder{} 3419 builder.apiReq = &larkcore.ApiReq{ 3420 PathParams: larkcore.PathParams{}, 3421 QueryParams: larkcore.QueryParams{}, 3422 } 3423 return builder 3424 } 3425 3426 // 最大返回多少记录,当使用迭代器访问时才有效 3427 func (builder *SearchCalendarReqBuilder) Limit(limit int) *SearchCalendarReqBuilder { 3428 builder.limit = limit 3429 return builder 3430 } 3431 3432 // 3433 // 3434 // 示例值:10 3435 func (builder *SearchCalendarReqBuilder) PageToken(pageToken string) *SearchCalendarReqBuilder { 3436 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 3437 return builder 3438 } 3439 3440 // 3441 // 3442 // 示例值:10 3443 func (builder *SearchCalendarReqBuilder) PageSize(pageSize int) *SearchCalendarReqBuilder { 3444 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 3445 return builder 3446 } 3447 3448 // 该接口用于通过关键字查询公共日历或用户主日历。 3449 func (builder *SearchCalendarReqBuilder) Body(body *SearchCalendarReqBody) *SearchCalendarReqBuilder { 3450 builder.body = body 3451 return builder 3452 } 3453 3454 func (builder *SearchCalendarReqBuilder) Build() *SearchCalendarReq { 3455 req := &SearchCalendarReq{} 3456 req.apiReq = &larkcore.ApiReq{} 3457 req.Limit = builder.limit 3458 req.apiReq.QueryParams = builder.apiReq.QueryParams 3459 req.apiReq.Body = builder.body 3460 return req 3461 } 3462 3463 type SearchCalendarReqBody struct { 3464 Query *string `json:"query,omitempty"` // 搜索关键字 3465 } 3466 3467 type SearchCalendarReq struct { 3468 apiReq *larkcore.ApiReq 3469 Body *SearchCalendarReqBody `body:""` 3470 Limit int // 最多返回多少记录,只有在使用迭代器访问时,才有效 3471 3472 } 3473 3474 type SearchCalendarRespData struct { 3475 Items []*Calendar `json:"items,omitempty"` // 搜索命中的日历列表 3476 PageToken *string `json:"page_token,omitempty"` // 下次请求需要带上的分页标记 3477 } 3478 3479 type SearchCalendarResp struct { 3480 *larkcore.ApiResp `json:"-"` 3481 larkcore.CodeError 3482 Data *SearchCalendarRespData `json:"data"` // 业务数据 3483 } 3484 3485 func (resp *SearchCalendarResp) Success() bool { 3486 return resp.Code == 0 3487 } 3488 3489 type SubscribeCalendarReqBuilder struct { 3490 apiReq *larkcore.ApiReq 3491 } 3492 3493 func NewSubscribeCalendarReqBuilder() *SubscribeCalendarReqBuilder { 3494 builder := &SubscribeCalendarReqBuilder{} 3495 builder.apiReq = &larkcore.ApiReq{ 3496 PathParams: larkcore.PathParams{}, 3497 QueryParams: larkcore.QueryParams{}, 3498 } 3499 return builder 3500 } 3501 3502 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3503 // 3504 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3505 func (builder *SubscribeCalendarReqBuilder) CalendarId(calendarId string) *SubscribeCalendarReqBuilder { 3506 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3507 return builder 3508 } 3509 3510 func (builder *SubscribeCalendarReqBuilder) Build() *SubscribeCalendarReq { 3511 req := &SubscribeCalendarReq{} 3512 req.apiReq = &larkcore.ApiReq{} 3513 req.apiReq.PathParams = builder.apiReq.PathParams 3514 return req 3515 } 3516 3517 type SubscribeCalendarReq struct { 3518 apiReq *larkcore.ApiReq 3519 } 3520 3521 type SubscribeCalendarRespData struct { 3522 Calendar *Calendar `json:"calendar,omitempty"` // 订阅的日历实体 3523 } 3524 3525 type SubscribeCalendarResp struct { 3526 *larkcore.ApiResp `json:"-"` 3527 larkcore.CodeError 3528 Data *SubscribeCalendarRespData `json:"data"` // 业务数据 3529 } 3530 3531 func (resp *SubscribeCalendarResp) Success() bool { 3532 return resp.Code == 0 3533 } 3534 3535 type SubscriptionCalendarResp struct { 3536 *larkcore.ApiResp `json:"-"` 3537 larkcore.CodeError 3538 } 3539 3540 func (resp *SubscriptionCalendarResp) Success() bool { 3541 return resp.Code == 0 3542 } 3543 3544 type UnsubscribeCalendarReqBuilder struct { 3545 apiReq *larkcore.ApiReq 3546 } 3547 3548 func NewUnsubscribeCalendarReqBuilder() *UnsubscribeCalendarReqBuilder { 3549 builder := &UnsubscribeCalendarReqBuilder{} 3550 builder.apiReq = &larkcore.ApiReq{ 3551 PathParams: larkcore.PathParams{}, 3552 QueryParams: larkcore.QueryParams{}, 3553 } 3554 return builder 3555 } 3556 3557 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3558 // 3559 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3560 func (builder *UnsubscribeCalendarReqBuilder) CalendarId(calendarId string) *UnsubscribeCalendarReqBuilder { 3561 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3562 return builder 3563 } 3564 3565 func (builder *UnsubscribeCalendarReqBuilder) Build() *UnsubscribeCalendarReq { 3566 req := &UnsubscribeCalendarReq{} 3567 req.apiReq = &larkcore.ApiReq{} 3568 req.apiReq.PathParams = builder.apiReq.PathParams 3569 return req 3570 } 3571 3572 type UnsubscribeCalendarReq struct { 3573 apiReq *larkcore.ApiReq 3574 } 3575 3576 type UnsubscribeCalendarResp struct { 3577 *larkcore.ApiResp `json:"-"` 3578 larkcore.CodeError 3579 } 3580 3581 func (resp *UnsubscribeCalendarResp) Success() bool { 3582 return resp.Code == 0 3583 } 3584 3585 type UnsubscriptionCalendarResp struct { 3586 *larkcore.ApiResp `json:"-"` 3587 larkcore.CodeError 3588 } 3589 3590 func (resp *UnsubscriptionCalendarResp) Success() bool { 3591 return resp.Code == 0 3592 } 3593 3594 type CreateCalendarAclReqBuilder struct { 3595 apiReq *larkcore.ApiReq 3596 calendarAcl *CalendarAcl 3597 } 3598 3599 func NewCreateCalendarAclReqBuilder() *CreateCalendarAclReqBuilder { 3600 builder := &CreateCalendarAclReqBuilder{} 3601 builder.apiReq = &larkcore.ApiReq{ 3602 PathParams: larkcore.PathParams{}, 3603 QueryParams: larkcore.QueryParams{}, 3604 } 3605 return builder 3606 } 3607 3608 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3609 // 3610 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3611 func (builder *CreateCalendarAclReqBuilder) CalendarId(calendarId string) *CreateCalendarAclReqBuilder { 3612 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3613 return builder 3614 } 3615 3616 // 此次调用中使用的用户ID的类型 3617 // 3618 // 示例值: 3619 func (builder *CreateCalendarAclReqBuilder) UserIdType(userIdType string) *CreateCalendarAclReqBuilder { 3620 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 3621 return builder 3622 } 3623 3624 // 该接口用于以当前身份(应用 / 用户)给日历添加访问控制权限,即日历成员。;;身份由 Header Authorization 的 Token 类型决定。 3625 func (builder *CreateCalendarAclReqBuilder) CalendarAcl(calendarAcl *CalendarAcl) *CreateCalendarAclReqBuilder { 3626 builder.calendarAcl = calendarAcl 3627 return builder 3628 } 3629 3630 func (builder *CreateCalendarAclReqBuilder) Build() *CreateCalendarAclReq { 3631 req := &CreateCalendarAclReq{} 3632 req.apiReq = &larkcore.ApiReq{} 3633 req.apiReq.PathParams = builder.apiReq.PathParams 3634 req.apiReq.QueryParams = builder.apiReq.QueryParams 3635 req.apiReq.Body = builder.calendarAcl 3636 return req 3637 } 3638 3639 type CreateCalendarAclReq struct { 3640 apiReq *larkcore.ApiReq 3641 CalendarAcl *CalendarAcl `body:""` 3642 } 3643 3644 type CreateCalendarAclRespData struct { 3645 AclId *string `json:"acl_id,omitempty"` // acl资源ID 3646 Role *string `json:"role,omitempty"` // 对日历的访问权限 3647 Scope *AclScope `json:"scope,omitempty"` // 权限范围 3648 } 3649 3650 type CreateCalendarAclResp struct { 3651 *larkcore.ApiResp `json:"-"` 3652 larkcore.CodeError 3653 Data *CreateCalendarAclRespData `json:"data"` // 业务数据 3654 } 3655 3656 func (resp *CreateCalendarAclResp) Success() bool { 3657 return resp.Code == 0 3658 } 3659 3660 type DeleteCalendarAclReqBuilder struct { 3661 apiReq *larkcore.ApiReq 3662 } 3663 3664 func NewDeleteCalendarAclReqBuilder() *DeleteCalendarAclReqBuilder { 3665 builder := &DeleteCalendarAclReqBuilder{} 3666 builder.apiReq = &larkcore.ApiReq{ 3667 PathParams: larkcore.PathParams{}, 3668 QueryParams: larkcore.QueryParams{}, 3669 } 3670 return builder 3671 } 3672 3673 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3674 // 3675 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3676 func (builder *DeleteCalendarAclReqBuilder) CalendarId(calendarId string) *DeleteCalendarAclReqBuilder { 3677 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3678 return builder 3679 } 3680 3681 // acl资源ID。参见[ACL ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-acl/introduction) 3682 // 3683 // 示例值:user_xxxxxx 3684 func (builder *DeleteCalendarAclReqBuilder) AclId(aclId string) *DeleteCalendarAclReqBuilder { 3685 builder.apiReq.PathParams.Set("acl_id", fmt.Sprint(aclId)) 3686 return builder 3687 } 3688 3689 func (builder *DeleteCalendarAclReqBuilder) Build() *DeleteCalendarAclReq { 3690 req := &DeleteCalendarAclReq{} 3691 req.apiReq = &larkcore.ApiReq{} 3692 req.apiReq.PathParams = builder.apiReq.PathParams 3693 return req 3694 } 3695 3696 type DeleteCalendarAclReq struct { 3697 apiReq *larkcore.ApiReq 3698 } 3699 3700 type DeleteCalendarAclResp struct { 3701 *larkcore.ApiResp `json:"-"` 3702 larkcore.CodeError 3703 } 3704 3705 func (resp *DeleteCalendarAclResp) Success() bool { 3706 return resp.Code == 0 3707 } 3708 3709 type ListCalendarAclReqBuilder struct { 3710 apiReq *larkcore.ApiReq 3711 limit int // 最大返回多少记录,当使用迭代器访问时才有效 3712 } 3713 3714 func NewListCalendarAclReqBuilder() *ListCalendarAclReqBuilder { 3715 builder := &ListCalendarAclReqBuilder{} 3716 builder.apiReq = &larkcore.ApiReq{ 3717 PathParams: larkcore.PathParams{}, 3718 QueryParams: larkcore.QueryParams{}, 3719 } 3720 return builder 3721 } 3722 3723 // 最大返回多少记录,当使用迭代器访问时才有效 3724 func (builder *ListCalendarAclReqBuilder) Limit(limit int) *ListCalendarAclReqBuilder { 3725 builder.limit = limit 3726 return builder 3727 } 3728 3729 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3730 // 3731 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3732 func (builder *ListCalendarAclReqBuilder) CalendarId(calendarId string) *ListCalendarAclReqBuilder { 3733 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3734 return builder 3735 } 3736 3737 // 此次调用中使用的用户ID的类型 3738 // 3739 // 示例值: 3740 func (builder *ListCalendarAclReqBuilder) UserIdType(userIdType string) *ListCalendarAclReqBuilder { 3741 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 3742 return builder 3743 } 3744 3745 // 3746 // 3747 // 示例值:xxx 3748 func (builder *ListCalendarAclReqBuilder) PageToken(pageToken string) *ListCalendarAclReqBuilder { 3749 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 3750 return builder 3751 } 3752 3753 // 3754 // 3755 // 示例值:10,小于10取10 3756 func (builder *ListCalendarAclReqBuilder) PageSize(pageSize int) *ListCalendarAclReqBuilder { 3757 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 3758 return builder 3759 } 3760 3761 func (builder *ListCalendarAclReqBuilder) Build() *ListCalendarAclReq { 3762 req := &ListCalendarAclReq{} 3763 req.apiReq = &larkcore.ApiReq{} 3764 req.Limit = builder.limit 3765 req.apiReq.PathParams = builder.apiReq.PathParams 3766 req.apiReq.QueryParams = builder.apiReq.QueryParams 3767 return req 3768 } 3769 3770 type ListCalendarAclReq struct { 3771 apiReq *larkcore.ApiReq 3772 Limit int // 最多返回多少记录,只有在使用迭代器访问时,才有效 3773 3774 } 3775 3776 type ListCalendarAclRespData struct { 3777 Acls []*CalendarAcl `json:"acls,omitempty"` // 入参日历对应的acl列表 3778 HasMore *bool `json:"has_more,omitempty"` // 是否有下一页数据 3779 PageToken *string `json:"page_token,omitempty"` // 下次请求需要带上的分页标记,90 天有效期 3780 } 3781 3782 type ListCalendarAclResp struct { 3783 *larkcore.ApiResp `json:"-"` 3784 larkcore.CodeError 3785 Data *ListCalendarAclRespData `json:"data"` // 业务数据 3786 } 3787 3788 func (resp *ListCalendarAclResp) Success() bool { 3789 return resp.Code == 0 3790 } 3791 3792 type SubscriptionCalendarAclReqBuilder struct { 3793 apiReq *larkcore.ApiReq 3794 } 3795 3796 func NewSubscriptionCalendarAclReqBuilder() *SubscriptionCalendarAclReqBuilder { 3797 builder := &SubscriptionCalendarAclReqBuilder{} 3798 builder.apiReq = &larkcore.ApiReq{ 3799 PathParams: larkcore.PathParams{}, 3800 QueryParams: larkcore.QueryParams{}, 3801 } 3802 return builder 3803 } 3804 3805 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3806 // 3807 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3808 func (builder *SubscriptionCalendarAclReqBuilder) CalendarId(calendarId string) *SubscriptionCalendarAclReqBuilder { 3809 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3810 return builder 3811 } 3812 3813 func (builder *SubscriptionCalendarAclReqBuilder) Build() *SubscriptionCalendarAclReq { 3814 req := &SubscriptionCalendarAclReq{} 3815 req.apiReq = &larkcore.ApiReq{} 3816 req.apiReq.PathParams = builder.apiReq.PathParams 3817 return req 3818 } 3819 3820 type SubscriptionCalendarAclReq struct { 3821 apiReq *larkcore.ApiReq 3822 } 3823 3824 type SubscriptionCalendarAclResp struct { 3825 *larkcore.ApiResp `json:"-"` 3826 larkcore.CodeError 3827 } 3828 3829 func (resp *SubscriptionCalendarAclResp) Success() bool { 3830 return resp.Code == 0 3831 } 3832 3833 type UnsubscriptionCalendarAclReqBuilder struct { 3834 apiReq *larkcore.ApiReq 3835 } 3836 3837 func NewUnsubscriptionCalendarAclReqBuilder() *UnsubscriptionCalendarAclReqBuilder { 3838 builder := &UnsubscriptionCalendarAclReqBuilder{} 3839 builder.apiReq = &larkcore.ApiReq{ 3840 PathParams: larkcore.PathParams{}, 3841 QueryParams: larkcore.QueryParams{}, 3842 } 3843 return builder 3844 } 3845 3846 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3847 // 3848 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3849 func (builder *UnsubscriptionCalendarAclReqBuilder) CalendarId(calendarId string) *UnsubscriptionCalendarAclReqBuilder { 3850 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3851 return builder 3852 } 3853 3854 func (builder *UnsubscriptionCalendarAclReqBuilder) Build() *UnsubscriptionCalendarAclReq { 3855 req := &UnsubscriptionCalendarAclReq{} 3856 req.apiReq = &larkcore.ApiReq{} 3857 req.apiReq.PathParams = builder.apiReq.PathParams 3858 return req 3859 } 3860 3861 type UnsubscriptionCalendarAclReq struct { 3862 apiReq *larkcore.ApiReq 3863 } 3864 3865 type UnsubscriptionCalendarAclResp struct { 3866 *larkcore.ApiResp `json:"-"` 3867 larkcore.CodeError 3868 } 3869 3870 func (resp *UnsubscriptionCalendarAclResp) Success() bool { 3871 return resp.Code == 0 3872 } 3873 3874 type CreateCalendarEventReqBuilder struct { 3875 apiReq *larkcore.ApiReq 3876 calendarEvent *CalendarEvent 3877 } 3878 3879 func NewCreateCalendarEventReqBuilder() *CreateCalendarEventReqBuilder { 3880 builder := &CreateCalendarEventReqBuilder{} 3881 builder.apiReq = &larkcore.ApiReq{ 3882 PathParams: larkcore.PathParams{}, 3883 QueryParams: larkcore.QueryParams{}, 3884 } 3885 return builder 3886 } 3887 3888 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3889 // 3890 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3891 func (builder *CreateCalendarEventReqBuilder) CalendarId(calendarId string) *CreateCalendarEventReqBuilder { 3892 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3893 return builder 3894 } 3895 3896 // 该接口用于以当前身份(应用 / 用户)在日历上创建一个日程。;;身份由 Header Authorization 的 Token 类型决定。 3897 func (builder *CreateCalendarEventReqBuilder) CalendarEvent(calendarEvent *CalendarEvent) *CreateCalendarEventReqBuilder { 3898 builder.calendarEvent = calendarEvent 3899 return builder 3900 } 3901 3902 func (builder *CreateCalendarEventReqBuilder) Build() *CreateCalendarEventReq { 3903 req := &CreateCalendarEventReq{} 3904 req.apiReq = &larkcore.ApiReq{} 3905 req.apiReq.PathParams = builder.apiReq.PathParams 3906 req.apiReq.Body = builder.calendarEvent 3907 return req 3908 } 3909 3910 type CreateCalendarEventReq struct { 3911 apiReq *larkcore.ApiReq 3912 CalendarEvent *CalendarEvent `body:""` 3913 } 3914 3915 type CreateCalendarEventRespData struct { 3916 Event *CalendarEvent `json:"event,omitempty"` // 新创建的日程实体 3917 } 3918 3919 type CreateCalendarEventResp struct { 3920 *larkcore.ApiResp `json:"-"` 3921 larkcore.CodeError 3922 Data *CreateCalendarEventRespData `json:"data"` // 业务数据 3923 } 3924 3925 func (resp *CreateCalendarEventResp) Success() bool { 3926 return resp.Code == 0 3927 } 3928 3929 type DeleteCalendarEventReqBuilder struct { 3930 apiReq *larkcore.ApiReq 3931 } 3932 3933 func NewDeleteCalendarEventReqBuilder() *DeleteCalendarEventReqBuilder { 3934 builder := &DeleteCalendarEventReqBuilder{} 3935 builder.apiReq = &larkcore.ApiReq{ 3936 PathParams: larkcore.PathParams{}, 3937 QueryParams: larkcore.QueryParams{}, 3938 } 3939 return builder 3940 } 3941 3942 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 3943 // 3944 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 3945 func (builder *DeleteCalendarEventReqBuilder) CalendarId(calendarId string) *DeleteCalendarEventReqBuilder { 3946 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 3947 return builder 3948 } 3949 3950 // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 3951 // 3952 // 示例值:xxxxxxxxx_0 3953 func (builder *DeleteCalendarEventReqBuilder) EventId(eventId string) *DeleteCalendarEventReqBuilder { 3954 builder.apiReq.PathParams.Set("event_id", fmt.Sprint(eventId)) 3955 return builder 3956 } 3957 3958 // 删除日程是否给日程参与人发送bot通知,默认为true 3959 // 3960 // 示例值:false 3961 func (builder *DeleteCalendarEventReqBuilder) NeedNotification(needNotification bool) *DeleteCalendarEventReqBuilder { 3962 builder.apiReq.QueryParams.Set("need_notification", fmt.Sprint(needNotification)) 3963 return builder 3964 } 3965 3966 func (builder *DeleteCalendarEventReqBuilder) Build() *DeleteCalendarEventReq { 3967 req := &DeleteCalendarEventReq{} 3968 req.apiReq = &larkcore.ApiReq{} 3969 req.apiReq.PathParams = builder.apiReq.PathParams 3970 req.apiReq.QueryParams = builder.apiReq.QueryParams 3971 return req 3972 } 3973 3974 type DeleteCalendarEventReq struct { 3975 apiReq *larkcore.ApiReq 3976 } 3977 3978 type DeleteCalendarEventResp struct { 3979 *larkcore.ApiResp `json:"-"` 3980 larkcore.CodeError 3981 } 3982 3983 func (resp *DeleteCalendarEventResp) Success() bool { 3984 return resp.Code == 0 3985 } 3986 3987 type GetCalendarEventReqBuilder struct { 3988 apiReq *larkcore.ApiReq 3989 } 3990 3991 func NewGetCalendarEventReqBuilder() *GetCalendarEventReqBuilder { 3992 builder := &GetCalendarEventReqBuilder{} 3993 builder.apiReq = &larkcore.ApiReq{ 3994 PathParams: larkcore.PathParams{}, 3995 QueryParams: larkcore.QueryParams{}, 3996 } 3997 return builder 3998 } 3999 4000 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 4001 // 4002 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 4003 func (builder *GetCalendarEventReqBuilder) CalendarId(calendarId string) *GetCalendarEventReqBuilder { 4004 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 4005 return builder 4006 } 4007 4008 // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 4009 // 4010 // 示例值:xxxxxxxxx_0 4011 func (builder *GetCalendarEventReqBuilder) EventId(eventId string) *GetCalendarEventReqBuilder { 4012 builder.apiReq.PathParams.Set("event_id", fmt.Sprint(eventId)) 4013 return builder 4014 } 4015 4016 func (builder *GetCalendarEventReqBuilder) Build() *GetCalendarEventReq { 4017 req := &GetCalendarEventReq{} 4018 req.apiReq = &larkcore.ApiReq{} 4019 req.apiReq.PathParams = builder.apiReq.PathParams 4020 return req 4021 } 4022 4023 type GetCalendarEventReq struct { 4024 apiReq *larkcore.ApiReq 4025 } 4026 4027 type GetCalendarEventRespData struct { 4028 Event *CalendarEvent `json:"event,omitempty"` // 日程实体 4029 } 4030 4031 type GetCalendarEventResp struct { 4032 *larkcore.ApiResp `json:"-"` 4033 larkcore.CodeError 4034 Data *GetCalendarEventRespData `json:"data"` // 业务数据 4035 } 4036 4037 func (resp *GetCalendarEventResp) Success() bool { 4038 return resp.Code == 0 4039 } 4040 4041 type ListCalendarEventReqBuilder struct { 4042 apiReq *larkcore.ApiReq 4043 } 4044 4045 func NewListCalendarEventReqBuilder() *ListCalendarEventReqBuilder { 4046 builder := &ListCalendarEventReqBuilder{} 4047 builder.apiReq = &larkcore.ApiReq{ 4048 PathParams: larkcore.PathParams{}, 4049 QueryParams: larkcore.QueryParams{}, 4050 } 4051 return builder 4052 } 4053 4054 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 4055 // 4056 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 4057 func (builder *ListCalendarEventReqBuilder) CalendarId(calendarId string) *ListCalendarEventReqBuilder { 4058 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 4059 return builder 4060 } 4061 4062 // 一次请求要求返回最大数量,默认500,取值范围为[50, 1000] 4063 // 4064 // 示例值:50 4065 func (builder *ListCalendarEventReqBuilder) PageSize(pageSize int) *ListCalendarEventReqBuilder { 4066 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 4067 return builder 4068 } 4069 4070 // 拉取anchor_time之后的日程,为timestamp 4071 // 4072 // 示例值:1609430400 4073 func (builder *ListCalendarEventReqBuilder) AnchorTime(anchorTime string) *ListCalendarEventReqBuilder { 4074 builder.apiReq.QueryParams.Set("anchor_time", fmt.Sprint(anchorTime)) 4075 return builder 4076 } 4077 4078 // 上次请求Response返回的分页标记,首次请求时为空 4079 // 4080 // 示例值:ListCalendarsPageToken_1632452910_1632539310 4081 func (builder *ListCalendarEventReqBuilder) PageToken(pageToken string) *ListCalendarEventReqBuilder { 4082 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 4083 return builder 4084 } 4085 4086 // 上次请求Response返回的增量同步标记,分页请求未结束时为空 4087 // 4088 // 示例值:ListCalendarsSyncToken_1632452910 4089 func (builder *ListCalendarEventReqBuilder) SyncToken(syncToken string) *ListCalendarEventReqBuilder { 4090 builder.apiReq.QueryParams.Set("sync_token", fmt.Sprint(syncToken)) 4091 return builder 4092 } 4093 4094 // 日程开始Unix时间戳,单位为秒 4095 // 4096 // 示例值:1631777271 4097 func (builder *ListCalendarEventReqBuilder) StartTime(startTime string) *ListCalendarEventReqBuilder { 4098 builder.apiReq.QueryParams.Set("start_time", fmt.Sprint(startTime)) 4099 return builder 4100 } 4101 4102 // 日程结束Unix时间戳,单位为秒 4103 // 4104 // 示例值:1631777271 4105 func (builder *ListCalendarEventReqBuilder) EndTime(endTime string) *ListCalendarEventReqBuilder { 4106 builder.apiReq.QueryParams.Set("end_time", fmt.Sprint(endTime)) 4107 return builder 4108 } 4109 4110 func (builder *ListCalendarEventReqBuilder) Build() *ListCalendarEventReq { 4111 req := &ListCalendarEventReq{} 4112 req.apiReq = &larkcore.ApiReq{} 4113 req.apiReq.PathParams = builder.apiReq.PathParams 4114 req.apiReq.QueryParams = builder.apiReq.QueryParams 4115 return req 4116 } 4117 4118 type ListCalendarEventReq struct { 4119 apiReq *larkcore.ApiReq 4120 } 4121 4122 type ListCalendarEventRespData struct { 4123 HasMore *bool `json:"has_more,omitempty"` // 是否有下一页数据 4124 PageToken *string `json:"page_token,omitempty"` // 下次请求需要带上的分页标记,90 天有效期 4125 SyncToken *string `json:"sync_token,omitempty"` // 下次请求需要带上的增量同步标记,90 天有效期 4126 Items []*CalendarEvent `json:"items,omitempty"` // 日程列表 4127 } 4128 4129 type ListCalendarEventResp struct { 4130 *larkcore.ApiResp `json:"-"` 4131 larkcore.CodeError 4132 Data *ListCalendarEventRespData `json:"data"` // 业务数据 4133 } 4134 4135 func (resp *ListCalendarEventResp) Success() bool { 4136 return resp.Code == 0 4137 } 4138 4139 type PatchCalendarEventReqBuilder struct { 4140 apiReq *larkcore.ApiReq 4141 calendarEvent *CalendarEvent 4142 } 4143 4144 func NewPatchCalendarEventReqBuilder() *PatchCalendarEventReqBuilder { 4145 builder := &PatchCalendarEventReqBuilder{} 4146 builder.apiReq = &larkcore.ApiReq{ 4147 PathParams: larkcore.PathParams{}, 4148 QueryParams: larkcore.QueryParams{}, 4149 } 4150 return builder 4151 } 4152 4153 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 4154 // 4155 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 4156 func (builder *PatchCalendarEventReqBuilder) CalendarId(calendarId string) *PatchCalendarEventReqBuilder { 4157 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 4158 return builder 4159 } 4160 4161 // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 4162 // 4163 // 示例值:00592a0e-7edf-4678-bc9d-1b77383ef08e_0 4164 func (builder *PatchCalendarEventReqBuilder) EventId(eventId string) *PatchCalendarEventReqBuilder { 4165 builder.apiReq.PathParams.Set("event_id", fmt.Sprint(eventId)) 4166 return builder 4167 } 4168 4169 // 该接口用于以当前身份(应用 / 用户)更新日历上的一个日程。;;身份由 Header Authorization 的 Token 类型决定。 4170 func (builder *PatchCalendarEventReqBuilder) CalendarEvent(calendarEvent *CalendarEvent) *PatchCalendarEventReqBuilder { 4171 builder.calendarEvent = calendarEvent 4172 return builder 4173 } 4174 4175 func (builder *PatchCalendarEventReqBuilder) Build() *PatchCalendarEventReq { 4176 req := &PatchCalendarEventReq{} 4177 req.apiReq = &larkcore.ApiReq{} 4178 req.apiReq.PathParams = builder.apiReq.PathParams 4179 req.apiReq.Body = builder.calendarEvent 4180 return req 4181 } 4182 4183 type PatchCalendarEventReq struct { 4184 apiReq *larkcore.ApiReq 4185 CalendarEvent *CalendarEvent `body:""` 4186 } 4187 4188 type PatchCalendarEventRespData struct { 4189 Event *CalendarEvent `json:"event,omitempty"` // 更新后的日程实体 4190 } 4191 4192 type PatchCalendarEventResp struct { 4193 *larkcore.ApiResp `json:"-"` 4194 larkcore.CodeError 4195 Data *PatchCalendarEventRespData `json:"data"` // 业务数据 4196 } 4197 4198 func (resp *PatchCalendarEventResp) Success() bool { 4199 return resp.Code == 0 4200 } 4201 4202 type SearchCalendarEventReqBodyBuilder struct { 4203 query string // 搜索关键字 4204 queryFlag bool 4205 filter *EventSearchFilter // 搜索过滤器 4206 filterFlag bool 4207 } 4208 4209 func NewSearchCalendarEventReqBodyBuilder() *SearchCalendarEventReqBodyBuilder { 4210 builder := &SearchCalendarEventReqBodyBuilder{} 4211 return builder 4212 } 4213 4214 // 搜索关键字 4215 // 4216 //示例值:query words 4217 func (builder *SearchCalendarEventReqBodyBuilder) Query(query string) *SearchCalendarEventReqBodyBuilder { 4218 builder.query = query 4219 builder.queryFlag = true 4220 return builder 4221 } 4222 4223 // 搜索过滤器 4224 // 4225 //示例值: 4226 func (builder *SearchCalendarEventReqBodyBuilder) Filter(filter *EventSearchFilter) *SearchCalendarEventReqBodyBuilder { 4227 builder.filter = filter 4228 builder.filterFlag = true 4229 return builder 4230 } 4231 4232 func (builder *SearchCalendarEventReqBodyBuilder) Build() *SearchCalendarEventReqBody { 4233 req := &SearchCalendarEventReqBody{} 4234 if builder.queryFlag { 4235 req.Query = &builder.query 4236 } 4237 if builder.filterFlag { 4238 req.Filter = builder.filter 4239 } 4240 return req 4241 } 4242 4243 type SearchCalendarEventPathReqBodyBuilder struct { 4244 query string // 搜索关键字 4245 queryFlag bool 4246 filter *EventSearchFilter // 搜索过滤器 4247 filterFlag bool 4248 } 4249 4250 func NewSearchCalendarEventPathReqBodyBuilder() *SearchCalendarEventPathReqBodyBuilder { 4251 builder := &SearchCalendarEventPathReqBodyBuilder{} 4252 return builder 4253 } 4254 4255 // 搜索关键字 4256 // 4257 // 示例值:query words 4258 func (builder *SearchCalendarEventPathReqBodyBuilder) Query(query string) *SearchCalendarEventPathReqBodyBuilder { 4259 builder.query = query 4260 builder.queryFlag = true 4261 return builder 4262 } 4263 4264 // 搜索过滤器 4265 // 4266 // 示例值: 4267 func (builder *SearchCalendarEventPathReqBodyBuilder) Filter(filter *EventSearchFilter) *SearchCalendarEventPathReqBodyBuilder { 4268 builder.filter = filter 4269 builder.filterFlag = true 4270 return builder 4271 } 4272 4273 func (builder *SearchCalendarEventPathReqBodyBuilder) Build() (*SearchCalendarEventReqBody, error) { 4274 req := &SearchCalendarEventReqBody{} 4275 if builder.queryFlag { 4276 req.Query = &builder.query 4277 } 4278 if builder.filterFlag { 4279 req.Filter = builder.filter 4280 } 4281 return req, nil 4282 } 4283 4284 type SearchCalendarEventReqBuilder struct { 4285 apiReq *larkcore.ApiReq 4286 body *SearchCalendarEventReqBody 4287 limit int // 最大返回多少记录,当使用迭代器访问时才有效 4288 } 4289 4290 func NewSearchCalendarEventReqBuilder() *SearchCalendarEventReqBuilder { 4291 builder := &SearchCalendarEventReqBuilder{} 4292 builder.apiReq = &larkcore.ApiReq{ 4293 PathParams: larkcore.PathParams{}, 4294 QueryParams: larkcore.QueryParams{}, 4295 } 4296 return builder 4297 } 4298 4299 // 最大返回多少记录,当使用迭代器访问时才有效 4300 func (builder *SearchCalendarEventReqBuilder) Limit(limit int) *SearchCalendarEventReqBuilder { 4301 builder.limit = limit 4302 return builder 4303 } 4304 4305 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 4306 // 4307 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 4308 func (builder *SearchCalendarEventReqBuilder) CalendarId(calendarId string) *SearchCalendarEventReqBuilder { 4309 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 4310 return builder 4311 } 4312 4313 // 此次调用中使用的用户ID的类型 4314 // 4315 // 示例值: 4316 func (builder *SearchCalendarEventReqBuilder) UserIdType(userIdType string) *SearchCalendarEventReqBuilder { 4317 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4318 return builder 4319 } 4320 4321 // 4322 // 4323 // 示例值:xxxxx 4324 func (builder *SearchCalendarEventReqBuilder) PageToken(pageToken string) *SearchCalendarEventReqBuilder { 4325 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 4326 return builder 4327 } 4328 4329 // 4330 // 4331 // 示例值:10 4332 func (builder *SearchCalendarEventReqBuilder) PageSize(pageSize int) *SearchCalendarEventReqBuilder { 4333 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 4334 return builder 4335 } 4336 4337 // 该接口用于以用户身份搜索某日历下的相关日程。;;身份由 Header Authorization 的 Token 类型决定。 4338 func (builder *SearchCalendarEventReqBuilder) Body(body *SearchCalendarEventReqBody) *SearchCalendarEventReqBuilder { 4339 builder.body = body 4340 return builder 4341 } 4342 4343 func (builder *SearchCalendarEventReqBuilder) Build() *SearchCalendarEventReq { 4344 req := &SearchCalendarEventReq{} 4345 req.apiReq = &larkcore.ApiReq{} 4346 req.Limit = builder.limit 4347 req.apiReq.PathParams = builder.apiReq.PathParams 4348 req.apiReq.QueryParams = builder.apiReq.QueryParams 4349 req.apiReq.Body = builder.body 4350 return req 4351 } 4352 4353 type SearchCalendarEventReqBody struct { 4354 Query *string `json:"query,omitempty"` // 搜索关键字 4355 Filter *EventSearchFilter `json:"filter,omitempty"` // 搜索过滤器 4356 } 4357 4358 type SearchCalendarEventReq struct { 4359 apiReq *larkcore.ApiReq 4360 Body *SearchCalendarEventReqBody `body:""` 4361 Limit int // 最多返回多少记录,只有在使用迭代器访问时,才有效 4362 4363 } 4364 4365 type SearchCalendarEventRespData struct { 4366 Items []*CalendarEvent `json:"items,omitempty"` // 搜索命中的日程列表 4367 PageToken *string `json:"page_token,omitempty"` // 下次请求需要带上的分页标记 4368 } 4369 4370 type SearchCalendarEventResp struct { 4371 *larkcore.ApiResp `json:"-"` 4372 larkcore.CodeError 4373 Data *SearchCalendarEventRespData `json:"data"` // 业务数据 4374 } 4375 4376 func (resp *SearchCalendarEventResp) Success() bool { 4377 return resp.Code == 0 4378 } 4379 4380 type SubscriptionCalendarEventReqBuilder struct { 4381 apiReq *larkcore.ApiReq 4382 } 4383 4384 func NewSubscriptionCalendarEventReqBuilder() *SubscriptionCalendarEventReqBuilder { 4385 builder := &SubscriptionCalendarEventReqBuilder{} 4386 builder.apiReq = &larkcore.ApiReq{ 4387 PathParams: larkcore.PathParams{}, 4388 QueryParams: larkcore.QueryParams{}, 4389 } 4390 return builder 4391 } 4392 4393 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 4394 // 4395 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 4396 func (builder *SubscriptionCalendarEventReqBuilder) CalendarId(calendarId string) *SubscriptionCalendarEventReqBuilder { 4397 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 4398 return builder 4399 } 4400 4401 func (builder *SubscriptionCalendarEventReqBuilder) Build() *SubscriptionCalendarEventReq { 4402 req := &SubscriptionCalendarEventReq{} 4403 req.apiReq = &larkcore.ApiReq{} 4404 req.apiReq.PathParams = builder.apiReq.PathParams 4405 return req 4406 } 4407 4408 type SubscriptionCalendarEventReq struct { 4409 apiReq *larkcore.ApiReq 4410 } 4411 4412 type SubscriptionCalendarEventResp struct { 4413 *larkcore.ApiResp `json:"-"` 4414 larkcore.CodeError 4415 } 4416 4417 func (resp *SubscriptionCalendarEventResp) Success() bool { 4418 return resp.Code == 0 4419 } 4420 4421 type UnsubscriptionCalendarEventReqBuilder struct { 4422 apiReq *larkcore.ApiReq 4423 } 4424 4425 func NewUnsubscriptionCalendarEventReqBuilder() *UnsubscriptionCalendarEventReqBuilder { 4426 builder := &UnsubscriptionCalendarEventReqBuilder{} 4427 builder.apiReq = &larkcore.ApiReq{ 4428 PathParams: larkcore.PathParams{}, 4429 QueryParams: larkcore.QueryParams{}, 4430 } 4431 return builder 4432 } 4433 4434 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 4435 // 4436 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 4437 func (builder *UnsubscriptionCalendarEventReqBuilder) CalendarId(calendarId string) *UnsubscriptionCalendarEventReqBuilder { 4438 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 4439 return builder 4440 } 4441 4442 func (builder *UnsubscriptionCalendarEventReqBuilder) Build() *UnsubscriptionCalendarEventReq { 4443 req := &UnsubscriptionCalendarEventReq{} 4444 req.apiReq = &larkcore.ApiReq{} 4445 req.apiReq.PathParams = builder.apiReq.PathParams 4446 return req 4447 } 4448 4449 type UnsubscriptionCalendarEventReq struct { 4450 apiReq *larkcore.ApiReq 4451 } 4452 4453 type UnsubscriptionCalendarEventResp struct { 4454 *larkcore.ApiResp `json:"-"` 4455 larkcore.CodeError 4456 } 4457 4458 func (resp *UnsubscriptionCalendarEventResp) Success() bool { 4459 return resp.Code == 0 4460 } 4461 4462 type BatchDeleteCalendarEventAttendeeReqBodyBuilder struct { 4463 attendeeIds []string // 要移除的参与人 ID 列表。参见[参与人ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event-attendee/introduction#4998889c) 4464 attendeeIdsFlag bool 4465 deleteIds []*CalendarEventAttendeeId // 需要删除的参与人类型实体ID,作为attendee_ids字段的补充。 4466 deleteIdsFlag bool 4467 needNotification bool // 删除日程参与人时是否要给参与人发送bot通知,默认为true 4468 needNotificationFlag bool 4469 instanceStartTimeAdmin string // 使用管理员身份访问时要修改的实例 4470 instanceStartTimeAdminFlag bool 4471 isEnableAdmin bool // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4472 isEnableAdminFlag bool 4473 } 4474 4475 func NewBatchDeleteCalendarEventAttendeeReqBodyBuilder() *BatchDeleteCalendarEventAttendeeReqBodyBuilder { 4476 builder := &BatchDeleteCalendarEventAttendeeReqBodyBuilder{} 4477 return builder 4478 } 4479 4480 // 要移除的参与人 ID 列表。参见[参与人ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event-attendee/introduction#4998889c) 4481 // 4482 //示例值:["user_xxxxx", "chat_xxxxx", "resource_xxxxx", "third_party_xxxxx"] 4483 func (builder *BatchDeleteCalendarEventAttendeeReqBodyBuilder) AttendeeIds(attendeeIds []string) *BatchDeleteCalendarEventAttendeeReqBodyBuilder { 4484 builder.attendeeIds = attendeeIds 4485 builder.attendeeIdsFlag = true 4486 return builder 4487 } 4488 4489 // 需要删除的参与人类型实体ID,作为attendee_ids字段的补充。 4490 // 4491 //示例值: 4492 func (builder *BatchDeleteCalendarEventAttendeeReqBodyBuilder) DeleteIds(deleteIds []*CalendarEventAttendeeId) *BatchDeleteCalendarEventAttendeeReqBodyBuilder { 4493 builder.deleteIds = deleteIds 4494 builder.deleteIdsFlag = true 4495 return builder 4496 } 4497 4498 // 删除日程参与人时是否要给参与人发送bot通知,默认为true 4499 // 4500 //示例值:false 4501 func (builder *BatchDeleteCalendarEventAttendeeReqBodyBuilder) NeedNotification(needNotification bool) *BatchDeleteCalendarEventAttendeeReqBodyBuilder { 4502 builder.needNotification = needNotification 4503 builder.needNotificationFlag = true 4504 return builder 4505 } 4506 4507 // 使用管理员身份访问时要修改的实例 4508 // 4509 //示例值:1647320400 4510 func (builder *BatchDeleteCalendarEventAttendeeReqBodyBuilder) InstanceStartTimeAdmin(instanceStartTimeAdmin string) *BatchDeleteCalendarEventAttendeeReqBodyBuilder { 4511 builder.instanceStartTimeAdmin = instanceStartTimeAdmin 4512 builder.instanceStartTimeAdminFlag = true 4513 return builder 4514 } 4515 4516 // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4517 // 4518 //示例值:false 4519 func (builder *BatchDeleteCalendarEventAttendeeReqBodyBuilder) IsEnableAdmin(isEnableAdmin bool) *BatchDeleteCalendarEventAttendeeReqBodyBuilder { 4520 builder.isEnableAdmin = isEnableAdmin 4521 builder.isEnableAdminFlag = true 4522 return builder 4523 } 4524 4525 func (builder *BatchDeleteCalendarEventAttendeeReqBodyBuilder) Build() *BatchDeleteCalendarEventAttendeeReqBody { 4526 req := &BatchDeleteCalendarEventAttendeeReqBody{} 4527 if builder.attendeeIdsFlag { 4528 req.AttendeeIds = builder.attendeeIds 4529 } 4530 if builder.deleteIdsFlag { 4531 req.DeleteIds = builder.deleteIds 4532 } 4533 if builder.needNotificationFlag { 4534 req.NeedNotification = &builder.needNotification 4535 } 4536 if builder.instanceStartTimeAdminFlag { 4537 req.InstanceStartTimeAdmin = &builder.instanceStartTimeAdmin 4538 } 4539 if builder.isEnableAdminFlag { 4540 req.IsEnableAdmin = &builder.isEnableAdmin 4541 } 4542 return req 4543 } 4544 4545 type BatchDeleteCalendarEventAttendeePathReqBodyBuilder struct { 4546 attendeeIds []string // 要移除的参与人 ID 列表。参见[参与人ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event-attendee/introduction#4998889c) 4547 attendeeIdsFlag bool 4548 deleteIds []*CalendarEventAttendeeId // 需要删除的参与人类型实体ID,作为attendee_ids字段的补充。 4549 deleteIdsFlag bool 4550 needNotification bool // 删除日程参与人时是否要给参与人发送bot通知,默认为true 4551 needNotificationFlag bool 4552 instanceStartTimeAdmin string // 使用管理员身份访问时要修改的实例 4553 instanceStartTimeAdminFlag bool 4554 isEnableAdmin bool // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4555 isEnableAdminFlag bool 4556 } 4557 4558 func NewBatchDeleteCalendarEventAttendeePathReqBodyBuilder() *BatchDeleteCalendarEventAttendeePathReqBodyBuilder { 4559 builder := &BatchDeleteCalendarEventAttendeePathReqBodyBuilder{} 4560 return builder 4561 } 4562 4563 // 要移除的参与人 ID 列表。参见[参与人ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event-attendee/introduction#4998889c) 4564 // 4565 // 示例值:["user_xxxxx", "chat_xxxxx", "resource_xxxxx", "third_party_xxxxx"] 4566 func (builder *BatchDeleteCalendarEventAttendeePathReqBodyBuilder) AttendeeIds(attendeeIds []string) *BatchDeleteCalendarEventAttendeePathReqBodyBuilder { 4567 builder.attendeeIds = attendeeIds 4568 builder.attendeeIdsFlag = true 4569 return builder 4570 } 4571 4572 // 需要删除的参与人类型实体ID,作为attendee_ids字段的补充。 4573 // 4574 // 示例值: 4575 func (builder *BatchDeleteCalendarEventAttendeePathReqBodyBuilder) DeleteIds(deleteIds []*CalendarEventAttendeeId) *BatchDeleteCalendarEventAttendeePathReqBodyBuilder { 4576 builder.deleteIds = deleteIds 4577 builder.deleteIdsFlag = true 4578 return builder 4579 } 4580 4581 // 删除日程参与人时是否要给参与人发送bot通知,默认为true 4582 // 4583 // 示例值:false 4584 func (builder *BatchDeleteCalendarEventAttendeePathReqBodyBuilder) NeedNotification(needNotification bool) *BatchDeleteCalendarEventAttendeePathReqBodyBuilder { 4585 builder.needNotification = needNotification 4586 builder.needNotificationFlag = true 4587 return builder 4588 } 4589 4590 // 使用管理员身份访问时要修改的实例 4591 // 4592 // 示例值:1647320400 4593 func (builder *BatchDeleteCalendarEventAttendeePathReqBodyBuilder) InstanceStartTimeAdmin(instanceStartTimeAdmin string) *BatchDeleteCalendarEventAttendeePathReqBodyBuilder { 4594 builder.instanceStartTimeAdmin = instanceStartTimeAdmin 4595 builder.instanceStartTimeAdminFlag = true 4596 return builder 4597 } 4598 4599 // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4600 // 4601 // 示例值:false 4602 func (builder *BatchDeleteCalendarEventAttendeePathReqBodyBuilder) IsEnableAdmin(isEnableAdmin bool) *BatchDeleteCalendarEventAttendeePathReqBodyBuilder { 4603 builder.isEnableAdmin = isEnableAdmin 4604 builder.isEnableAdminFlag = true 4605 return builder 4606 } 4607 4608 func (builder *BatchDeleteCalendarEventAttendeePathReqBodyBuilder) Build() (*BatchDeleteCalendarEventAttendeeReqBody, error) { 4609 req := &BatchDeleteCalendarEventAttendeeReqBody{} 4610 if builder.attendeeIdsFlag { 4611 req.AttendeeIds = builder.attendeeIds 4612 } 4613 if builder.deleteIdsFlag { 4614 req.DeleteIds = builder.deleteIds 4615 } 4616 if builder.needNotificationFlag { 4617 req.NeedNotification = &builder.needNotification 4618 } 4619 if builder.instanceStartTimeAdminFlag { 4620 req.InstanceStartTimeAdmin = &builder.instanceStartTimeAdmin 4621 } 4622 if builder.isEnableAdminFlag { 4623 req.IsEnableAdmin = &builder.isEnableAdmin 4624 } 4625 return req, nil 4626 } 4627 4628 type BatchDeleteCalendarEventAttendeeReqBuilder struct { 4629 apiReq *larkcore.ApiReq 4630 body *BatchDeleteCalendarEventAttendeeReqBody 4631 } 4632 4633 func NewBatchDeleteCalendarEventAttendeeReqBuilder() *BatchDeleteCalendarEventAttendeeReqBuilder { 4634 builder := &BatchDeleteCalendarEventAttendeeReqBuilder{} 4635 builder.apiReq = &larkcore.ApiReq{ 4636 PathParams: larkcore.PathParams{}, 4637 QueryParams: larkcore.QueryParams{}, 4638 } 4639 return builder 4640 } 4641 4642 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 4643 // 4644 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 4645 func (builder *BatchDeleteCalendarEventAttendeeReqBuilder) CalendarId(calendarId string) *BatchDeleteCalendarEventAttendeeReqBuilder { 4646 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 4647 return builder 4648 } 4649 4650 // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 4651 // 4652 // 示例值:xxxxxxxxx_0 4653 func (builder *BatchDeleteCalendarEventAttendeeReqBuilder) EventId(eventId string) *BatchDeleteCalendarEventAttendeeReqBuilder { 4654 builder.apiReq.PathParams.Set("event_id", fmt.Sprint(eventId)) 4655 return builder 4656 } 4657 4658 // 此次调用中使用的用户ID的类型 4659 // 4660 // 示例值: 4661 func (builder *BatchDeleteCalendarEventAttendeeReqBuilder) UserIdType(userIdType string) *BatchDeleteCalendarEventAttendeeReqBuilder { 4662 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4663 return builder 4664 } 4665 4666 // 批量删除日程的参与人。 4667 func (builder *BatchDeleteCalendarEventAttendeeReqBuilder) Body(body *BatchDeleteCalendarEventAttendeeReqBody) *BatchDeleteCalendarEventAttendeeReqBuilder { 4668 builder.body = body 4669 return builder 4670 } 4671 4672 func (builder *BatchDeleteCalendarEventAttendeeReqBuilder) Build() *BatchDeleteCalendarEventAttendeeReq { 4673 req := &BatchDeleteCalendarEventAttendeeReq{} 4674 req.apiReq = &larkcore.ApiReq{} 4675 req.apiReq.PathParams = builder.apiReq.PathParams 4676 req.apiReq.QueryParams = builder.apiReq.QueryParams 4677 req.apiReq.Body = builder.body 4678 return req 4679 } 4680 4681 type BatchDeleteCalendarEventAttendeeReqBody struct { 4682 AttendeeIds []string `json:"attendee_ids,omitempty"` // 要移除的参与人 ID 列表。参见[参与人ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event-attendee/introduction#4998889c) 4683 DeleteIds []*CalendarEventAttendeeId `json:"delete_ids,omitempty"` // 需要删除的参与人类型实体ID,作为attendee_ids字段的补充。 4684 NeedNotification *bool `json:"need_notification,omitempty"` // 删除日程参与人时是否要给参与人发送bot通知,默认为true 4685 InstanceStartTimeAdmin *string `json:"instance_start_time_admin,omitempty"` // 使用管理员身份访问时要修改的实例 4686 IsEnableAdmin *bool `json:"is_enable_admin,omitempty"` // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4687 } 4688 4689 type BatchDeleteCalendarEventAttendeeReq struct { 4690 apiReq *larkcore.ApiReq 4691 Body *BatchDeleteCalendarEventAttendeeReqBody `body:""` 4692 } 4693 4694 type BatchDeleteCalendarEventAttendeeResp struct { 4695 *larkcore.ApiResp `json:"-"` 4696 larkcore.CodeError 4697 } 4698 4699 func (resp *BatchDeleteCalendarEventAttendeeResp) Success() bool { 4700 return resp.Code == 0 4701 } 4702 4703 type CreateCalendarEventAttendeeReqBodyBuilder struct { 4704 attendees []*CalendarEventAttendee // 新增参与人列表;;- 单次请求会议室的数量限制为100。 4705 attendeesFlag bool 4706 needNotification bool // 是否给参与人发送bot通知 默认为true 4707 needNotificationFlag bool 4708 instanceStartTimeAdmin string // 使用管理员身份访问时要修改的实例(仅用于重复日程修改其中的一个实例,非重复日程无需填此字段) 4709 instanceStartTimeAdminFlag bool 4710 isEnableAdmin bool // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4711 isEnableAdminFlag bool 4712 } 4713 4714 func NewCreateCalendarEventAttendeeReqBodyBuilder() *CreateCalendarEventAttendeeReqBodyBuilder { 4715 builder := &CreateCalendarEventAttendeeReqBodyBuilder{} 4716 return builder 4717 } 4718 4719 // 新增参与人列表;;- 单次请求会议室的数量限制为100。 4720 // 4721 //示例值: 4722 func (builder *CreateCalendarEventAttendeeReqBodyBuilder) Attendees(attendees []*CalendarEventAttendee) *CreateCalendarEventAttendeeReqBodyBuilder { 4723 builder.attendees = attendees 4724 builder.attendeesFlag = true 4725 return builder 4726 } 4727 4728 // 是否给参与人发送bot通知 默认为true 4729 // 4730 //示例值:false 4731 func (builder *CreateCalendarEventAttendeeReqBodyBuilder) NeedNotification(needNotification bool) *CreateCalendarEventAttendeeReqBodyBuilder { 4732 builder.needNotification = needNotification 4733 builder.needNotificationFlag = true 4734 return builder 4735 } 4736 4737 // 使用管理员身份访问时要修改的实例(仅用于重复日程修改其中的一个实例,非重复日程无需填此字段) 4738 // 4739 //示例值:1647320400 4740 func (builder *CreateCalendarEventAttendeeReqBodyBuilder) InstanceStartTimeAdmin(instanceStartTimeAdmin string) *CreateCalendarEventAttendeeReqBodyBuilder { 4741 builder.instanceStartTimeAdmin = instanceStartTimeAdmin 4742 builder.instanceStartTimeAdminFlag = true 4743 return builder 4744 } 4745 4746 // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4747 // 4748 //示例值:false 4749 func (builder *CreateCalendarEventAttendeeReqBodyBuilder) IsEnableAdmin(isEnableAdmin bool) *CreateCalendarEventAttendeeReqBodyBuilder { 4750 builder.isEnableAdmin = isEnableAdmin 4751 builder.isEnableAdminFlag = true 4752 return builder 4753 } 4754 4755 func (builder *CreateCalendarEventAttendeeReqBodyBuilder) Build() *CreateCalendarEventAttendeeReqBody { 4756 req := &CreateCalendarEventAttendeeReqBody{} 4757 if builder.attendeesFlag { 4758 req.Attendees = builder.attendees 4759 } 4760 if builder.needNotificationFlag { 4761 req.NeedNotification = &builder.needNotification 4762 } 4763 if builder.instanceStartTimeAdminFlag { 4764 req.InstanceStartTimeAdmin = &builder.instanceStartTimeAdmin 4765 } 4766 if builder.isEnableAdminFlag { 4767 req.IsEnableAdmin = &builder.isEnableAdmin 4768 } 4769 return req 4770 } 4771 4772 type CreateCalendarEventAttendeePathReqBodyBuilder struct { 4773 attendees []*CalendarEventAttendee // 新增参与人列表;;- 单次请求会议室的数量限制为100。 4774 attendeesFlag bool 4775 needNotification bool // 是否给参与人发送bot通知 默认为true 4776 needNotificationFlag bool 4777 instanceStartTimeAdmin string // 使用管理员身份访问时要修改的实例(仅用于重复日程修改其中的一个实例,非重复日程无需填此字段) 4778 instanceStartTimeAdminFlag bool 4779 isEnableAdmin bool // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4780 isEnableAdminFlag bool 4781 } 4782 4783 func NewCreateCalendarEventAttendeePathReqBodyBuilder() *CreateCalendarEventAttendeePathReqBodyBuilder { 4784 builder := &CreateCalendarEventAttendeePathReqBodyBuilder{} 4785 return builder 4786 } 4787 4788 // 新增参与人列表;;- 单次请求会议室的数量限制为100。 4789 // 4790 // 示例值: 4791 func (builder *CreateCalendarEventAttendeePathReqBodyBuilder) Attendees(attendees []*CalendarEventAttendee) *CreateCalendarEventAttendeePathReqBodyBuilder { 4792 builder.attendees = attendees 4793 builder.attendeesFlag = true 4794 return builder 4795 } 4796 4797 // 是否给参与人发送bot通知 默认为true 4798 // 4799 // 示例值:false 4800 func (builder *CreateCalendarEventAttendeePathReqBodyBuilder) NeedNotification(needNotification bool) *CreateCalendarEventAttendeePathReqBodyBuilder { 4801 builder.needNotification = needNotification 4802 builder.needNotificationFlag = true 4803 return builder 4804 } 4805 4806 // 使用管理员身份访问时要修改的实例(仅用于重复日程修改其中的一个实例,非重复日程无需填此字段) 4807 // 4808 // 示例值:1647320400 4809 func (builder *CreateCalendarEventAttendeePathReqBodyBuilder) InstanceStartTimeAdmin(instanceStartTimeAdmin string) *CreateCalendarEventAttendeePathReqBodyBuilder { 4810 builder.instanceStartTimeAdmin = instanceStartTimeAdmin 4811 builder.instanceStartTimeAdminFlag = true 4812 return builder 4813 } 4814 4815 // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4816 // 4817 // 示例值:false 4818 func (builder *CreateCalendarEventAttendeePathReqBodyBuilder) IsEnableAdmin(isEnableAdmin bool) *CreateCalendarEventAttendeePathReqBodyBuilder { 4819 builder.isEnableAdmin = isEnableAdmin 4820 builder.isEnableAdminFlag = true 4821 return builder 4822 } 4823 4824 func (builder *CreateCalendarEventAttendeePathReqBodyBuilder) Build() (*CreateCalendarEventAttendeeReqBody, error) { 4825 req := &CreateCalendarEventAttendeeReqBody{} 4826 if builder.attendeesFlag { 4827 req.Attendees = builder.attendees 4828 } 4829 if builder.needNotificationFlag { 4830 req.NeedNotification = &builder.needNotification 4831 } 4832 if builder.instanceStartTimeAdminFlag { 4833 req.InstanceStartTimeAdmin = &builder.instanceStartTimeAdmin 4834 } 4835 if builder.isEnableAdminFlag { 4836 req.IsEnableAdmin = &builder.isEnableAdmin 4837 } 4838 return req, nil 4839 } 4840 4841 type CreateCalendarEventAttendeeReqBuilder struct { 4842 apiReq *larkcore.ApiReq 4843 body *CreateCalendarEventAttendeeReqBody 4844 } 4845 4846 func NewCreateCalendarEventAttendeeReqBuilder() *CreateCalendarEventAttendeeReqBuilder { 4847 builder := &CreateCalendarEventAttendeeReqBuilder{} 4848 builder.apiReq = &larkcore.ApiReq{ 4849 PathParams: larkcore.PathParams{}, 4850 QueryParams: larkcore.QueryParams{}, 4851 } 4852 return builder 4853 } 4854 4855 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 4856 // 4857 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 4858 func (builder *CreateCalendarEventAttendeeReqBuilder) CalendarId(calendarId string) *CreateCalendarEventAttendeeReqBuilder { 4859 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 4860 return builder 4861 } 4862 4863 // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 4864 // 4865 // 示例值:xxxxxxxxx_0 4866 func (builder *CreateCalendarEventAttendeeReqBuilder) EventId(eventId string) *CreateCalendarEventAttendeeReqBuilder { 4867 builder.apiReq.PathParams.Set("event_id", fmt.Sprint(eventId)) 4868 return builder 4869 } 4870 4871 // 此次调用中使用的用户ID的类型 4872 // 4873 // 示例值: 4874 func (builder *CreateCalendarEventAttendeeReqBuilder) UserIdType(userIdType string) *CreateCalendarEventAttendeeReqBuilder { 4875 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4876 return builder 4877 } 4878 4879 // 批量给日程添加参与人。 4880 func (builder *CreateCalendarEventAttendeeReqBuilder) Body(body *CreateCalendarEventAttendeeReqBody) *CreateCalendarEventAttendeeReqBuilder { 4881 builder.body = body 4882 return builder 4883 } 4884 4885 func (builder *CreateCalendarEventAttendeeReqBuilder) Build() *CreateCalendarEventAttendeeReq { 4886 req := &CreateCalendarEventAttendeeReq{} 4887 req.apiReq = &larkcore.ApiReq{} 4888 req.apiReq.PathParams = builder.apiReq.PathParams 4889 req.apiReq.QueryParams = builder.apiReq.QueryParams 4890 req.apiReq.Body = builder.body 4891 return req 4892 } 4893 4894 type CreateCalendarEventAttendeeReqBody struct { 4895 Attendees []*CalendarEventAttendee `json:"attendees,omitempty"` // 新增参与人列表;;- 单次请求会议室的数量限制为100。 4896 NeedNotification *bool `json:"need_notification,omitempty"` // 是否给参与人发送bot通知 默认为true 4897 InstanceStartTimeAdmin *string `json:"instance_start_time_admin,omitempty"` // 使用管理员身份访问时要修改的实例(仅用于重复日程修改其中的一个实例,非重复日程无需填此字段) 4898 IsEnableAdmin *bool `json:"is_enable_admin,omitempty"` // 是否启用管理员身份(需先在管理后台设置某人为会议室管理员) 4899 } 4900 4901 type CreateCalendarEventAttendeeReq struct { 4902 apiReq *larkcore.ApiReq 4903 Body *CreateCalendarEventAttendeeReqBody `body:""` 4904 } 4905 4906 type CreateCalendarEventAttendeeRespData struct { 4907 Attendees []*CalendarEventAttendee `json:"attendees,omitempty"` // 新增参与人后的日程所有参与人列表 4908 } 4909 4910 type CreateCalendarEventAttendeeResp struct { 4911 *larkcore.ApiResp `json:"-"` 4912 larkcore.CodeError 4913 Data *CreateCalendarEventAttendeeRespData `json:"data"` // 业务数据 4914 } 4915 4916 func (resp *CreateCalendarEventAttendeeResp) Success() bool { 4917 return resp.Code == 0 4918 } 4919 4920 type ListCalendarEventAttendeeReqBuilder struct { 4921 apiReq *larkcore.ApiReq 4922 limit int // 最大返回多少记录,当使用迭代器访问时才有效 4923 } 4924 4925 func NewListCalendarEventAttendeeReqBuilder() *ListCalendarEventAttendeeReqBuilder { 4926 builder := &ListCalendarEventAttendeeReqBuilder{} 4927 builder.apiReq = &larkcore.ApiReq{ 4928 PathParams: larkcore.PathParams{}, 4929 QueryParams: larkcore.QueryParams{}, 4930 } 4931 return builder 4932 } 4933 4934 // 最大返回多少记录,当使用迭代器访问时才有效 4935 func (builder *ListCalendarEventAttendeeReqBuilder) Limit(limit int) *ListCalendarEventAttendeeReqBuilder { 4936 builder.limit = limit 4937 return builder 4938 } 4939 4940 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 4941 // 4942 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 4943 func (builder *ListCalendarEventAttendeeReqBuilder) CalendarId(calendarId string) *ListCalendarEventAttendeeReqBuilder { 4944 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 4945 return builder 4946 } 4947 4948 // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 4949 // 4950 // 示例值:xxxxxxxxx_0 4951 func (builder *ListCalendarEventAttendeeReqBuilder) EventId(eventId string) *ListCalendarEventAttendeeReqBuilder { 4952 builder.apiReq.PathParams.Set("event_id", fmt.Sprint(eventId)) 4953 return builder 4954 } 4955 4956 // 此次调用中使用的用户ID的类型 4957 // 4958 // 示例值: 4959 func (builder *ListCalendarEventAttendeeReqBuilder) UserIdType(userIdType string) *ListCalendarEventAttendeeReqBuilder { 4960 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 4961 return builder 4962 } 4963 4964 // 4965 // 4966 // 示例值:780TRhwXXXXX 4967 func (builder *ListCalendarEventAttendeeReqBuilder) PageToken(pageToken string) *ListCalendarEventAttendeeReqBuilder { 4968 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 4969 return builder 4970 } 4971 4972 // 4973 // 4974 // 示例值:10 4975 func (builder *ListCalendarEventAttendeeReqBuilder) PageSize(pageSize int) *ListCalendarEventAttendeeReqBuilder { 4976 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 4977 return builder 4978 } 4979 4980 func (builder *ListCalendarEventAttendeeReqBuilder) Build() *ListCalendarEventAttendeeReq { 4981 req := &ListCalendarEventAttendeeReq{} 4982 req.apiReq = &larkcore.ApiReq{} 4983 req.Limit = builder.limit 4984 req.apiReq.PathParams = builder.apiReq.PathParams 4985 req.apiReq.QueryParams = builder.apiReq.QueryParams 4986 return req 4987 } 4988 4989 type ListCalendarEventAttendeeReq struct { 4990 apiReq *larkcore.ApiReq 4991 Limit int // 最多返回多少记录,只有在使用迭代器访问时,才有效 4992 4993 } 4994 4995 type ListCalendarEventAttendeeRespData struct { 4996 Items []*CalendarEventAttendee `json:"items,omitempty"` // 日程的参与者列表 4997 HasMore *bool `json:"has_more,omitempty"` // 是否有下一页数据 4998 PageToken *string `json:"page_token,omitempty"` // 下次请求需要带上的分页标记,90 天有效期 4999 } 5000 5001 type ListCalendarEventAttendeeResp struct { 5002 *larkcore.ApiResp `json:"-"` 5003 larkcore.CodeError 5004 Data *ListCalendarEventAttendeeRespData `json:"data"` // 业务数据 5005 } 5006 5007 func (resp *ListCalendarEventAttendeeResp) Success() bool { 5008 return resp.Code == 0 5009 } 5010 5011 type ListCalendarEventAttendeeChatMemberReqBuilder struct { 5012 apiReq *larkcore.ApiReq 5013 limit int // 最大返回多少记录,当使用迭代器访问时才有效 5014 } 5015 5016 func NewListCalendarEventAttendeeChatMemberReqBuilder() *ListCalendarEventAttendeeChatMemberReqBuilder { 5017 builder := &ListCalendarEventAttendeeChatMemberReqBuilder{} 5018 builder.apiReq = &larkcore.ApiReq{ 5019 PathParams: larkcore.PathParams{}, 5020 QueryParams: larkcore.QueryParams{}, 5021 } 5022 return builder 5023 } 5024 5025 // 最大返回多少记录,当使用迭代器访问时才有效 5026 func (builder *ListCalendarEventAttendeeChatMemberReqBuilder) Limit(limit int) *ListCalendarEventAttendeeChatMemberReqBuilder { 5027 builder.limit = limit 5028 return builder 5029 } 5030 5031 // 日历ID。参见[日历ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar/introduction) 5032 // 5033 // 示例值:feishu.cn_xxxxxxxxxx@group.calendar.feishu.cn 5034 func (builder *ListCalendarEventAttendeeChatMemberReqBuilder) CalendarId(calendarId string) *ListCalendarEventAttendeeChatMemberReqBuilder { 5035 builder.apiReq.PathParams.Set("calendar_id", fmt.Sprint(calendarId)) 5036 return builder 5037 } 5038 5039 // 日程ID。参见[日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event/introduction) 5040 // 5041 // 示例值:xxxxxxxxx_0 5042 func (builder *ListCalendarEventAttendeeChatMemberReqBuilder) EventId(eventId string) *ListCalendarEventAttendeeChatMemberReqBuilder { 5043 builder.apiReq.PathParams.Set("event_id", fmt.Sprint(eventId)) 5044 return builder 5045 } 5046 5047 // 群参与人 ID。参见[参与人ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/calendar-event-attendee/introduction#4998889c) 5048 // 5049 // 示例值:chat_xxxxxx 5050 func (builder *ListCalendarEventAttendeeChatMemberReqBuilder) AttendeeId(attendeeId string) *ListCalendarEventAttendeeChatMemberReqBuilder { 5051 builder.apiReq.PathParams.Set("attendee_id", fmt.Sprint(attendeeId)) 5052 return builder 5053 } 5054 5055 // 5056 // 5057 // 示例值:23jhysaxxxxsysy 5058 func (builder *ListCalendarEventAttendeeChatMemberReqBuilder) PageToken(pageToken string) *ListCalendarEventAttendeeChatMemberReqBuilder { 5059 builder.apiReq.QueryParams.Set("page_token", fmt.Sprint(pageToken)) 5060 return builder 5061 } 5062 5063 // 5064 // 5065 // 示例值:10 5066 func (builder *ListCalendarEventAttendeeChatMemberReqBuilder) PageSize(pageSize int) *ListCalendarEventAttendeeChatMemberReqBuilder { 5067 builder.apiReq.QueryParams.Set("page_size", fmt.Sprint(pageSize)) 5068 return builder 5069 } 5070 5071 // 此次调用中使用的用户ID的类型 5072 // 5073 // 示例值: 5074 func (builder *ListCalendarEventAttendeeChatMemberReqBuilder) UserIdType(userIdType string) *ListCalendarEventAttendeeChatMemberReqBuilder { 5075 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 5076 return builder 5077 } 5078 5079 func (builder *ListCalendarEventAttendeeChatMemberReqBuilder) Build() *ListCalendarEventAttendeeChatMemberReq { 5080 req := &ListCalendarEventAttendeeChatMemberReq{} 5081 req.apiReq = &larkcore.ApiReq{} 5082 req.Limit = builder.limit 5083 req.apiReq.PathParams = builder.apiReq.PathParams 5084 req.apiReq.QueryParams = builder.apiReq.QueryParams 5085 return req 5086 } 5087 5088 type ListCalendarEventAttendeeChatMemberReq struct { 5089 apiReq *larkcore.ApiReq 5090 Limit int // 最多返回多少记录,只有在使用迭代器访问时,才有效 5091 5092 } 5093 5094 type ListCalendarEventAttendeeChatMemberRespData struct { 5095 Items []*CalendarEventAttendeeChatMember `json:"items,omitempty"` // 群中的群成员,当type为chat时有效;群成员不支持编辑 5096 HasMore *bool `json:"has_more,omitempty"` // 是否有下一页数据 5097 PageToken *string `json:"page_token,omitempty"` // 下次请求需要带上的分页标记 5098 } 5099 5100 type ListCalendarEventAttendeeChatMemberResp struct { 5101 *larkcore.ApiResp `json:"-"` 5102 larkcore.CodeError 5103 Data *ListCalendarEventAttendeeChatMemberRespData `json:"data"` // 业务数据 5104 } 5105 5106 func (resp *ListCalendarEventAttendeeChatMemberResp) Success() bool { 5107 return resp.Code == 0 5108 } 5109 5110 type CreateExchangeBindingReqBuilder struct { 5111 apiReq *larkcore.ApiReq 5112 exchangeBinding *ExchangeBinding 5113 } 5114 5115 func NewCreateExchangeBindingReqBuilder() *CreateExchangeBindingReqBuilder { 5116 builder := &CreateExchangeBindingReqBuilder{} 5117 builder.apiReq = &larkcore.ApiReq{ 5118 PathParams: larkcore.PathParams{}, 5119 QueryParams: larkcore.QueryParams{}, 5120 } 5121 return builder 5122 } 5123 5124 // 此次调用中使用的用户ID的类型 5125 // 5126 // 示例值: 5127 func (builder *CreateExchangeBindingReqBuilder) UserIdType(userIdType string) *CreateExchangeBindingReqBuilder { 5128 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 5129 return builder 5130 } 5131 5132 // 本接口将Exchange账户绑定到飞书账户,进而支持Exchange日历的导入 5133 func (builder *CreateExchangeBindingReqBuilder) ExchangeBinding(exchangeBinding *ExchangeBinding) *CreateExchangeBindingReqBuilder { 5134 builder.exchangeBinding = exchangeBinding 5135 return builder 5136 } 5137 5138 func (builder *CreateExchangeBindingReqBuilder) Build() *CreateExchangeBindingReq { 5139 req := &CreateExchangeBindingReq{} 5140 req.apiReq = &larkcore.ApiReq{} 5141 req.apiReq.QueryParams = builder.apiReq.QueryParams 5142 req.apiReq.Body = builder.exchangeBinding 5143 return req 5144 } 5145 5146 type CreateExchangeBindingReq struct { 5147 apiReq *larkcore.ApiReq 5148 ExchangeBinding *ExchangeBinding `body:""` 5149 } 5150 5151 type CreateExchangeBindingRespData struct { 5152 AdminAccount *string `json:"admin_account,omitempty"` // admin账户 5153 ExchangeAccount *string `json:"exchange_account,omitempty"` // 用户绑定的Exchange账户 5154 UserId *string `json:"user_id,omitempty"` // Exchange账户绑定user唯一标识id 5155 Status *string `json:"status,omitempty"` // Exchange账户同步状态 5156 ExchangeBindingId *string `json:"exchange_binding_id,omitempty"` // exchange绑定唯一标识id 5157 } 5158 5159 type CreateExchangeBindingResp struct { 5160 *larkcore.ApiResp `json:"-"` 5161 larkcore.CodeError 5162 Data *CreateExchangeBindingRespData `json:"data"` // 业务数据 5163 } 5164 5165 func (resp *CreateExchangeBindingResp) Success() bool { 5166 return resp.Code == 0 5167 } 5168 5169 type DeleteExchangeBindingReqBuilder struct { 5170 apiReq *larkcore.ApiReq 5171 } 5172 5173 func NewDeleteExchangeBindingReqBuilder() *DeleteExchangeBindingReqBuilder { 5174 builder := &DeleteExchangeBindingReqBuilder{} 5175 builder.apiReq = &larkcore.ApiReq{ 5176 PathParams: larkcore.PathParams{}, 5177 QueryParams: larkcore.QueryParams{}, 5178 } 5179 return builder 5180 } 5181 5182 // exchange绑定唯一标识id。参见[exchange绑定ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/exchange_binding/introduction#12533d5e) 5183 // 5184 // 示例值:ZW1haWxfYWRtaW5fZXhhbXBsZUBvdXRsb29rLmNvbSBlbWFpbF9hY2NvdW50X2V4YW1wbGVAb3V0bG9vay5jb20= 5185 func (builder *DeleteExchangeBindingReqBuilder) ExchangeBindingId(exchangeBindingId string) *DeleteExchangeBindingReqBuilder { 5186 builder.apiReq.PathParams.Set("exchange_binding_id", fmt.Sprint(exchangeBindingId)) 5187 return builder 5188 } 5189 5190 func (builder *DeleteExchangeBindingReqBuilder) Build() *DeleteExchangeBindingReq { 5191 req := &DeleteExchangeBindingReq{} 5192 req.apiReq = &larkcore.ApiReq{} 5193 req.apiReq.PathParams = builder.apiReq.PathParams 5194 return req 5195 } 5196 5197 type DeleteExchangeBindingReq struct { 5198 apiReq *larkcore.ApiReq 5199 } 5200 5201 type DeleteExchangeBindingResp struct { 5202 *larkcore.ApiResp `json:"-"` 5203 larkcore.CodeError 5204 } 5205 5206 func (resp *DeleteExchangeBindingResp) Success() bool { 5207 return resp.Code == 0 5208 } 5209 5210 type GetExchangeBindingReqBuilder struct { 5211 apiReq *larkcore.ApiReq 5212 } 5213 5214 func NewGetExchangeBindingReqBuilder() *GetExchangeBindingReqBuilder { 5215 builder := &GetExchangeBindingReqBuilder{} 5216 builder.apiReq = &larkcore.ApiReq{ 5217 PathParams: larkcore.PathParams{}, 5218 QueryParams: larkcore.QueryParams{}, 5219 } 5220 return builder 5221 } 5222 5223 // exchange绑定唯一标识id。参见[exchange绑定ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/exchange_binding/introduction#12533d5e) 5224 // 5225 // 示例值:ZW1haWxfYWRtaW5fZXhhbXBsZUBvdXRsb29rLmNvbSBlbWFpbF9hY2NvdW50X2V4YW1wbGVAb3V0bG9vay5jb20= 5226 func (builder *GetExchangeBindingReqBuilder) ExchangeBindingId(exchangeBindingId string) *GetExchangeBindingReqBuilder { 5227 builder.apiReq.PathParams.Set("exchange_binding_id", fmt.Sprint(exchangeBindingId)) 5228 return builder 5229 } 5230 5231 // 此次调用中使用的用户ID的类型 5232 // 5233 // 示例值: 5234 func (builder *GetExchangeBindingReqBuilder) UserIdType(userIdType string) *GetExchangeBindingReqBuilder { 5235 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 5236 return builder 5237 } 5238 5239 func (builder *GetExchangeBindingReqBuilder) Build() *GetExchangeBindingReq { 5240 req := &GetExchangeBindingReq{} 5241 req.apiReq = &larkcore.ApiReq{} 5242 req.apiReq.PathParams = builder.apiReq.PathParams 5243 req.apiReq.QueryParams = builder.apiReq.QueryParams 5244 return req 5245 } 5246 5247 type GetExchangeBindingReq struct { 5248 apiReq *larkcore.ApiReq 5249 } 5250 5251 type GetExchangeBindingRespData struct { 5252 AdminAccount *string `json:"admin_account,omitempty"` // admin账户 5253 ExchangeAccount *string `json:"exchange_account,omitempty"` // 用户绑定的Exchange账户 5254 UserId *string `json:"user_id,omitempty"` // Exchange账户绑定user唯一标识id 5255 Status *string `json:"status,omitempty"` // Exchange账户同步状态 5256 ExchangeBindingId *string `json:"exchange_binding_id,omitempty"` // Exchange绑定关系唯一标识ID 5257 } 5258 5259 type GetExchangeBindingResp struct { 5260 *larkcore.ApiResp `json:"-"` 5261 larkcore.CodeError 5262 Data *GetExchangeBindingRespData `json:"data"` // 业务数据 5263 } 5264 5265 func (resp *GetExchangeBindingResp) Success() bool { 5266 return resp.Code == 0 5267 } 5268 5269 type ListFreebusyReqBodyBuilder struct { 5270 timeMin string // 查询时段开始时间,需要url编码 5271 timeMinFlag bool 5272 timeMax string // 查询时段结束时间,需要url编码 5273 timeMaxFlag bool 5274 userId string // 用户user_id,输入时与 room_id 二选一。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 5275 userIdFlag bool 5276 roomId string // 会议室room_id,输入时与 user_id 二选一 5277 roomIdFlag bool 5278 } 5279 5280 func NewListFreebusyReqBodyBuilder() *ListFreebusyReqBodyBuilder { 5281 builder := &ListFreebusyReqBodyBuilder{} 5282 return builder 5283 } 5284 5285 // 查询时段开始时间,需要url编码 5286 // 5287 //示例值:2020-10-28T12:00:00+08:00 5288 func (builder *ListFreebusyReqBodyBuilder) TimeMin(timeMin string) *ListFreebusyReqBodyBuilder { 5289 builder.timeMin = timeMin 5290 builder.timeMinFlag = true 5291 return builder 5292 } 5293 5294 // 查询时段结束时间,需要url编码 5295 // 5296 //示例值:2020-12-28T12:00:00+08:00 5297 func (builder *ListFreebusyReqBodyBuilder) TimeMax(timeMax string) *ListFreebusyReqBodyBuilder { 5298 builder.timeMax = timeMax 5299 builder.timeMaxFlag = true 5300 return builder 5301 } 5302 5303 // 用户user_id,输入时与 room_id 二选一。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 5304 // 5305 //示例值:ou_xxxxxxxxxx 5306 func (builder *ListFreebusyReqBodyBuilder) UserId(userId string) *ListFreebusyReqBodyBuilder { 5307 builder.userId = userId 5308 builder.userIdFlag = true 5309 return builder 5310 } 5311 5312 // 会议室room_id,输入时与 user_id 二选一 5313 // 5314 //示例值:omm_xxxxxxxxxx 5315 func (builder *ListFreebusyReqBodyBuilder) RoomId(roomId string) *ListFreebusyReqBodyBuilder { 5316 builder.roomId = roomId 5317 builder.roomIdFlag = true 5318 return builder 5319 } 5320 5321 func (builder *ListFreebusyReqBodyBuilder) Build() *ListFreebusyReqBody { 5322 req := &ListFreebusyReqBody{} 5323 if builder.timeMinFlag { 5324 req.TimeMin = &builder.timeMin 5325 } 5326 if builder.timeMaxFlag { 5327 req.TimeMax = &builder.timeMax 5328 } 5329 if builder.userIdFlag { 5330 req.UserId = &builder.userId 5331 } 5332 if builder.roomIdFlag { 5333 req.RoomId = &builder.roomId 5334 } 5335 return req 5336 } 5337 5338 type ListFreebusyPathReqBodyBuilder struct { 5339 timeMin string // 查询时段开始时间,需要url编码 5340 timeMinFlag bool 5341 timeMax string // 查询时段结束时间,需要url编码 5342 timeMaxFlag bool 5343 userId string // 用户user_id,输入时与 room_id 二选一。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 5344 userIdFlag bool 5345 roomId string // 会议室room_id,输入时与 user_id 二选一 5346 roomIdFlag bool 5347 } 5348 5349 func NewListFreebusyPathReqBodyBuilder() *ListFreebusyPathReqBodyBuilder { 5350 builder := &ListFreebusyPathReqBodyBuilder{} 5351 return builder 5352 } 5353 5354 // 查询时段开始时间,需要url编码 5355 // 5356 // 示例值:2020-10-28T12:00:00+08:00 5357 func (builder *ListFreebusyPathReqBodyBuilder) TimeMin(timeMin string) *ListFreebusyPathReqBodyBuilder { 5358 builder.timeMin = timeMin 5359 builder.timeMinFlag = true 5360 return builder 5361 } 5362 5363 // 查询时段结束时间,需要url编码 5364 // 5365 // 示例值:2020-12-28T12:00:00+08:00 5366 func (builder *ListFreebusyPathReqBodyBuilder) TimeMax(timeMax string) *ListFreebusyPathReqBodyBuilder { 5367 builder.timeMax = timeMax 5368 builder.timeMaxFlag = true 5369 return builder 5370 } 5371 5372 // 用户user_id,输入时与 room_id 二选一。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 5373 // 5374 // 示例值:ou_xxxxxxxxxx 5375 func (builder *ListFreebusyPathReqBodyBuilder) UserId(userId string) *ListFreebusyPathReqBodyBuilder { 5376 builder.userId = userId 5377 builder.userIdFlag = true 5378 return builder 5379 } 5380 5381 // 会议室room_id,输入时与 user_id 二选一 5382 // 5383 // 示例值:omm_xxxxxxxxxx 5384 func (builder *ListFreebusyPathReqBodyBuilder) RoomId(roomId string) *ListFreebusyPathReqBodyBuilder { 5385 builder.roomId = roomId 5386 builder.roomIdFlag = true 5387 return builder 5388 } 5389 5390 func (builder *ListFreebusyPathReqBodyBuilder) Build() (*ListFreebusyReqBody, error) { 5391 req := &ListFreebusyReqBody{} 5392 if builder.timeMinFlag { 5393 req.TimeMin = &builder.timeMin 5394 } 5395 if builder.timeMaxFlag { 5396 req.TimeMax = &builder.timeMax 5397 } 5398 if builder.userIdFlag { 5399 req.UserId = &builder.userId 5400 } 5401 if builder.roomIdFlag { 5402 req.RoomId = &builder.roomId 5403 } 5404 return req, nil 5405 } 5406 5407 type ListFreebusyReqBuilder struct { 5408 apiReq *larkcore.ApiReq 5409 body *ListFreebusyReqBody 5410 } 5411 5412 func NewListFreebusyReqBuilder() *ListFreebusyReqBuilder { 5413 builder := &ListFreebusyReqBuilder{} 5414 builder.apiReq = &larkcore.ApiReq{ 5415 PathParams: larkcore.PathParams{}, 5416 QueryParams: larkcore.QueryParams{}, 5417 } 5418 return builder 5419 } 5420 5421 // 此次调用中使用的用户ID的类型 5422 // 5423 // 示例值: 5424 func (builder *ListFreebusyReqBuilder) UserIdType(userIdType string) *ListFreebusyReqBuilder { 5425 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 5426 return builder 5427 } 5428 5429 // 查询用户主日历或会议室的忙闲信息。 5430 func (builder *ListFreebusyReqBuilder) Body(body *ListFreebusyReqBody) *ListFreebusyReqBuilder { 5431 builder.body = body 5432 return builder 5433 } 5434 5435 func (builder *ListFreebusyReqBuilder) Build() *ListFreebusyReq { 5436 req := &ListFreebusyReq{} 5437 req.apiReq = &larkcore.ApiReq{} 5438 req.apiReq.QueryParams = builder.apiReq.QueryParams 5439 req.apiReq.Body = builder.body 5440 return req 5441 } 5442 5443 type ListFreebusyReqBody struct { 5444 TimeMin *string `json:"time_min,omitempty"` // 查询时段开始时间,需要url编码 5445 TimeMax *string `json:"time_max,omitempty"` // 查询时段结束时间,需要url编码 5446 UserId *string `json:"user_id,omitempty"` // 用户user_id,输入时与 room_id 二选一。参见[用户相关的 ID 概念](/ssl:ttdoc/home/user-identity-introduction/introduction) 5447 RoomId *string `json:"room_id,omitempty"` // 会议室room_id,输入时与 user_id 二选一 5448 } 5449 5450 type ListFreebusyReq struct { 5451 apiReq *larkcore.ApiReq 5452 Body *ListFreebusyReqBody `body:""` 5453 } 5454 5455 type ListFreebusyRespData struct { 5456 FreebusyList []*Freebusy `json:"freebusy_list,omitempty"` // 日历上请求时间区间内的忙碌时间段信息。 5457 } 5458 5459 type ListFreebusyResp struct { 5460 *larkcore.ApiResp `json:"-"` 5461 larkcore.CodeError 5462 Data *ListFreebusyRespData `json:"data"` // 业务数据 5463 } 5464 5465 func (resp *ListFreebusyResp) Success() bool { 5466 return resp.Code == 0 5467 } 5468 5469 type GenerateCaldavConfSettingReqBodyBuilder struct { 5470 deviceName string // 需要同步日历的设备名,在日历中展示用来管理密码 5471 deviceNameFlag bool 5472 } 5473 5474 func NewGenerateCaldavConfSettingReqBodyBuilder() *GenerateCaldavConfSettingReqBodyBuilder { 5475 builder := &GenerateCaldavConfSettingReqBodyBuilder{} 5476 return builder 5477 } 5478 5479 // 需要同步日历的设备名,在日历中展示用来管理密码 5480 // 5481 //示例值:iPhone 5482 func (builder *GenerateCaldavConfSettingReqBodyBuilder) DeviceName(deviceName string) *GenerateCaldavConfSettingReqBodyBuilder { 5483 builder.deviceName = deviceName 5484 builder.deviceNameFlag = true 5485 return builder 5486 } 5487 5488 func (builder *GenerateCaldavConfSettingReqBodyBuilder) Build() *GenerateCaldavConfSettingReqBody { 5489 req := &GenerateCaldavConfSettingReqBody{} 5490 if builder.deviceNameFlag { 5491 req.DeviceName = &builder.deviceName 5492 } 5493 return req 5494 } 5495 5496 type GenerateCaldavConfSettingPathReqBodyBuilder struct { 5497 deviceName string // 需要同步日历的设备名,在日历中展示用来管理密码 5498 deviceNameFlag bool 5499 } 5500 5501 func NewGenerateCaldavConfSettingPathReqBodyBuilder() *GenerateCaldavConfSettingPathReqBodyBuilder { 5502 builder := &GenerateCaldavConfSettingPathReqBodyBuilder{} 5503 return builder 5504 } 5505 5506 // 需要同步日历的设备名,在日历中展示用来管理密码 5507 // 5508 // 示例值:iPhone 5509 func (builder *GenerateCaldavConfSettingPathReqBodyBuilder) DeviceName(deviceName string) *GenerateCaldavConfSettingPathReqBodyBuilder { 5510 builder.deviceName = deviceName 5511 builder.deviceNameFlag = true 5512 return builder 5513 } 5514 5515 func (builder *GenerateCaldavConfSettingPathReqBodyBuilder) Build() (*GenerateCaldavConfSettingReqBody, error) { 5516 req := &GenerateCaldavConfSettingReqBody{} 5517 if builder.deviceNameFlag { 5518 req.DeviceName = &builder.deviceName 5519 } 5520 return req, nil 5521 } 5522 5523 type GenerateCaldavConfSettingReqBuilder struct { 5524 apiReq *larkcore.ApiReq 5525 body *GenerateCaldavConfSettingReqBody 5526 } 5527 5528 func NewGenerateCaldavConfSettingReqBuilder() *GenerateCaldavConfSettingReqBuilder { 5529 builder := &GenerateCaldavConfSettingReqBuilder{} 5530 builder.apiReq = &larkcore.ApiReq{ 5531 PathParams: larkcore.PathParams{}, 5532 QueryParams: larkcore.QueryParams{}, 5533 } 5534 return builder 5535 } 5536 5537 // 用于为当前用户生成一个CalDAV账号密码,用于将飞书日历信息同步到本地设备日历。 5538 func (builder *GenerateCaldavConfSettingReqBuilder) Body(body *GenerateCaldavConfSettingReqBody) *GenerateCaldavConfSettingReqBuilder { 5539 builder.body = body 5540 return builder 5541 } 5542 5543 func (builder *GenerateCaldavConfSettingReqBuilder) Build() *GenerateCaldavConfSettingReq { 5544 req := &GenerateCaldavConfSettingReq{} 5545 req.apiReq = &larkcore.ApiReq{} 5546 req.apiReq.Body = builder.body 5547 return req 5548 } 5549 5550 type GenerateCaldavConfSettingReqBody struct { 5551 DeviceName *string `json:"device_name,omitempty"` // 需要同步日历的设备名,在日历中展示用来管理密码 5552 } 5553 5554 type GenerateCaldavConfSettingReq struct { 5555 apiReq *larkcore.ApiReq 5556 Body *GenerateCaldavConfSettingReqBody `body:""` 5557 } 5558 5559 type GenerateCaldavConfSettingRespData struct { 5560 Password *string `json:"password,omitempty"` // caldav密码 5561 UserName *string `json:"user_name,omitempty"` // caldav用户名 5562 ServerAddress *string `json:"server_address,omitempty"` // 服务器地址 5563 DeviceName *string `json:"device_name,omitempty"` // 设备名 5564 } 5565 5566 type GenerateCaldavConfSettingResp struct { 5567 *larkcore.ApiResp `json:"-"` 5568 larkcore.CodeError 5569 Data *GenerateCaldavConfSettingRespData `json:"data"` // 业务数据 5570 } 5571 5572 func (resp *GenerateCaldavConfSettingResp) Success() bool { 5573 return resp.Code == 0 5574 } 5575 5576 type CreateTimeoffEventReqBuilder struct { 5577 apiReq *larkcore.ApiReq 5578 timeoffEvent *TimeoffEvent 5579 } 5580 5581 func NewCreateTimeoffEventReqBuilder() *CreateTimeoffEventReqBuilder { 5582 builder := &CreateTimeoffEventReqBuilder{} 5583 builder.apiReq = &larkcore.ApiReq{ 5584 PathParams: larkcore.PathParams{}, 5585 QueryParams: larkcore.QueryParams{}, 5586 } 5587 return builder 5588 } 5589 5590 // 此次调用中使用的用户ID的类型 5591 // 5592 // 示例值: 5593 func (builder *CreateTimeoffEventReqBuilder) UserIdType(userIdType string) *CreateTimeoffEventReqBuilder { 5594 builder.apiReq.QueryParams.Set("user_id_type", fmt.Sprint(userIdType)) 5595 return builder 5596 } 5597 5598 // 为指定用户创建一个请假日程,可以是一个普通请假日程,也可以是一个全天日程。;创建请假日程后,会在相应时间内,在用户个人签名页展示请假信息。 5599 func (builder *CreateTimeoffEventReqBuilder) TimeoffEvent(timeoffEvent *TimeoffEvent) *CreateTimeoffEventReqBuilder { 5600 builder.timeoffEvent = timeoffEvent 5601 return builder 5602 } 5603 5604 func (builder *CreateTimeoffEventReqBuilder) Build() *CreateTimeoffEventReq { 5605 req := &CreateTimeoffEventReq{} 5606 req.apiReq = &larkcore.ApiReq{} 5607 req.apiReq.QueryParams = builder.apiReq.QueryParams 5608 req.apiReq.Body = builder.timeoffEvent 5609 return req 5610 } 5611 5612 type CreateTimeoffEventReq struct { 5613 apiReq *larkcore.ApiReq 5614 TimeoffEvent *TimeoffEvent `body:""` 5615 } 5616 5617 type CreateTimeoffEventRespData struct { 5618 TimeoffEventId *string `json:"timeoff_event_id,omitempty"` // 休假申请的唯一标识id 5619 UserId *string `json:"user_id,omitempty"` // 用户的user id 5620 Timezone *string `json:"timezone,omitempty"` // 休假人的时区 5621 StartTime *string `json:"start_time,omitempty"` // 休假开始时间(时间戳)/日期(2021-01-01),为日期时将生成全天日程,且与end_time对应,不符合将返回错误 5622 EndTime *string `json:"end_time,omitempty"` // 休假结束时间(时间戳)/日期(2021-01-01),为日期时将生成全天日程,与start_time对应,不符合将返回错误 5623 Title *string `json:"title,omitempty"` // 休假日程标题,可自定义例如:"请假中(全天) / 1-Day Time Off","请假中(半天) / 0.5-Day Time Off","长期休假中 / Leave of Absence","请假中" 5624 Description *string `json:"description,omitempty"` // 休假日程描述,可自定义,例如:;"若拒绝或删除此日程,飞书中相应的“请假”标签将自动消失,而请假系统中的休假申请不会被撤销。;;If the event is rejected or deleted, corresponding "On Leave" tag in Feishu will disappear, while the leave request in the time off system will not be revoked." 5625 } 5626 5627 type CreateTimeoffEventResp struct { 5628 *larkcore.ApiResp `json:"-"` 5629 larkcore.CodeError 5630 Data *CreateTimeoffEventRespData `json:"data"` // 业务数据 5631 } 5632 5633 func (resp *CreateTimeoffEventResp) Success() bool { 5634 return resp.Code == 0 5635 } 5636 5637 type DeleteTimeoffEventReqBuilder struct { 5638 apiReq *larkcore.ApiReq 5639 } 5640 5641 func NewDeleteTimeoffEventReqBuilder() *DeleteTimeoffEventReqBuilder { 5642 builder := &DeleteTimeoffEventReqBuilder{} 5643 builder.apiReq = &larkcore.ApiReq{ 5644 PathParams: larkcore.PathParams{}, 5645 QueryParams: larkcore.QueryParams{}, 5646 } 5647 return builder 5648 } 5649 5650 // 休假申请的唯一标识id。参见[请假日程ID说明](/ssl:ttdoc/uAjLw4CM/ukTMukTMukTM/reference/calendar-v4/timeoff_event/introduction#b6611a02) 5651 // 5652 // 示例值:timeoff:XXXXXX-XXXX-0917-1623-aa493d591a39 5653 func (builder *DeleteTimeoffEventReqBuilder) TimeoffEventId(timeoffEventId string) *DeleteTimeoffEventReqBuilder { 5654 builder.apiReq.PathParams.Set("timeoff_event_id", fmt.Sprint(timeoffEventId)) 5655 return builder 5656 } 5657 5658 func (builder *DeleteTimeoffEventReqBuilder) Build() *DeleteTimeoffEventReq { 5659 req := &DeleteTimeoffEventReq{} 5660 req.apiReq = &larkcore.ApiReq{} 5661 req.apiReq.PathParams = builder.apiReq.PathParams 5662 return req 5663 } 5664 5665 type DeleteTimeoffEventReq struct { 5666 apiReq *larkcore.ApiReq 5667 } 5668 5669 type DeleteTimeoffEventResp struct { 5670 *larkcore.ApiResp `json:"-"` 5671 larkcore.CodeError 5672 } 5673 5674 func (resp *DeleteTimeoffEventResp) Success() bool { 5675 return resp.Code == 0 5676 } 5677 5678 type P2CalendarChangedV4Data struct { 5679 UserIdList []*UserId `json:"user_id_list,omitempty"` // 需要推送事件的用户列表 5680 } 5681 5682 type P2CalendarChangedV4 struct { 5683 *larkevent.EventV2Base // 事件基础数据 5684 *larkevent.EventReq // 请求原生数据 5685 Event *P2CalendarChangedV4Data `json:"event"` // 事件内容 5686 } 5687 5688 func (m *P2CalendarChangedV4) RawReq(req *larkevent.EventReq) { 5689 m.EventReq = req 5690 } 5691 5692 type P2CalendarAclCreatedV4Data struct { 5693 AclId *string `json:"acl_id,omitempty"` // acl资源ID 5694 Role *string `json:"role,omitempty"` // 对日历的访问权限 5695 Scope *AclScopeEvent `json:"scope,omitempty"` // 权限范围 5696 UserIdList []*UserId `json:"user_id_list,omitempty"` // 需要推送事件的用户列表 5697 } 5698 5699 type P2CalendarAclCreatedV4 struct { 5700 *larkevent.EventV2Base // 事件基础数据 5701 *larkevent.EventReq // 请求原生数据 5702 Event *P2CalendarAclCreatedV4Data `json:"event"` // 事件内容 5703 } 5704 5705 func (m *P2CalendarAclCreatedV4) RawReq(req *larkevent.EventReq) { 5706 m.EventReq = req 5707 } 5708 5709 type P2CalendarAclDeletedV4Data struct { 5710 AclId *string `json:"acl_id,omitempty"` // acl资源ID 5711 Role *string `json:"role,omitempty"` // 对日历的访问权限 5712 Scope *AclScopeEvent `json:"scope,omitempty"` // 权限范围 5713 UserIdList []*UserId `json:"user_id_list,omitempty"` // 需要推送事件的用户列表 5714 } 5715 5716 type P2CalendarAclDeletedV4 struct { 5717 *larkevent.EventV2Base // 事件基础数据 5718 *larkevent.EventReq // 请求原生数据 5719 Event *P2CalendarAclDeletedV4Data `json:"event"` // 事件内容 5720 } 5721 5722 func (m *P2CalendarAclDeletedV4) RawReq(req *larkevent.EventReq) { 5723 m.EventReq = req 5724 } 5725 5726 type P2CalendarEventChangedV4Data struct { 5727 CalendarId *string `json:"calendar_id,omitempty"` // 日历id 5728 UserIdList []*UserId `json:"user_id_list,omitempty"` // 需要推送事件的用户列表 5729 } 5730 5731 type P2CalendarEventChangedV4 struct { 5732 *larkevent.EventV2Base // 事件基础数据 5733 *larkevent.EventReq // 请求原生数据 5734 Event *P2CalendarEventChangedV4Data `json:"event"` // 事件内容 5735 } 5736 5737 func (m *P2CalendarEventChangedV4) RawReq(req *larkevent.EventReq) { 5738 m.EventReq = req 5739 } 5740 5741 type SearchCalendarIterator struct { 5742 nextPageToken *string 5743 items []*Calendar 5744 index int 5745 limit int 5746 ctx context.Context 5747 req *SearchCalendarReq 5748 listFunc func(ctx context.Context, req *SearchCalendarReq, options ...larkcore.RequestOptionFunc) (*SearchCalendarResp, error) 5749 options []larkcore.RequestOptionFunc 5750 curlNum int 5751 } 5752 5753 func (iterator *SearchCalendarIterator) Next() (bool, *Calendar, error) { 5754 // 达到最大量,则返回 5755 if iterator.limit > 0 && iterator.curlNum >= iterator.limit { 5756 return false, nil, nil 5757 } 5758 5759 // 为0则拉取数据 5760 if iterator.index == 0 || iterator.index >= len(iterator.items) { 5761 if iterator.index != 0 && iterator.nextPageToken == nil { 5762 return false, nil, nil 5763 } 5764 if iterator.nextPageToken != nil { 5765 iterator.req.apiReq.QueryParams.Set("page_token", *iterator.nextPageToken) 5766 } 5767 resp, err := iterator.listFunc(iterator.ctx, iterator.req, iterator.options...) 5768 if err != nil { 5769 return false, nil, err 5770 } 5771 5772 if resp.Code != 0 { 5773 return false, nil, errors.New(fmt.Sprintf("Code:%d,Msg:%s", resp.Code, resp.Msg)) 5774 } 5775 5776 if len(resp.Data.Items) == 0 { 5777 return false, nil, nil 5778 } 5779 5780 iterator.nextPageToken = resp.Data.PageToken 5781 iterator.items = resp.Data.Items 5782 iterator.index = 0 5783 } 5784 5785 block := iterator.items[iterator.index] 5786 iterator.index++ 5787 iterator.curlNum++ 5788 return true, block, nil 5789 } 5790 5791 func (iterator *SearchCalendarIterator) NextPageToken() *string { 5792 return iterator.nextPageToken 5793 } 5794 5795 type ListCalendarAclIterator struct { 5796 nextPageToken *string 5797 items []*CalendarAcl 5798 index int 5799 limit int 5800 ctx context.Context 5801 req *ListCalendarAclReq 5802 listFunc func(ctx context.Context, req *ListCalendarAclReq, options ...larkcore.RequestOptionFunc) (*ListCalendarAclResp, error) 5803 options []larkcore.RequestOptionFunc 5804 curlNum int 5805 } 5806 5807 func (iterator *ListCalendarAclIterator) Next() (bool, *CalendarAcl, error) { 5808 // 达到最大量,则返回 5809 if iterator.limit > 0 && iterator.curlNum >= iterator.limit { 5810 return false, nil, nil 5811 } 5812 5813 // 为0则拉取数据 5814 if iterator.index == 0 || iterator.index >= len(iterator.items) { 5815 if iterator.index != 0 && iterator.nextPageToken == nil { 5816 return false, nil, nil 5817 } 5818 if iterator.nextPageToken != nil { 5819 iterator.req.apiReq.QueryParams.Set("page_token", *iterator.nextPageToken) 5820 } 5821 resp, err := iterator.listFunc(iterator.ctx, iterator.req, iterator.options...) 5822 if err != nil { 5823 return false, nil, err 5824 } 5825 5826 if resp.Code != 0 { 5827 return false, nil, errors.New(fmt.Sprintf("Code:%d,Msg:%s", resp.Code, resp.Msg)) 5828 } 5829 5830 if len(resp.Data.Acls) == 0 { 5831 return false, nil, nil 5832 } 5833 5834 iterator.nextPageToken = resp.Data.PageToken 5835 iterator.items = resp.Data.Acls 5836 iterator.index = 0 5837 } 5838 5839 block := iterator.items[iterator.index] 5840 iterator.index++ 5841 iterator.curlNum++ 5842 return true, block, nil 5843 } 5844 5845 func (iterator *ListCalendarAclIterator) NextPageToken() *string { 5846 return iterator.nextPageToken 5847 } 5848 5849 type SearchCalendarEventIterator struct { 5850 nextPageToken *string 5851 items []*CalendarEvent 5852 index int 5853 limit int 5854 ctx context.Context 5855 req *SearchCalendarEventReq 5856 listFunc func(ctx context.Context, req *SearchCalendarEventReq, options ...larkcore.RequestOptionFunc) (*SearchCalendarEventResp, error) 5857 options []larkcore.RequestOptionFunc 5858 curlNum int 5859 } 5860 5861 func (iterator *SearchCalendarEventIterator) Next() (bool, *CalendarEvent, error) { 5862 // 达到最大量,则返回 5863 if iterator.limit > 0 && iterator.curlNum >= iterator.limit { 5864 return false, nil, nil 5865 } 5866 5867 // 为0则拉取数据 5868 if iterator.index == 0 || iterator.index >= len(iterator.items) { 5869 if iterator.index != 0 && iterator.nextPageToken == nil { 5870 return false, nil, nil 5871 } 5872 if iterator.nextPageToken != nil { 5873 iterator.req.apiReq.QueryParams.Set("page_token", *iterator.nextPageToken) 5874 } 5875 resp, err := iterator.listFunc(iterator.ctx, iterator.req, iterator.options...) 5876 if err != nil { 5877 return false, nil, err 5878 } 5879 5880 if resp.Code != 0 { 5881 return false, nil, errors.New(fmt.Sprintf("Code:%d,Msg:%s", resp.Code, resp.Msg)) 5882 } 5883 5884 if len(resp.Data.Items) == 0 { 5885 return false, nil, nil 5886 } 5887 5888 iterator.nextPageToken = resp.Data.PageToken 5889 iterator.items = resp.Data.Items 5890 iterator.index = 0 5891 } 5892 5893 block := iterator.items[iterator.index] 5894 iterator.index++ 5895 iterator.curlNum++ 5896 return true, block, nil 5897 } 5898 5899 func (iterator *SearchCalendarEventIterator) NextPageToken() *string { 5900 return iterator.nextPageToken 5901 } 5902 5903 type ListCalendarEventAttendeeIterator struct { 5904 nextPageToken *string 5905 items []*CalendarEventAttendee 5906 index int 5907 limit int 5908 ctx context.Context 5909 req *ListCalendarEventAttendeeReq 5910 listFunc func(ctx context.Context, req *ListCalendarEventAttendeeReq, options ...larkcore.RequestOptionFunc) (*ListCalendarEventAttendeeResp, error) 5911 options []larkcore.RequestOptionFunc 5912 curlNum int 5913 } 5914 5915 func (iterator *ListCalendarEventAttendeeIterator) Next() (bool, *CalendarEventAttendee, error) { 5916 // 达到最大量,则返回 5917 if iterator.limit > 0 && iterator.curlNum >= iterator.limit { 5918 return false, nil, nil 5919 } 5920 5921 // 为0则拉取数据 5922 if iterator.index == 0 || iterator.index >= len(iterator.items) { 5923 if iterator.index != 0 && iterator.nextPageToken == nil { 5924 return false, nil, nil 5925 } 5926 if iterator.nextPageToken != nil { 5927 iterator.req.apiReq.QueryParams.Set("page_token", *iterator.nextPageToken) 5928 } 5929 resp, err := iterator.listFunc(iterator.ctx, iterator.req, iterator.options...) 5930 if err != nil { 5931 return false, nil, err 5932 } 5933 5934 if resp.Code != 0 { 5935 return false, nil, errors.New(fmt.Sprintf("Code:%d,Msg:%s", resp.Code, resp.Msg)) 5936 } 5937 5938 if len(resp.Data.Items) == 0 { 5939 return false, nil, nil 5940 } 5941 5942 iterator.nextPageToken = resp.Data.PageToken 5943 iterator.items = resp.Data.Items 5944 iterator.index = 0 5945 } 5946 5947 block := iterator.items[iterator.index] 5948 iterator.index++ 5949 iterator.curlNum++ 5950 return true, block, nil 5951 } 5952 5953 func (iterator *ListCalendarEventAttendeeIterator) NextPageToken() *string { 5954 return iterator.nextPageToken 5955 } 5956 5957 type ListCalendarEventAttendeeChatMemberIterator struct { 5958 nextPageToken *string 5959 items []*CalendarEventAttendeeChatMember 5960 index int 5961 limit int 5962 ctx context.Context 5963 req *ListCalendarEventAttendeeChatMemberReq 5964 listFunc func(ctx context.Context, req *ListCalendarEventAttendeeChatMemberReq, options ...larkcore.RequestOptionFunc) (*ListCalendarEventAttendeeChatMemberResp, error) 5965 options []larkcore.RequestOptionFunc 5966 curlNum int 5967 } 5968 5969 func (iterator *ListCalendarEventAttendeeChatMemberIterator) Next() (bool, *CalendarEventAttendeeChatMember, error) { 5970 // 达到最大量,则返回 5971 if iterator.limit > 0 && iterator.curlNum >= iterator.limit { 5972 return false, nil, nil 5973 } 5974 5975 // 为0则拉取数据 5976 if iterator.index == 0 || iterator.index >= len(iterator.items) { 5977 if iterator.index != 0 && iterator.nextPageToken == nil { 5978 return false, nil, nil 5979 } 5980 if iterator.nextPageToken != nil { 5981 iterator.req.apiReq.QueryParams.Set("page_token", *iterator.nextPageToken) 5982 } 5983 resp, err := iterator.listFunc(iterator.ctx, iterator.req, iterator.options...) 5984 if err != nil { 5985 return false, nil, err 5986 } 5987 5988 if resp.Code != 0 { 5989 return false, nil, errors.New(fmt.Sprintf("Code:%d,Msg:%s", resp.Code, resp.Msg)) 5990 } 5991 5992 if len(resp.Data.Items) == 0 { 5993 return false, nil, nil 5994 } 5995 5996 iterator.nextPageToken = resp.Data.PageToken 5997 iterator.items = resp.Data.Items 5998 iterator.index = 0 5999 } 6000 6001 block := iterator.items[iterator.index] 6002 iterator.index++ 6003 iterator.curlNum++ 6004 return true, block, nil 6005 } 6006 6007 func (iterator *ListCalendarEventAttendeeChatMemberIterator) NextPageToken() *string { 6008 return iterator.nextPageToken 6009 }