// Copyright (C) 2022 WYATT GROUP
// Please see the AUTHORS file for details.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.



// class Stream<Model extends ObjectModel> extends UseCase<StreamParameters, List<Model?>> {
//   final CrudRepository<Model> _crudRepository;

//   Stream(this._crudRepository);

//   @override
//   StreamResult<List<Model?>> call(StreamParameters params) =>
//       _crudRepository.stream(id: params.id, conditions: params.conditions);
// }

// class StreamQuery<Model extends ObjectModel>
//     extends StreamUseCase<StreamParameters, List<Model?>> {
//   final CrudRepository<Model> _crudRepository;

//   StreamQuery(this._crudRepository);

//   @override
//   FutureOr<void> onStart(StreamParameters? params) {
//     if(params == null){
//       throw ClientException('Stream parameters cannot be null.');
//     }
//   }
  
//   @override
//   FutureOrResult<Stream<List<Model?>>> call(StreamParameters? params) => _crudRepository.stream();
// }
