mirror of
https://github.com/larksuite/cli.git
synced 2026-07-03 14:02:43 +08:00
37 lines
1.2 KiB
Go
37 lines
1.2 KiB
Go
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package base
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/larksuite/cli/shortcuts/common"
|
|
)
|
|
|
|
var BaseBaseCopy = common.Shortcut{
|
|
Service: "base",
|
|
Command: "+base-copy",
|
|
Description: "Copy a base resource",
|
|
Risk: "write",
|
|
UserScopes: []string{"base:app:copy"},
|
|
BotScopes: []string{"base:app:copy", "docs:permission.member:create"},
|
|
AuthTypes: authTypes(),
|
|
Flags: []common.Flag{
|
|
baseTokenFlag(true),
|
|
{Name: "name", Desc: "new base name"},
|
|
{Name: "folder-token", Desc: "folder token for destination"},
|
|
{Name: "without-content", Type: "bool", Desc: "copy structure only"},
|
|
{Name: "time-zone", Desc: "time zone, e.g. Asia/Shanghai"},
|
|
},
|
|
Tips: []string{
|
|
`Example: lark-cli base +base-copy --base-token <base_token> --name "Copy of Project Tracker"`,
|
|
"Use --without-content when the user wants only structure.",
|
|
"If copied as bot, output may include permission_grant; report it so the user knows whether they can open the new Base.",
|
|
},
|
|
DryRun: dryRunBaseCopy,
|
|
Execute: func(ctx context.Context, runtime *common.RuntimeContext) error {
|
|
return executeBaseCopy(runtime)
|
|
},
|
|
}
|