part of 'category_loader_bloc.dart';

@freezed
class CategoryLoaderEvent with _$CategoryLoaderEvent {
  const factory CategoryLoaderEvent.getCategories({
    @Default(true) bool isActive,
    String? search,
    @Default(false) bool forceRemote,
  }) = _GetCategories;

  const factory CategoryLoaderEvent.loadMore() = _LoadMore;

  const factory CategoryLoaderEvent.refresh() = _Refresh;

  const factory CategoryLoaderEvent.search({
    required String query,
    @Default(true) bool isActive,
  }) = _Search;

  const factory CategoryLoaderEvent.syncAll() = _SyncAll;

  const factory CategoryLoaderEvent.getAllCategories() = _GetAllCategories;

  const factory CategoryLoaderEvent.getDatabaseStats() = _GetDatabaseStats;

  const factory CategoryLoaderEvent.clearCache() = _ClearCache;
}
