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
39 lines
1.2 KiB
Go
39 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 BaseViewSetSort = common.Shortcut{
|
|
Service: "base",
|
|
Command: "+view-set-sort",
|
|
Description: "Set view sort configuration",
|
|
Risk: "write",
|
|
Scopes: []string{"base:view:write_only"},
|
|
AuthTypes: authTypes(),
|
|
Flags: []common.Flag{
|
|
baseTokenFlag(true),
|
|
tableRefFlag(true),
|
|
viewRefFlag(true),
|
|
{Name: "json", Desc: `sort_config JSON object, e.g. {"sort_config":[{"field":"Priority","desc":true}]}; use {"sort_config":[]} to clear; max 10 items`, Required: true},
|
|
},
|
|
Tips: []string{
|
|
"Supported view types: grid, kanban, gallery, gantt.",
|
|
"Use a JSON object, not a bare array; sorting fields must be supported by the current view.",
|
|
"sort_config supports max 10 sort items.",
|
|
"Use +view-get-sort first when modifying an existing sort configuration.",
|
|
},
|
|
Validate: func(ctx context.Context, runtime *common.RuntimeContext) error {
|
|
return validateViewJSONObject(runtime)
|
|
},
|
|
DryRun: dryRunViewSetSort,
|
|
Execute: func(ctx context.Context, runtime *common.RuntimeContext) error {
|
|
return executeViewSetWrapped(runtime, "sort", "sort_config", "sort")
|
|
},
|
|
}
|