chore(backend): use raw
This commit is contained in:
parent
ccba76026f
commit
e2b82f7eaa
|
@ -98,16 +98,17 @@ export const miRepository = {
|
||||||
async insertOne(entity, findOptions?) {
|
async insertOne(entity, findOptions?) {
|
||||||
const queryBuilder = this.createQueryBuilder().insert().values(entity);
|
const queryBuilder = this.createQueryBuilder().insert().values(entity);
|
||||||
queryBuilder.expressionMap.mainAlias!.name = 't';
|
queryBuilder.expressionMap.mainAlias!.name = 't';
|
||||||
const columnNames = this.createTableColumnNames(queryBuilder).map(column => `__disambiguation__${column}`);
|
const columnNames = this.createTableColumnNames(queryBuilder);
|
||||||
queryBuilder.returning(columnNames.map(column => `"${column.slice('__disambiguation__'.length)}" AS "${column}"`).join());
|
queryBuilder.returning(columnNames.join());
|
||||||
const builder = this.createQueryBuilder().addCommonTableExpression(queryBuilder, 'cte', { columnNames });
|
const builder = this.createQueryBuilder().addCommonTableExpression(queryBuilder, 'cte', { columnNames });
|
||||||
builder.expressionMap.mainAlias!.tablePath = 'cte';
|
builder.expressionMap.mainAlias!.tablePath = 'cte';
|
||||||
this.selectAliasColumnNames(queryBuilder, builder);
|
this.selectAliasColumnNames(queryBuilder, builder);
|
||||||
console.log(builder.expressionMap.mainAlias!.metadata, builder.getQueryAndParameters());
|
|
||||||
if (findOptions) {
|
if (findOptions) {
|
||||||
return await builder.setFindOptions(findOptions).getOneOrFail();
|
builder.setFindOptions(findOptions);
|
||||||
}
|
}
|
||||||
return await builder.getOneOrFail();
|
const raw = await builder.execute();
|
||||||
|
console.log(raw);
|
||||||
|
return raw;
|
||||||
},
|
},
|
||||||
selectAliasColumnNames(queryBuilder, builder) {
|
selectAliasColumnNames(queryBuilder, builder) {
|
||||||
let selectOrAddSelect = (selection: string, selectionAliasName?: string) => {
|
let selectOrAddSelect = (selection: string, selectionAliasName?: string) => {
|
||||||
|
@ -115,7 +116,7 @@ export const miRepository = {
|
||||||
return builder.select(selection, selectionAliasName);
|
return builder.select(selection, selectionAliasName);
|
||||||
};
|
};
|
||||||
for (const columnName of this.createTableColumnNames(queryBuilder)) {
|
for (const columnName of this.createTableColumnNames(queryBuilder)) {
|
||||||
selectOrAddSelect(`"${builder.alias}"."__disambiguation__${columnName}"`, `${builder.alias}_${columnName}`);
|
selectOrAddSelect(`${builder.alias}.${columnName}`, `${builder.alias}_${columnName}`);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
} satisfies MiRepository<ObjectLiteral>;
|
} satisfies MiRepository<ObjectLiteral>;
|
||||||
|
|
Loading…
Reference in New Issue