4586 fix workspace member feature (#4680)
* Fix import * Handle delete workspace member consequences * Add a patch to request deleted workspace member's userId * Remove useless relations * Handle delete workspace + refactor * Add missing migration * Fix test * Code review returns * Add missing operation in migration file * Fix code review return update * Fix workspaceMember<>ConnectedAccount relation
This commit is contained in:
@ -407,6 +407,15 @@ export class WorkspaceQueryRunnerService {
|
||||
args,
|
||||
options,
|
||||
);
|
||||
|
||||
// TODO START: remove this awful patch and use our upcoming custom ORM is developed
|
||||
const deletedWorkspaceMember = await this.handleDeleteWorkspaceMember(
|
||||
args.id,
|
||||
workspaceId,
|
||||
objectMetadataItem,
|
||||
);
|
||||
// TODO END
|
||||
|
||||
const result = await this.execute(query, workspaceId);
|
||||
|
||||
const parsedResults = (
|
||||
@ -429,7 +438,10 @@ export class WorkspaceQueryRunnerService {
|
||||
recordId: args.id,
|
||||
objectMetadata: objectMetadataItem,
|
||||
details: {
|
||||
before: this.removeNestedProperties(parsedResults?.[0]),
|
||||
before: {
|
||||
...(deletedWorkspaceMember ?? {}),
|
||||
...this.removeNestedProperties(parsedResults?.[0]),
|
||||
},
|
||||
},
|
||||
} satisfies ObjectRecordDeleteEvent<any>);
|
||||
|
||||
@ -555,4 +567,33 @@ export class WorkspaceQueryRunnerService {
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
async handleDeleteWorkspaceMember(
|
||||
id: string,
|
||||
workspaceId: string,
|
||||
objectMetadataItem: ObjectMetadataInterface,
|
||||
) {
|
||||
if (objectMetadataItem.nameSingular !== 'workspaceMember') {
|
||||
return;
|
||||
}
|
||||
|
||||
const workspaceMemberResult = await this.executeAndParse<IRecord>(
|
||||
`
|
||||
query {
|
||||
workspaceMemberCollection(filter: {id: {eq: "${id}"}}) {
|
||||
edges {
|
||||
node {
|
||||
userId: userId
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
objectMetadataItem,
|
||||
'',
|
||||
workspaceId,
|
||||
);
|
||||
|
||||
return workspaceMemberResult.edges?.[0]?.node;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user