import 'package:dio/dio.dart'; import '../core/api_client.dart'; import '../models/bank_account_model.dart'; class BankAccountService { final ApiClient _client; BankAccountService({ApiClient? client}) : _client = client ?? ApiClient(); Future> list({required int businessId, required Map queryInfo}) async { final res = await _client.post>( '/api/v1/bank-accounts/businesses/$businessId/bank-accounts', data: queryInfo, ); return (res.data ?? {}); } Future create({required int businessId, required Map payload}) async { final res = await _client.post>( '/api/v1/bank-accounts/businesses/$businessId/bank-accounts/create', data: payload, ); final data = (res.data?['data'] as Map? ?? {}); return BankAccount.fromJson(data); } Future getById(int id) async { final res = await _client.get>('/api/v1/bank-accounts/bank-accounts/$id'); final data = (res.data?['data'] as Map? ?? {}); return BankAccount.fromJson(data); } Future update({required int id, required Map payload}) async { final res = await _client.put>('/api/v1/bank-accounts/bank-accounts/$id', data: payload); final data = (res.data?['data'] as Map? ?? {}); return BankAccount.fromJson(data); } Future delete(int id) async { await _client.delete>('/api/v1/bank-accounts/bank-accounts/$id'); } Future>> exportExcel({required int businessId, required Map body}) async { return _client.post>( '/api/v1/bank-accounts/businesses/$businessId/bank-accounts/export/excel', data: body, responseType: ResponseType.bytes, ); } Future>> exportPdf({required int businessId, required Map body}) async { return _client.post>( '/api/v1/bank-accounts/businesses/$businessId/bank-accounts/export/pdf', data: body, responseType: ResponseType.bytes, ); } }