diff --git a/lib/ponto.rb b/lib/ponto.rb index c0428e4..22cbe20 100644 --- a/lib/ponto.rb +++ b/lib/ponto.rb @@ -13,6 +13,7 @@ require_relative "ponto/api/base_resource" require_relative "ponto/api/o_auth_resource" require_relative "ponto/api/account" +require_relative "ponto/api/pending_transaction" require_relative "ponto/api/transaction" require_relative "ponto/api/financial_institution" require_relative "ponto/api/payment" diff --git a/lib/ponto/api/pending_transaction.rb b/lib/ponto/api/pending_transaction.rb new file mode 100644 index 0000000..8000563 --- /dev/null +++ b/lib/ponto/api/pending_transaction.rb @@ -0,0 +1,23 @@ +module Ponto + class PendingTransaction < Ponto::BaseResource + def self.list(account_id: nil, synchronization_id: nil, access_token: nil, headers: nil, **query_params) + uri = if synchronization_id + Ponto.api_schema["synchronization"]["updatedPendingTransactions"] + .sub("{synchronizationId}", synchronization_id) + .sub("{pendingTransactionId}", "") + else + Ponto.api_schema["account"]["pendingTransactions"] + .sub("{accountId}", account_id) + .sub("{pendingTransactionId}", "") + end + list_by_uri(uri: uri, query_params: query_params, headers: headers, access_token: access_token) + end + + def self.find(id:, access_token: nil, account_id:) + uri = Ponto.api_schema["account"]["pendingTransactions"] + .sub("{accountId}", account_id) + .sub("{pendingTransactionId}", id) + find_by_uri(uri: uri, access_token: access_token) + end + end +end