0xPlaygrounds / 0xPlaygrounds/subgrounds

Last and first built-in synthetic fields on list fields

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.