diff --git a/.sqlx/query-cb3a74b912417fef1b29f55002d74edc7c55bb39fc5169c252d92bdc57f5a3af.json b/.sqlx/query-7e240f953af6c94ef19615f73e71290193ff2460812f44cf2f95194ddb2842c3.json
similarity index 72%
rename from .sqlx/query-cb3a74b912417fef1b29f55002d74edc7c55bb39fc5169c252d92bdc57f5a3af.json
rename to .sqlx/query-7e240f953af6c94ef19615f73e71290193ff2460812f44cf2f95194ddb2842c3.json
index bd41e8196..4a2149296 100644
--- a/.sqlx/query-cb3a74b912417fef1b29f55002d74edc7c55bb39fc5169c252d92bdc57f5a3af.json
+++ b/.sqlx/query-7e240f953af6c94ef19615f73e71290193ff2460812f44cf2f95194ddb2842c3.json
@@ -1,6 +1,6 @@
{
"db_name": "SQLite",
- "query": "SELECT id, hash, uuid, minter_hash, name, icon_url, banner_url, description, is_visible \n FROM collections\n WHERE hash = ?",
+ "query": "SELECT id, hash, uuid, minter_hash, name, icon_url, banner_url, description, is_visible,\n (SELECT COUNT(*) FROM owned_nfts WHERE owned_nfts.collection_id = collections.id AND asset_is_visible = 1) AS \"nft_count!: i64\"\n FROM collections\n WHERE hash = ?",
"describe": {
"columns": [
{
@@ -47,6 +47,11 @@
"name": "is_visible",
"ordinal": 8,
"type_info": "Bool"
+ },
+ {
+ "name": "nft_count!: i64",
+ "ordinal": 9,
+ "type_info": "Null"
}
],
"parameters": {
@@ -61,8 +66,9 @@
true,
true,
true,
- false
+ false,
+ null
]
},
- "hash": "cb3a74b912417fef1b29f55002d74edc7c55bb39fc5169c252d92bdc57f5a3af"
+ "hash": "7e240f953af6c94ef19615f73e71290193ff2460812f44cf2f95194ddb2842c3"
}
diff --git a/.sqlx/query-5e740e307bf332541fc073cf20f72297912073527728adb5afd1391300b8ed0c.json b/.sqlx/query-c7bba08e8c10517792d5ded81ce94bc235c8904c43837a81b8aa258b279e41b8.json
similarity index 60%
rename from .sqlx/query-5e740e307bf332541fc073cf20f72297912073527728adb5afd1391300b8ed0c.json
rename to .sqlx/query-c7bba08e8c10517792d5ded81ce94bc235c8904c43837a81b8aa258b279e41b8.json
index 619f0a517..6757d1a05 100644
--- a/.sqlx/query-5e740e307bf332541fc073cf20f72297912073527728adb5afd1391300b8ed0c.json
+++ b/.sqlx/query-c7bba08e8c10517792d5ded81ce94bc235c8904c43837a81b8aa258b279e41b8.json
@@ -1,6 +1,6 @@
{
"db_name": "SQLite",
- "query": "SELECT collections.hash, uuid, collections.minter_hash, collections.name, collections.icon_url, \n collections.banner_url, collections.description, collections.is_visible, COUNT(*) OVER() as total_count\n FROM collections\n WHERE 1=1\n AND EXISTS (SELECT 1 FROM owned_nfts WHERE owned_nfts.collection_id = collections.id)\n AND (? OR is_visible = 1)\n ORDER BY CASE WHEN collections.id = 0 THEN 1 ELSE 0 END, name ASC\n LIMIT ?\n OFFSET ?",
+ "query": "SELECT collections.hash, uuid, collections.minter_hash, collections.name, collections.icon_url,\n collections.banner_url, collections.description, collections.is_visible, COUNT(*) OVER() as total_count,\n (SELECT COUNT(*) FROM owned_nfts WHERE owned_nfts.collection_id = collections.id AND asset_is_visible = 1) AS \"nft_count!: i64\"\n FROM collections\n WHERE 1=1\n AND EXISTS (SELECT 1 FROM owned_nfts WHERE owned_nfts.collection_id = collections.id)\n AND (? OR is_visible = 1)\n ORDER BY CASE WHEN collections.id = 0 THEN 1 ELSE 0 END, name ASC\n LIMIT ?\n OFFSET ?",
"describe": {
"columns": [
{
@@ -47,6 +47,11 @@
"name": "total_count",
"ordinal": 8,
"type_info": "Integer"
+ },
+ {
+ "name": "nft_count!: i64",
+ "ordinal": 9,
+ "type_info": "Integer"
}
],
"parameters": {
@@ -61,8 +66,9 @@
true,
true,
false,
+ false,
false
]
},
- "hash": "5e740e307bf332541fc073cf20f72297912073527728adb5afd1391300b8ed0c"
+ "hash": "c7bba08e8c10517792d5ded81ce94bc235c8904c43837a81b8aa258b279e41b8"
}
diff --git a/crates/sage-api/src/records/nft_collection.rs b/crates/sage-api/src/records/nft_collection.rs
index d5f18e75c..e43db0338 100644
--- a/crates/sage-api/src/records/nft_collection.rs
+++ b/crates/sage-api/src/records/nft_collection.rs
@@ -10,4 +10,5 @@ pub struct NftCollectionRecord {
pub visible: bool,
pub name: Option,
pub icon: Option,
+ pub nft_count: u32,
}
diff --git a/crates/sage-database/src/tables/collections.rs b/crates/sage-database/src/tables/collections.rs
index 815c79f3e..2cbe2352c 100644
--- a/crates/sage-database/src/tables/collections.rs
+++ b/crates/sage-database/src/tables/collections.rs
@@ -12,6 +12,7 @@ pub struct CollectionRow {
pub banner_url: Option,
pub description: Option,
pub is_visible: bool,
+ pub nft_count: u32,
}
impl Database {
@@ -46,7 +47,8 @@ impl DatabaseTx<'_> {
async fn collection(conn: impl SqliteExecutor<'_>, hash: Bytes32) -> Result
+ {nftTotalUsd > 0 && (
+
+
+ NFT values are floor price estimates from MintGarden
+
+
+ )}
+ {nftTotalUsd > 0 && (
+
+
+ Includes ~
+ {' '}
+ in NFTs
+
+
+ )}
)}