Fix broken graphql playground (#13287)
Fixes https://github.com/twentyhq/twenty/issues/12991 Also fixes a regression on main where updateEvent are not correctly emit when calling repository.update()
This commit is contained in:
@ -15,6 +15,10 @@ export const DateScalarType = new GraphQLScalarType({
|
|||||||
return new Date(parseInt(ast.value, 10));
|
return new Date(parseInt(ast.value, 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ast.kind === Kind.STRING) {
|
||||||
|
return new Date(ast.value);
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@ -285,7 +285,7 @@ describe('WorkspaceEntityManager', () => {
|
|||||||
it('should call createQueryBuilder with permissionOptions for update', async () => {
|
it('should call createQueryBuilder with permissionOptions for update', async () => {
|
||||||
await entityManager.update('test-entity', {}, {}, mockPermissionOptions);
|
await entityManager.update('test-entity', {}, {}, mockPermissionOptions);
|
||||||
expect(entityManager['createQueryBuilder']).toHaveBeenCalledWith(
|
expect(entityManager['createQueryBuilder']).toHaveBeenCalledWith(
|
||||||
undefined,
|
'test-entity',
|
||||||
undefined,
|
undefined,
|
||||||
undefined,
|
undefined,
|
||||||
mockPermissionOptions,
|
mockPermissionOptions,
|
||||||
|
|||||||
@ -275,6 +275,8 @@ export class WorkspaceEntityManager extends EntityManager {
|
|||||||
partialEntity: QueryDeepPartialEntity<Entity>,
|
partialEntity: QueryDeepPartialEntity<Entity>,
|
||||||
permissionOptions?: PermissionOptions,
|
permissionOptions?: PermissionOptions,
|
||||||
): Promise<UpdateResult> {
|
): Promise<UpdateResult> {
|
||||||
|
const metadata = this.connection.getMetadata(target);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
criteria === undefined ||
|
criteria === undefined ||
|
||||||
criteria === null ||
|
criteria === null ||
|
||||||
@ -294,23 +296,23 @@ export class WorkspaceEntityManager extends EntityManager {
|
|||||||
Array.isArray(criteria)
|
Array.isArray(criteria)
|
||||||
) {
|
) {
|
||||||
return this.createQueryBuilder(
|
return this.createQueryBuilder(
|
||||||
undefined,
|
target,
|
||||||
undefined,
|
metadata.name,
|
||||||
undefined,
|
undefined,
|
||||||
permissionOptions,
|
permissionOptions,
|
||||||
)
|
)
|
||||||
.update(target)
|
.update()
|
||||||
.set(partialEntity)
|
.set(partialEntity)
|
||||||
.whereInIds(criteria)
|
.whereInIds(criteria)
|
||||||
.execute();
|
.execute();
|
||||||
} else {
|
} else {
|
||||||
return this.createQueryBuilder(
|
return this.createQueryBuilder(
|
||||||
undefined,
|
target,
|
||||||
undefined,
|
metadata.name,
|
||||||
undefined,
|
undefined,
|
||||||
permissionOptions,
|
permissionOptions,
|
||||||
)
|
)
|
||||||
.update(target)
|
.update()
|
||||||
.set(partialEntity)
|
.set(partialEntity)
|
||||||
.where(criteria)
|
.where(criteria)
|
||||||
.execute();
|
.execute();
|
||||||
|
|||||||
@ -71,19 +71,19 @@ export class WorkspaceUpdateQueryBuilder<
|
|||||||
this.internalContext,
|
this.internalContext,
|
||||||
);
|
);
|
||||||
|
|
||||||
const beforeSelectQueryBuilder = new WorkspaceSelectQueryBuilder(
|
const eventSelectQueryBuilder = new WorkspaceSelectQueryBuilder(
|
||||||
this as unknown as WorkspaceSelectQueryBuilder<T>,
|
this as unknown as WorkspaceSelectQueryBuilder<T>,
|
||||||
this.objectRecordsPermissions,
|
this.objectRecordsPermissions,
|
||||||
this.internalContext,
|
this.internalContext,
|
||||||
this.shouldBypassPermissionChecks,
|
true,
|
||||||
this.authContext,
|
this.authContext,
|
||||||
);
|
);
|
||||||
|
|
||||||
beforeSelectQueryBuilder.expressionMap.wheres = this.expressionMap.wheres;
|
eventSelectQueryBuilder.expressionMap.wheres = this.expressionMap.wheres;
|
||||||
beforeSelectQueryBuilder.expressionMap.aliases = this.expressionMap.aliases;
|
eventSelectQueryBuilder.expressionMap.aliases = this.expressionMap.aliases;
|
||||||
beforeSelectQueryBuilder.setParameters(this.getParameters());
|
eventSelectQueryBuilder.setParameters(this.getParameters());
|
||||||
|
|
||||||
const before = await beforeSelectQueryBuilder.getMany();
|
const before = await eventSelectQueryBuilder.getMany();
|
||||||
|
|
||||||
const formattedBefore = formatResult<T[]>(
|
const formattedBefore = formatResult<T[]>(
|
||||||
before,
|
before,
|
||||||
@ -91,10 +91,11 @@ export class WorkspaceUpdateQueryBuilder<
|
|||||||
this.internalContext.objectMetadataMaps,
|
this.internalContext.objectMetadataMaps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const after = await super.execute();
|
const result = await super.execute();
|
||||||
|
const after = await eventSelectQueryBuilder.getMany();
|
||||||
|
|
||||||
const formattedAfter = formatResult<T[]>(
|
const formattedAfter = formatResult<T[]>(
|
||||||
after.raw,
|
after,
|
||||||
objectMetadata,
|
objectMetadata,
|
||||||
this.internalContext.objectMetadataMaps,
|
this.internalContext.objectMetadataMaps,
|
||||||
);
|
);
|
||||||
@ -109,9 +110,9 @@ export class WorkspaceUpdateQueryBuilder<
|
|||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
raw: after.raw,
|
raw: result.raw,
|
||||||
generatedMaps: formattedAfter,
|
generatedMaps: formattedAfter,
|
||||||
affected: after.affected,
|
affected: result.affected,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user