From 918c3d7416cbb331d38868b2e5aeb2c2b7d9d3a4 Mon Sep 17 00:00:00 2001 From: viniciusgadea Date: Mon, 15 Dec 2025 09:08:08 -0300 Subject: [PATCH] FIX: Enhance searchDataAssets to convert owner names to IDs and log the conversion --- docsfera.json | 8 ++++++++ src/modules/catalog/catalog.service.ts | 27 ++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/docsfera.json b/docsfera.json index 4d80f69..4f1c426 100644 --- a/docsfera.json +++ b/docsfera.json @@ -4483,6 +4483,14 @@ "schema": { "type": "string" } + }, + { + "name": "asset_type", + "required": true, + "in": "query", + "schema": { + "type": "string" + } } ], "responses": { diff --git a/src/modules/catalog/catalog.service.ts b/src/modules/catalog/catalog.service.ts index 5929849..9d99f7d 100644 --- a/src/modules/catalog/catalog.service.ts +++ b/src/modules/catalog/catalog.service.ts @@ -243,6 +243,33 @@ class CatalogService implements OnModuleInit { const { search, page, size, sort_by, order, ...filters } = query; + if (filters.owner) { + const { users: customer_users } = + await this.userService.findAllUsersByCustomerId(customer_id); + + const ownerValues = Array.isArray(filters.owner) + ? filters.owner + : (typeof filters.owner === 'string' && filters.owner.includes(',') + ? filters.owner.split(',').map((o: string) => o.trim()) + : [filters.owner]); + + const ownerIds = ownerValues + .map((ownerValue: string) => { + const user = customer_users.find(u => + u.name === ownerValue || u.email === ownerValue || u.id === ownerValue + ); + return user ? user.id : ownerValue; + }) + .filter((id: string) => id); + + filters.owner = ownerIds; + + this.logger.info('Converted owner names to IDs:', { + original: ownerValues, + converted: ownerIds + }); + } + const { data_assets, total } = await lastValueFrom( this.catalogReadService.GetAllDataAssets( {