Houshan-Basa/lib/ui/screens/main/assistant/bloc/create_assistant_bloc.dart

34 lines
1.1 KiB
Dart

import 'package:bloc/bloc.dart';
import 'package:dio/dio.dart';
import 'package:equatable/equatable.dart';
import 'package:flutter/foundation.dart';
import 'package:hoshan/data/model/create_assistant_request_model.dart';
import 'package:hoshan/data/repository/bot_repository.dart';
part 'create_assistant_event.dart';
part 'create_assistant_state.dart';
class CreateAssistantBloc
extends Bloc<CreateAssistantEvent, CreateAssistantState> {
CreateAssistantBloc() : super(CreateAssistantInitial()) {
on<CreateAssistantEvent>((event, emit) async {
if (event is CreateAnAssistant) {
emit(CreateAssistantLoading());
try {
if (event.id != null) {
await BotRepository.editBot(id: event.id!, model: event.model);
} else {
await BotRepository.createBot(model: event.model);
}
emit(CreateAssistantSuccess(isEdit: event.id != null));
} on DioException catch (e) {
emit(const CreateAssistantFail());
if (kDebugMode) {
print('Dio Error is: $e');
}
}
}
});
}
}