Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

T820 list transactions #8

Merged
merged 9 commits into from Feb 27, 2018
Merged

T820 list transactions #8

merged 9 commits into from Feb 27, 2018

Conversation

mederic-p
Copy link
Contributor

@mederic-p mederic-p commented Feb 23, 2018

Get the user's transactions:

This PR adds the ability to list the user's transactions:

In order to get this list you will need to create a TransactionListParams object:

let params = TransactionListParams(paginationParams: paginationParams, address: nil)

Where

  • address is an optional address that belongs to the current user (primary address by default)
  • paginationParams is a PaginationParams<Transaction> object:
let paginationParams = PaginationParams<Transaction>(
    page: 1,
    perPage: 10,
    searchTerm: nil,
    searchTerms: nil,
    sortBy: .createdAt,
    sortDirection: .descending
)

Where

  • page is the page you wish to receive.
  • perPage is the number of results per page.
  • sortBy is the sorting field. Available values: .id, .status, .from, .to, .createdAt, .updatedAt
  • sortDir is the sorting direction. Available values: .ascending, .descending
  • searchTerm is a term to search for in ALL of the searchable fields. Conflict with search_terms, only use one of them. See list of searchable fields below (same as search_terms).
  • searchTerms is a dictionary of fields to search in with the following available fields: .id, .status, .from, .to, .createdAt, .updatedAt. Ex: [.from: "someAddress", .id: "someId"]

Then you can call:

Transaction.get(
    using: client,
    params: params) { (transactionsResult) in
        switch transactionsResult {
        case .success(let paginatedList):
            //TODO: Do something with the paginated list of transactions
        case .fail(let error):
            //TODO: Handle the error
        }
}

The paginatedList here is an object

Where

  • data is an array of transactions
  • pagination is a Pagination object

Where
perPage is the number of results per page.
currentPage is the retrieved page.
isFirstPage is a bool indicating if the page received is the first page
isLastPage is a bool indicating if the page received is the last page

T-Dnzt
T-Dnzt previously approved these changes Feb 27, 2018
@@ -27,3 +27,25 @@ public extension Listable where Self: Decodable {
})
}
}

/// Represents an object that can be retrived in a paginated collection
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

retrived -> retrieved

ripzery
ripzery previously approved these changes Feb 27, 2018
@ripzery ripzery removed their assignment Feb 27, 2018
@mederic-p mederic-p dismissed stale reviews from ripzery and T-Dnzt via ec09090 February 27, 2018 06:01
@mederic-p mederic-p merged commit 3a292ef into master Feb 27, 2018
@mederic-p mederic-p deleted the T820-list-transactions branch February 27, 2018 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants