diff --git a/src/subdomains/support/services/support.service.ts b/src/subdomains/support/services/support.service.ts index 0715bb2da..134db72b4 100644 --- a/src/subdomains/support/services/support.service.ts +++ b/src/subdomains/support/services/support.service.ts @@ -81,6 +81,21 @@ export class SupportService implements OnModuleDestroy { } async getRawData(query: DbQueryDto): Promise { + // Compat: external callers (e.g. Google Apps Script ledgers) still reference + // the pre-2024 `asset` table name. PR #193 added a PG view, but the + // QueryBuilder requires an entity-backed alias and `asset` is no longer a + // registered entity. Rewrite to `asset_account` here so the QueryBuilder + // path resolves correctly. See issue #192. + if (query.table === 'asset') { + query = { + ...query, + table: 'asset_account', + select: query.select?.map((s) => s.replace(/^asset\./, 'asset_account.')), + where: query.where.map(([cond, params]) => [cond.replace(/\basset\./g, 'asset_account.'), params]), + join: query.join.map(([rel, alias]) => [rel.replace(/^asset\./, 'asset_account.'), alias]), + }; + } + const request = this.dataSource .createQueryBuilder() .from(query.table, query.table)