fix(backend): transform

This commit is contained in:
Acid Chicken (硫酸鶏) 2024-05-30 11:47:45 +09:00
parent ae29e6feac
commit 08583df144
No known key found for this signature in database
GPG Key ID: 3E87B98A3F6BAB99
1 changed files with 8 additions and 2 deletions

View File

@ -4,6 +4,9 @@
*/ */
import { FindOneOptions, InsertQueryBuilder, ObjectLiteral, Repository, SelectQueryBuilder } from 'typeorm'; import { FindOneOptions, InsertQueryBuilder, ObjectLiteral, Repository, SelectQueryBuilder } from 'typeorm';
import { RelationCountLoader } from 'typeorm/query-builder/relation-count/RelationCountLoader.js';
import { RelationIdLoader } from 'typeorm/query-builder/relation-id/RelationIdLoader.js';
import { RawSqlResultsToEntityTransformer } from 'typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js';
import { MiAbuseUserReport } from '@/models/AbuseUserReport.js'; import { MiAbuseUserReport } from '@/models/AbuseUserReport.js';
import { MiAccessToken } from '@/models/AccessToken.js'; import { MiAccessToken } from '@/models/AccessToken.js';
import { MiAd } from '@/models/Ad.js'; import { MiAd } from '@/models/Ad.js';
@ -107,8 +110,11 @@ export const miRepository = {
builder.setFindOptions(findOptions); builder.setFindOptions(findOptions);
} }
const raw = await builder.execute(); const raw = await builder.execute();
console.log(raw); const relationId = await new RelationIdLoader(builder.connection, this.queryRunner, builder.expressionMap.relationIdAttributes).load(raw);
return raw; const relationCount = await new RelationCountLoader(builder.connection, this.queryRunner, builder.expressionMap.relationCountAttributes).load(raw);
const result = new RawSqlResultsToEntityTransformer(queryBuilder.expressionMap, queryBuilder.connection.driver, relationId, relationCount, this.queryRunner).transform(raw, queryBuilder.expressionMap.mainAlias!);
console.log(raw, relationId, relationCount, result);
return result;
}, },
selectAliasColumnNames(queryBuilder, builder) { selectAliasColumnNames(queryBuilder, builder) {
let selectOrAddSelect = (selection: string, selectionAliasName?: string) => { let selectOrAddSelect = (selection: string, selectionAliasName?: string) => {