bf9395e022
CI / license-header (push) Has been skipped
CI / e2e-dry-run (push) Has been skipped
CI / fast-gate (push) Failing after 0s
Test PR Label Logic / test-pr-labels (push) Failing after 1s
Skill Format Check / check-format (push) Failing after 2s
CI / security (push) Failing after 5s
CI / unit-test (push) Has been skipped
CI / lint (push) Has been skipped
CI / script-test (push) Has been skipped
CI / deterministic-gate (push) Has been skipped
CI / coverage (push) Has been skipped
CI / results (push) Has been cancelled
CI / deadcode (push) Has been cancelled
CI / e2e-live (push) Has been cancelled
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)
|
|
},
|
|
}
|