ConfigService constructor

ConfigService({
  1. required String configPath,
  2. ConfigStorage? storage,
})

Implementation

ConfigService({required String configPath, ConfigStorage? storage}) {
  configDir = configPath;
  credentialsFile = p.join(configDir, 'credentials.json');
  batchStateDir = p.join(configDir, 'batch_states');
  webdavPidFile = p.join(configDir, 'webdav.pid');

  _encryptCredentials = storage == null;
  _storage = storage ?? FileConfigStorage(credentialsFile: credentialsFile);

  try {
    Directory(configDir).createSync(recursive: true);
    Directory(batchStateDir).createSync(recursive: true);
  } catch (e) {
    print("⚠️ Warning: Could not create config directory: $e");
  }
  if (_encryptCredentials) _restrictPerms(configDir, '700');
}