config

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 3, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const AppName = "frontcli"
View Source
const DefaultClientName = "default"

Variables

This section is empty.

Functions

func AttachmentsDir

func AttachmentsDir() (string, error)

func ClientCredentialsExists

func ClientCredentialsExists(client string) (bool, error)

ClientCredentialsExists checks if credentials exist for a client.

func ClientCredentialsPath

func ClientCredentialsPath(client string) (string, error)

ClientCredentialsPath returns the path to credentials for a client.

func ClientsDir

func ClientsDir() (string, error)

func ConfigExists

func ConfigExists() (bool, error)

func ConfigPath

func ConfigPath() (string, error)

func DeleteAccountAlias

func DeleteAccountAlias(alias string) (bool, error)

DeleteAccountAlias removes an alias.

func DeleteClientCredentials

func DeleteClientCredentials(client string) error

DeleteClientCredentials removes OAuth credentials for a client.

func Dir

func Dir() (string, error)

func DomainFromEmail

func DomainFromEmail(email string) string

DomainFromEmail extracts the domain from an email address.

func EnsureAttachmentsDir

func EnsureAttachmentsDir() (string, error)

func EnsureClientsDir

func EnsureClientsDir() (string, error)

func EnsureDir

func EnsureDir() (string, error)

func EnsureKeyringDir

func EnsureKeyringDir() (string, error)

func ExpandPath

func ExpandPath(path string) (string, error)

ExpandPath expands ~ at the beginning of a path to the user's home directory.

func KeyringDir

func KeyringDir() (string, error)

func ListAccountAliases

func ListAccountAliases() (map[string]string, error)

ListAccountAliases returns all configured aliases.

func NormalizeAccountAlias

func NormalizeAccountAlias(alias string) string

NormalizeAccountAlias normalizes an account alias to lowercase.

func NormalizeClientName

func NormalizeClientName(raw string) (string, error)

NormalizeClientName validates and normalizes a client name.

func NormalizeClientNameOrDefault

func NormalizeClientNameOrDefault(raw string) (string, error)

NormalizeClientNameOrDefault normalizes a client name, defaulting to "default" if empty.

func NormalizeDomain

func NormalizeDomain(raw string) (string, error)

NormalizeDomain validates and normalizes a domain name.

func ResolveAccount

func ResolveAccount(flagAccount string) (string, error)

ResolveAccount resolves the account email from flags, env, or config. Resolution order: flag → env (FRONT_ACCOUNT) → config default → error

func ResolveClientForAccount

func ResolveClientForAccount(email, override string) (string, error)

ResolveClientForAccount resolves the OAuth client for an account. Resolution order: explicit override → domain mapping → default

func SetAccountAlias

func SetAccountAlias(alias, email string) error

SetAccountAlias sets an alias for an account email.

func SetAccountDomain

func SetAccountDomain(domain, client string) error

SetAccountDomain maps a domain to an OAuth client.

func SetDefaultAccount

func SetDefaultAccount(account string) error

SetDefaultAccount sets the default account.

func WriteClientCredentials

func WriteClientCredentials(client string, creds OAuthCredentials) error

WriteClientCredentials writes OAuth credentials for a client.

func WriteConfig

func WriteConfig(cfg File) error

Types

type ClientInfo

type ClientInfo struct {
	Name    string `json:"name"`
	Path    string `json:"path"`
	Default bool   `json:"default"`
}

ClientInfo holds information about a configured OAuth client.

func ListClients

func ListClients() ([]ClientInfo, error)

ListClients returns all configured OAuth clients.

type File

type File struct {
	DefaultAccount string            `yaml:"default_account,omitempty"`
	AccountAliases map[string]string `yaml:"account_aliases,omitempty"`
	AccountDomains map[string]string `yaml:"account_domains,omitempty"`
	DefaultOutput  string            `yaml:"default_output,omitempty"`
	Timezone       string            `yaml:"timezone,omitempty"`
}

func ReadConfig

func ReadConfig() (File, error)

type OAuthCredentials

type OAuthCredentials struct {
	ClientID     string `json:"client_id"`
	ClientSecret string `json:"client_secret"`
	RedirectURI  string `json:"redirect_uri,omitempty"`
}

OAuthCredentials holds OAuth client credentials for the Front API.

func ReadClientCredentials

func ReadClientCredentials(client string) (OAuthCredentials, error)

ReadClientCredentials reads OAuth credentials for a client.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL