initialize method

Future<void> initialize()

Initializes the cache manager

Implementation

Future<void> initialize() async {
  if (_isInitialized) return;

  try {
    // Initialize the disk cache directory
    if (diskCacheDirectory != null) {
      _diskCacheDir = Directory(diskCacheDirectory!);
    } else {
      final appDir = await getApplicationDocumentsDirectory();
      _diskCacheDir = Directory(path.join(appDir.path, 'cache'));
    }

    // Create the directory if it doesn't exist
    if (!await _diskCacheDir.exists()) {
      await _diskCacheDir.create(recursive: true);
    }

    // Clean up expired cache entries
    await _cleanupExpiredEntries();

    _isInitialized = true;
    logger?.info('Cache manager initialized');
  } catch (e) {
    logger?.error('Error initializing cache manager: $e');
    rethrow;
  }
}