Top100
Your Personal Movie List (C++17 CLI + library)
Loading...
Searching...
No Matches
AppConfig Struct Reference

Persistent application configuration stored in a single JSON file. More...

#include <config.h>

Public Attributes

std::string dataFile
 Absolute path to your movie data JSON.
 
bool omdbEnabled = false
 Whether OMDb features are enabled in the UI.
 
std::string omdbApiKey
 OMDb API key (empty if not configured)
 
bool blueSkyEnabled = false
 Whether BlueSky posting is enabled.
 
std::string blueSkyIdentifier
 Handle or email used to login.
 
std::string blueSkyAppPassword
 App password (keep private)
 
std::string blueSkyService
 Service base URL (default https://bsky.social)
 
std::string postHeaderText
 Header shown at top of social posts (may be empty)
 
std::string postFooterText
 Footer shown at bottom of social posts (may be empty)
 
bool mastodonEnabled = false
 Whether Mastodon posting is enabled.
 
std::string mastodonInstance
 Instance base URL (e.g., https://mastodon.social)
 
std::string mastodonAccessToken
 User access token (keep private)
 
int uiSortOrder = 0
 Persisted sort order (matches SortOrder enum values)
 

Detailed Description

Persistent application configuration stored in a single JSON file.

Location selection:

  • If environment variable TOP100_CONFIG_PATH is set, that path is used.
  • Otherwise, default path is ~/.top100_config.json.

Field defaults (on first run):

  • dataFile: "$HOME/top100/top100.json" (directories created automatically)
  • omdbEnabled: false; omdbApiKey: ""
  • blueSkyEnabled: false; blueSkyService: "https://bsky.social"
  • mastodonEnabled: false; mastodonInstance: "https://mastodon.social"
  • postHeaderText: "I’d like to share one of my top 100 #movies!"
  • postFooterText: "Posted with Top 100!"

Notes:

  • Exactly one config file is active per run (no merging).
  • Sensitive fields (e.g., tokens/passwords) are stored locally; do not commit.

The documentation for this struct was generated from the following file: