2025-08-03 23:53:06 +07:00
|
|
|
import 'package:enaklo_pos/data/datasources/table_remote_datasource.dart';
|
2025-07-30 22:38:44 +07:00
|
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
|
|
|
import 'package:enaklo_pos/data/models/response/table_model.dart';
|
|
|
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
|
|
|
|
|
|
part 'get_table_event.dart';
|
|
|
|
|
part 'get_table_state.dart';
|
|
|
|
|
part 'get_table_bloc.freezed.dart';
|
|
|
|
|
|
|
|
|
|
class GetTableBloc extends Bloc<GetTableEvent, GetTableState> {
|
2025-08-03 23:53:06 +07:00
|
|
|
final TableRemoteDataSource _tableRemoteDataSource;
|
|
|
|
|
GetTableBloc(this._tableRemoteDataSource) : super(GetTableState.initial()) {
|
2025-07-30 22:38:44 +07:00
|
|
|
on<_GetTables>((event, emit) async {
|
|
|
|
|
emit(_Loading());
|
2025-08-03 23:53:06 +07:00
|
|
|
final tables = await _tableRemoteDataSource.getTable();
|
|
|
|
|
tables.fold(
|
|
|
|
|
(l) => emit(_Error(l)),
|
|
|
|
|
(r) => emit(
|
|
|
|
|
_Success(r.data!.tables!),
|
|
|
|
|
),
|
|
|
|
|
);
|
2025-07-30 22:38:44 +07:00
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|