0xPlaygrounds / 0xPlaygrounds/subgrounds
Last and first built-in synthetic fields on list fields
- Dominant language
- Python
- Stars
- 73
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
Given a subgraph with a query field `entities` of type `[Entity!]!`, then `entities.first` and `entities.last` should produce a field path that represents the first and last of those entities ordered by `timestamp` (by default). If `timestamp` is not a valid field of entity `Entity`, then the field by which to order the entities can be specified using the `orderBy` argument.
**Describe the solution you'd like**
```py
sg = Subgrounds()
uniswapV2 = sg.load_subgraph("https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2")
# These two are equivalent
last_swap_id = uniswapV2.Query.swaps.last().id
last_swap_id = uniswapV2.Query.swaps(
orderBy=Swap.timestamp,
orderDirection='desc',
first=1
).id
# These two are also equivalent
last_pair_id = unsiwapV2.Query.pairs.last(orderBy='createdAtTimestamp').id
last_pair_id = uniswapV2.Query.pairs(
orderBy=Pair.createdAtTimestamp,
orderDirection='desc',
first=1
).id
```
*Originally from: cvauclair*
Contributor guide
Assessment
This issue has not been assessed yet.