mirror of
https://github.com/larksuite/cli.git
synced 2026-07-04 06:29:52 +08:00
* refactor(keychain): improve error handling and consistency across platforms - Change platformGet to return error instead of empty string - Add proper error wrapping for keychain operations - Make master key creation conditional in getMasterKey - Improve error messages and handling for keychain access - Update dependent code to handle new error returns * docs(keychain): improve function documentation and error message Add detailed doc comments for all platform-specific keychain functions to clarify their purpose and behavior. Also enhance the error hint message to include a suggestion for reconfiguring the CLI when keychain access fails. * refactor(keychain): reorder operations in platformGet for better error handling Check for file existence before attempting to read and get master key * fix(keychain): improve error handling and consistency across platforms. * fix(keychain): handle corrupted master key case * fix(keychain): handle I/O errors when reading master key
26 lines
694 B
Go
26 lines
694 B
Go
// Copyright (c) 2026 Lark Technologies Pte. Ltd.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package keychain
|
|
|
|
// defaultKeychain is the default implementation of KeychainAccess
|
|
// that uses the package-level functions.
|
|
type defaultKeychain struct{}
|
|
|
|
func (d *defaultKeychain) Get(service, account string) (string, error) {
|
|
return Get(service, account)
|
|
}
|
|
|
|
func (d *defaultKeychain) Set(service, account, value string) error {
|
|
return Set(service, account, value)
|
|
}
|
|
|
|
func (d *defaultKeychain) Remove(service, account string) error {
|
|
return Remove(service, account)
|
|
}
|
|
|
|
// Default returns a KeychainAccess backed by the real platform keychain.
|
|
func Default() KeychainAccess {
|
|
return &defaultKeychain{}
|
|
}
|