From d792e24274e8bfdaea7b31612a5aff927f6762c3 Mon Sep 17 00:00:00 2001 From: daiagi Date: Fri, 13 Oct 2023 18:59:54 +0700 Subject: [PATCH] allow filter by issuer --- src/server-extension/query/tokenEntities.ts | 1 + src/server-extension/query/totalTokenEntities.ts | 3 ++- src/server-extension/resolvers/tokenEntities.ts | 2 ++ src/server-extension/resolvers/totalTokenEntities.ts | 2 ++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/server-extension/query/tokenEntities.ts b/src/server-extension/query/tokenEntities.ts index ba965c5..fce4ff9 100644 --- a/src/server-extension/query/tokenEntities.ts +++ b/src/server-extension/query/tokenEntities.ts @@ -4,6 +4,7 @@ filters_applied AS ( FROM nft_entity ne WHERE ($1::text IS NULL OR ne.current_owner = $1) AND + ($8::text IS NULL OR ne.issuer = $8) AND ($7::text[] IS NULL OR ne.issuer NOT IN (SELECT unnest($7))) AND ($4::bigint IS NULL OR ne.price >= $4::bigint) AND ($5::bigint IS NULL OR ne.price > $5::bigint) AND diff --git a/src/server-extension/query/totalTokenEntities.ts b/src/server-extension/query/totalTokenEntities.ts index 72ce67d..304f708 100644 --- a/src/server-extension/query/totalTokenEntities.ts +++ b/src/server-extension/query/totalTokenEntities.ts @@ -2,7 +2,8 @@ export const totalTokenEntities = ` SELECT COUNT(id) as total_count FROM nft_entity WHERE - ($1::text IS NULL OR current_owner = $1) AND + ($1::text IS NULL OR current_owner = $1) AND + ($6::text IS NULL OR issuer = $6) AND ($5::text[] IS NULL OR issuer NOT IN (SELECT unnest($5))) AND ($2::bigint IS NULL OR price >= $2::bigint) AND ($3::bigint IS NULL OR price > $3::bigint) AND diff --git a/src/server-extension/resolvers/tokenEntities.ts b/src/server-extension/resolvers/tokenEntities.ts index 5121f76..d1a9e7c 100644 --- a/src/server-extension/resolvers/tokenEntities.ts +++ b/src/server-extension/resolvers/tokenEntities.ts @@ -14,6 +14,7 @@ export class TokenResolver { @Arg('limit', () => Int, { nullable: true, defaultValue: 40 }) limit: number, @Arg('owner', { nullable: true }) owner?: string, + @Arg('issuer', { nullable: true }) issuer?: string, @Arg('offset', () => Int, { nullable: true, defaultValue: 0 }) offset?: number, @Arg('orderBy', () => [String], { nullable: true, defaultValue: [OrderBy.blockNumber_DESC] }) orderBy?: string[], @Arg('price_gte', { nullable: true }) price_gte?: number, @@ -35,6 +36,7 @@ ORDER BY ${orderQuery} LIMIT $2 OFFSET $3; price_gt, price_lte, denyList, + issuer, ]) return result.map(this.mapRowToTokenEntityByOwner) } diff --git a/src/server-extension/resolvers/totalTokenEntities.ts b/src/server-extension/resolvers/totalTokenEntities.ts index ec8b8ac..1775686 100644 --- a/src/server-extension/resolvers/totalTokenEntities.ts +++ b/src/server-extension/resolvers/totalTokenEntities.ts @@ -12,6 +12,7 @@ export class TokenCountResolver { @Query(() => CountEntity) async tokenEntityCount( @Arg('owner', { nullable: true }) owner?: string, + @Arg('issuer', { nullable: true }) issuer?: string, @Arg('price_gte', { nullable: true }) price_gte?: number, @Arg('price_gt', { nullable: true }) price_gt?: number, @Arg('price_lte', { nullable: true }) price_lte?: number, @@ -23,6 +24,7 @@ export class TokenCountResolver { price_gt, price_lte, denyList, + issuer, ]) return new CountEntity(rawData[0].total_count) }