import 'package:comwell_key_app/authentication/authentication_repository.dart';
import 'package:comwell_key_app/domain/models/app_error.dart';
import 'package:comwell_key_app/presentation/base/base_cubit.dart';
import 'package:comwell_key_app/presentation/screens/concierge/bloc/concierge_state.dart';

class ConciergeCubit extends BaseCubit<ConciergeState> {
  final AuthenticationRepository _authenticationRepository;
  ConciergeCubit(
    this._authenticationRepository,
  ) : super(const ConciergeState()) {
    init();
  }

  Future<void> init() async {
    try {
      safeEmit(state.copyWith(isLoading: true));
      final userToken = await _authenticationRepository.getAccessToken();
      safeEmit(state.copyWith(userToken: userToken, error: AppError.none));
    } catch (e, st) {
      logError(e, st);
      safeEmit(state.copyWith(error: AppError.unknown(e.toString())));
    } finally {
      safeEmit(state.copyWith(isLoading: false));
    }
  }
}