mirror of
https://github.com/larksuite/cli.git
synced 2026-07-06 00:06:28 +08:00
Failures from the minutes and video-conference commands now surface as structured, typed errors carrying a stable category and subtype — spanning input validation, missing permissions, network and file-I/O failures, and remote API errors — so callers can branch on the error kind instead of parsing free-form text. Batch commands report partial failures explicitly, emitting per-item results with a non-zero exit instead of masking them.
20 lines
899 B
Go
20 lines
899 B
Go
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package errclass
|
|
|
|
import "github.com/larksuite/cli/errs"
|
|
|
|
// vcCodeMeta holds vc-service Lark code → CodeMeta mappings.
|
|
// Only codes whose meaning is verifiable from repo evidence are registered;
|
|
// ambiguous codes (e.g. 124002 "recording still generating", which has no
|
|
// precise taxonomy fit) fall back to CategoryAPI via BuildAPIError and rely on
|
|
// per-command enrichment for a retry hint.
|
|
// BuildAPIError consumes this map via mergeCodeMeta + LookupCodeMeta.
|
|
var vcCodeMeta = map[int]CodeMeta{
|
|
121004: {Category: errs.CategoryAPI, Subtype: errs.SubtypeNotFound}, // meeting has no minute file
|
|
121005: {Category: errs.CategoryAuthorization, Subtype: errs.SubtypePermissionDenied}, // caller is not a participant / lacks view permission
|
|
}
|
|
|
|
func init() { mergeCodeMeta(vcCodeMeta, "vc") }
|