diff --git a/src/server-extension/model/tokenEntity.model.ts b/src/server-extension/model/tokenEntity.model.ts index 32c807e..33c97ed 100644 --- a/src/server-extension/model/tokenEntity.model.ts +++ b/src/server-extension/model/tokenEntity.model.ts @@ -41,6 +41,9 @@ class Collection { @Field(() => String, { nullable: true }) name!: string; + + @Field(() => String, { nullable: true }) + kind?: string; } @@ -100,6 +103,8 @@ export class TokenEntityModel { @Field(() => Collection) collection!: Collection; + @Field(() => String, { nullable: true }) + kind?: string; constructor(props: Partial) { Object.assign(this, props); @@ -150,6 +155,8 @@ export class TokenEntityQueryResult { @Field(() => String, { nullable: false }) collection_name!: string; + @Field(() => String, { nullable: true }) + kind?: string; @Field(() => String, { nullable: false }) meta_id!: string; diff --git a/src/server-extension/query/tokenEntities.ts b/src/server-extension/query/tokenEntities.ts index b74c97f..2d9b954 100644 --- a/src/server-extension/query/tokenEntities.ts +++ b/src/server-extension/query/tokenEntities.ts @@ -54,6 +54,7 @@ SELECT nc.supply as supply, col.id AS collection_id, col.name AS collection_name + col.kind AS kind FROM token_entity as t JOIN collection_entity as col ON t.collection_id = col.id @@ -64,4 +65,5 @@ WHERE nc.supply > 0 AND t.deleted = false AND ($10::text IS NULL OR LOWER(t.name) LIKE LOWER('%' || $10 || '%')) + AND ($11::text IS NULL OR col.kind = $11) ` diff --git a/src/server-extension/resolvers/tokenEntities.ts b/src/server-extension/resolvers/tokenEntities.ts index 1aebc00..d210391 100644 --- a/src/server-extension/resolvers/tokenEntities.ts +++ b/src/server-extension/resolvers/tokenEntities.ts @@ -22,7 +22,8 @@ export class TokenResolver { @Arg('price_lte', { nullable: true }) price_lte?: number, @Arg('denyList', () => [String], { nullable: true }) denyList?: string[], @Arg('collections', () => [String], { nullable: true }) collections?: string[], - @Arg('name', { nullable: true }) name?: string + @Arg('name', { nullable: true }) name?: string, + @Arg('kind', { nullable: true }) kind?: string ): Promise { const orderQuery = this.getOrderByQuery(orderBy) @@ -40,7 +41,8 @@ ORDER BY ${orderQuery} LIMIT $2 OFFSET $3; denyList, issuer, collections, - name + name, + kind ]) return result.map(this.mapRowToTokenEntityByOwner) } @@ -51,6 +53,7 @@ ORDER BY ${orderQuery} LIMIT $2 OFFSET $3; blockNumber: row.block_number, createdAt: row.created_at, updatedAt: row.updated_at, + kind: row.kind, cheapest: { id: row.cheapest_id, price: row.cheapest_price, @@ -59,6 +62,7 @@ ORDER BY ${orderQuery} LIMIT $2 OFFSET $3; collection: { id: row.collection_id, name: row.collection_name, + kind: row.kind, }, meta: { id: row.meta_id,