Skip to content

Commit fd659a1

Browse files
committed
fix filtering
Signed-off-by: Patrick St-Louis <[email protected]>
1 parent fe4ce98 commit fd659a1

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

server/app/plugins/storage.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -402,15 +402,15 @@ def get_resources(
402402
query = session.query(AttestedResourceRecord)
403403

404404
if filters:
405-
if "scid" in filters:
405+
if "scid" in filters and filters["scid"]:
406406
query = query.filter(AttestedResourceRecord.scid == filters["scid"])
407-
if "did" in filters:
407+
if "did" in filters and filters["did"]:
408408
query = query.filter(AttestedResourceRecord.did == filters["did"])
409-
if "resource_type" in filters:
409+
if "resource_type" in filters and filters["resource_type"]:
410410
query = query.filter(
411411
AttestedResourceRecord.resource_type == filters["resource_type"]
412412
)
413-
if "resource_id" in filters:
413+
if "resource_id" in filters and filters["resource_id"]:
414414
query = query.filter(
415415
AttestedResourceRecord.resource_id == filters["resource_id"]
416416
)
@@ -452,15 +452,15 @@ def count_resources(self, filters: Optional[Dict[str, Any]] = None) -> int:
452452
query = session.query(AttestedResourceRecord)
453453

454454
if filters:
455-
if "scid" in filters:
455+
if "scid" in filters and filters["scid"]:
456456
query = query.filter(AttestedResourceRecord.scid == filters["scid"])
457-
if "did" in filters:
457+
if "did" in filters and filters["did"]:
458458
query = query.filter(AttestedResourceRecord.did == filters["did"])
459-
if "resource_type" in filters:
459+
if "resource_type" in filters and filters["resource_type"]:
460460
query = query.filter(
461461
AttestedResourceRecord.resource_type == filters["resource_type"]
462462
)
463-
if "resource_id" in filters:
463+
if "resource_id" in filters and filters["resource_id"]:
464464
query = query.filter(
465465
AttestedResourceRecord.resource_id == filters["resource_id"]
466466
)

server/app/routers/explorer.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,18 +83,28 @@ async def explorer_resource_table(
8383
scid: str = None,
8484
resource_id: str = None,
8585
resource_type: str = None,
86+
namespace: str = None,
87+
alias: str = None,
8688
page: int = 1,
8789
limit: int = 50,
8890
):
8991
"""Resource table with pagination."""
92+
93+
# Helper: resolve namespace/alias to scid
94+
def resolve_scid():
95+
if namespace and alias:
96+
controller = storage.get_did_controller_by_alias(namespace, alias)
97+
return controller.scid if controller else "NOTFOUND"
98+
return scid
99+
90100
# Build filters for StorageManager query
91101
filters = {
92-
"scid": scid,
102+
"scid": resolve_scid(),
93103
"resource_id": resource_id,
94104
"resource_type": resource_type,
95105
}
96-
# Remove None values
97-
filters = {k: v for k, v in filters.items() if v is not None}
106+
# Remove None values, empty strings, and "NOTFOUND" (invalid namespace/alias combination)
107+
filters = {k: v for k, v in filters.items() if v is not None and v != "" and v != "NOTFOUND"}
98108

99109
# Calculate offset
100110
offset = (page - 1) * limit

0 commit comments

Comments
 (0)