88 lines
3.4 KiB
Go
88 lines
3.4 KiB
Go
package helpers
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/executor"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
type openCompatHandler struct {
|
|
name string
|
|
buildFn func() *cobra.Command
|
|
}
|
|
|
|
func (h openCompatHandler) Name() string { return h.name }
|
|
|
|
func (h openCompatHandler) Command(_ executor.Runner) *cobra.Command {
|
|
return h.buildFn()
|
|
}
|
|
|
|
func init() {
|
|
RegisterPublic(func() Handler {
|
|
return openCompatHandler{name: "conference", buildFn: newConferenceCommand}
|
|
})
|
|
}
|
|
|
|
func newConferenceCommand() *cobra.Command {
|
|
runUnavailable := func(cmd *cobra.Command, args []string) error {
|
|
return fmt.Errorf("conference 视频会议能力当前不可用:该产品已从开源 CLI 下线\n hint: 直接发起/邀请/会中控制请在钉钉客户端操作;如需预约日程,请改用 dws calendar event create")
|
|
}
|
|
|
|
root := &cobra.Command{
|
|
Use: "conference",
|
|
Short: "视频会议",
|
|
Hidden: true,
|
|
Long: `视频会议产品已从当前开源 CLI 下线。
|
|
|
|
该命令路径仅作为旧版本兼容入口保留,不再调用后端工具。
|
|
直接发起会议、邀请入会、会中控制请在钉钉客户端操作;如需预约日程,请改用 dws calendar event create。`,
|
|
RunE: runUnavailable,
|
|
}
|
|
|
|
meetingCmd := &cobra.Command{Use: "meeting", Short: "会议管理(已下线)", RunE: groupRunE}
|
|
|
|
meetingCreateCmd := &cobra.Command{
|
|
Use: "reserve",
|
|
Aliases: []string{"create"},
|
|
Short: "预约会议(已下线)",
|
|
Long: `视频会议预约能力已下线;如需预约日程,请改用 dws calendar event create。`,
|
|
Example: ` dws conference meeting reserve --title "产品评审会" \
|
|
--start 2026-03-11T14:00:00+08:00 --end 2026-03-11T15:00:00+08:00`,
|
|
RunE: runUnavailable,
|
|
}
|
|
|
|
meetingCreateCmd.Flags().String("title", "", "会议标题 (必填)")
|
|
meetingCreateCmd.Flags().String("start", "", "开始时间 ISO-8601 格式,如 2026-03-11T14:00:00+08:00 (必填)")
|
|
meetingCreateCmd.Flags().String("end", "", "结束时间 ISO-8601 格式,如 2026-03-11T15:00:00+08:00 (必填)")
|
|
meetingCmd.AddCommand(meetingCreateCmd)
|
|
root.AddCommand(meetingCmd)
|
|
|
|
// member 子命令组 — 成员管理
|
|
memberCmd := &cobra.Command{Use: "member", Short: "成员管理(已下线)", RunE: groupRunE}
|
|
|
|
memberInviteCmd := &cobra.Command{
|
|
Use: "invite",
|
|
Short: "邀请指定人入会(已下线)",
|
|
Long: `视频会议邀请入会能力已下线;请在钉钉客户端操作。`,
|
|
Example: ` dws conference member invite --conference-id "xxx" \
|
|
--nicks "张三,李四" --open-dingtalk-ids "id1,id2"`,
|
|
RunE: runUnavailable,
|
|
}
|
|
memberInviteCmd.Flags().String("conference-id", "", "会议ID (必填)")
|
|
memberInviteCmd.Flags().String("meeting-id", "", "会议ID别名")
|
|
memberInviteCmd.Flags().String("nicks", "", "被邀请人昵称,逗号分隔 (必填)")
|
|
memberInviteCmd.Flags().String("nick", "", "被邀请人昵称别名")
|
|
memberInviteCmd.Flags().String("nicknames", "", "被邀请人昵称别名")
|
|
memberInviteCmd.Flags().String("open-dingtalk-ids", "", "被邀请人 openDingTalkId,逗号分隔,通过 contact/aisearch 获取 (必填)")
|
|
memberInviteCmd.Flags().String("ids", "", "openDingTalkId 别名")
|
|
memberInviteCmd.Flags().MarkHidden("meeting-id")
|
|
memberInviteCmd.Flags().MarkHidden("nick")
|
|
memberInviteCmd.Flags().MarkHidden("nicknames")
|
|
memberInviteCmd.Flags().MarkHidden("ids")
|
|
memberCmd.AddCommand(memberInviteCmd)
|
|
root.AddCommand(memberCmd)
|
|
|
|
return root
|
|
}
|