import 'package:pshared/api/responses/ledger/accounts.dart'; import 'package:pshared/api/responses/ledger/balance.dart'; import 'package:pshared/data/mapper/ledger/account.dart'; import 'package:pshared/data/mapper/ledger/balance.dart'; import 'package:pshared/models/ledger/account.dart'; import 'package:pshared/models/ledger/balance.dart'; import 'package:pshared/service/authorization/service.dart'; import 'package:pshared/service/services.dart'; class LedgerService { static const String _objectType = Services.ledger; Future> list(String organizationRef) async { final json = await AuthorizationService.getGETResponse( _objectType, '/$organizationRef', ); return LedgerAccountsResponse.fromJson(json).accounts.map((la) => la.toDomain()).toList(); } Future getBalance({ required String organizationRef, required String ledgerAccountRef, }) async { final json = await AuthorizationService.getGETResponse( _objectType, '/$organizationRef/$ledgerAccountRef/balance', ); return LedgerBalanceResponse.fromJson(json).balance.toDomain(); } }