diff --git a/src/server-extension/model/tokenEntity.model.ts b/src/server-extension/model/tokenEntity.model.ts index 767769c4..32c807e1 100644 --- a/src/server-extension/model/tokenEntity.model.ts +++ b/src/server-extension/model/tokenEntity.model.ts @@ -10,7 +10,10 @@ export enum OrderBy { createdAt_DESC = "createdAt_DESC", price_ASC = "price_ASC", price_DESC = "price_DESC", - + price_ASC_NULLS_FIRST = "price_ASC_NULLS_FIRST", + price_ASC_NULLS_LAST = "price_ASC_NULLS_LAST", + price_DESC_NULLS_FIRST = "price_DESC_NULLS_FIRST", + price_DESC_NULLS_LAST = "price_DESC_NULLS_LAST", } registerEnumType(OrderBy, { @@ -167,4 +170,3 @@ export class TokenEntityQueryResult { Object.assign(this, props); } } - diff --git a/src/server-extension/resolvers/tokenEntities.ts b/src/server-extension/resolvers/tokenEntities.ts index f275162d..1aebc007 100644 --- a/src/server-extension/resolvers/tokenEntities.ts +++ b/src/server-extension/resolvers/tokenEntities.ts @@ -78,7 +78,11 @@ ORDER BY ${orderQuery} LIMIT $2 OFFSET $3; [OrderBy.updatedAt_DESC]: 'updated_at DESC', [OrderBy.price_ASC]: 'cheapest_price ASC', [OrderBy.price_DESC]: 'cheapest_price DESC', - } + [OrderBy.price_ASC_NULLS_FIRST]: 'cheapest_price ASC NULLS FIRST', + [OrderBy.price_ASC_NULLS_LAST]: 'cheapest_price ASC NULLS LAST', + [OrderBy.price_DESC_NULLS_FIRST]: 'cheapest_price DESC NULLS FIRST', + [OrderBy.price_DESC_NULLS_LAST]: 'cheapest_price DESC NULLS LAST', + }; private getOrderByQuery(orderBy: string[] = [OrderBy.blockNumber_DESC]): string { return orderBy.map((order) => this.ORDER_BY_MAPPING[order]).join(', ')