Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var WikiMove = common.Shortcut{ Service: "wiki", Command: "+move", Description: "Move a wiki node, or move a Drive document into Wiki", Risk: "write", Scopes: []string{"wiki:node:move", "wiki:node:read", "wiki:space:read"}, AuthTypes: []string{"user", "bot"}, Flags: []common.Flag{ {Name: "node-token", Desc: "wiki node token to move inside Wiki"}, {Name: "source-space-id", Desc: "source wiki space ID for --node-token; if omitted, it is resolved from the node token"}, {Name: "target-space-id", Desc: "target wiki space ID; required for docs-to-wiki, optional for node move when --target-parent-token is set"}, {Name: "target-parent-token", Desc: "target parent wiki node token; if omitted for docs-to-wiki, the document is moved to the target space root"}, {Name: "obj-type", Desc: "Drive document type for docs-to-wiki mode", Enum: wikiMoveObjectTypes}, {Name: "obj-token", Desc: "Drive document token for docs-to-wiki mode"}, {Name: "apply", Type: "bool", Desc: "submit a move request when the caller lacks permission to move the document immediately"}, }, Tips: []string{ "Use --node-token to move an existing wiki node inside or across wiki spaces.", "Use --obj-type and --obj-token to move a Drive document into Wiki.", "If docs-to-wiki returns a long-running task, this command polls for a bounded window and then prints a follow-up drive +task_result command.", }, Validate: func(ctx context.Context, runtime *common.RuntimeContext) error { spec := readWikiMoveSpec(runtime) if runtime.As().IsBot() && spec.TargetSpaceID == wikiMyLibrarySpaceID { return output.ErrValidation("--target-space-id my_library is a per-user personal library alias and cannot be used with --as bot; resolve it to a real space_id first via `lark-cli wiki spaces get --params '{\"space_id\":\"my_library\"}' --as user`") } return validateWikiMoveSpec(spec) }, DryRun: func(ctx context.Context, runtime *common.RuntimeContext) *common.DryRunAPI { return buildWikiMoveDryRun(readWikiMoveSpec(runtime)) }, Execute: func(ctx context.Context, runtime *common.RuntimeContext) error { spec := readWikiMoveSpec(runtime) fmt.Fprintf(runtime.IO().ErrOut, "Running wiki move (%s)...\n", spec.Mode()) out, err := runWikiMove(ctx, wikiMoveAPI{runtime: runtime}, runtime, spec) if err != nil { return err } runtime.Out(out, nil) return nil }, }
WikiMove moves an existing wiki node inside Wiki or migrates a Drive document into Wiki with bounded polling for async task completion.
View Source
var WikiNodeCreate = common.Shortcut{ Service: "wiki", Command: "+node-create", Description: "Create a wiki node with automatic space resolution", Risk: "write", Scopes: []string{"wiki:node:create", "wiki:node:read", "wiki:space:read"}, AuthTypes: []string{"user", "bot"}, Flags: []common.Flag{ {Name: "space-id", Desc: "target wiki space ID; use my_library for the personal document library"}, {Name: "parent-node-token", Desc: "parent wiki node token; if set, the new node is created under that parent"}, {Name: "title", Desc: "node title"}, {Name: "node-type", Default: wikiNodeTypeOrigin, Desc: "node type", Enum: []string{wikiNodeTypeOrigin, wikiNodeTypeShortcut}}, {Name: "obj-type", Default: "docx", Desc: "target object type", Enum: wikiObjectTypes}, {Name: "origin-node-token", Desc: "source node token when --node-type=shortcut"}, }, Tips: []string{ "If --space-id and --parent-node-token are both omitted, user identity falls back to my_library.", "Use --node-type shortcut --origin-node-token <token> to create a shortcut node.", }, Validate: func(ctx context.Context, runtime *common.RuntimeContext) error { return validateWikiNodeCreateSpec(readWikiNodeCreateSpec(runtime), runtime.As()) }, DryRun: func(ctx context.Context, runtime *common.RuntimeContext) *common.DryRunAPI { return buildWikiNodeCreateDryRun(readWikiNodeCreateSpec(runtime)) }, Execute: func(ctx context.Context, runtime *common.RuntimeContext) error { spec := readWikiNodeCreateSpec(runtime) fmt.Fprintf(runtime.IO().ErrOut, "Creating wiki node...\n") execution, err := runWikiNodeCreate(ctx, wikiNodeCreateAPI{runtime: runtime}, runtime.As(), spec) if err != nil { return err } fmt.Fprintf(runtime.IO().ErrOut, "Created wiki node in space %s via %s.\n", execution.ResolvedSpace.SpaceID, execution.ResolvedSpace.ResolvedBy) runtime.Out(wikiNodeCreateOutput(execution), nil) return nil }, }
WikiNodeCreate wraps wiki node creation with shortcut-specific ergonomics: it can infer the target space from the parent node or the caller's personal document library instead of forcing users to pass a numeric space ID first.
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.