mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
feat(core): Allow transferring user's data to team project when deleting them (no-changelog) (#13941)
This commit is contained in:
@@ -189,9 +189,9 @@ export class UsersController {
|
||||
let transfereeId;
|
||||
|
||||
if (transferId) {
|
||||
const transfereePersonalProject = await this.projectRepository.findOneBy({ id: transferId });
|
||||
const transfereeProject = await this.projectRepository.findOneBy({ id: transferId });
|
||||
|
||||
if (!transfereePersonalProject) {
|
||||
if (!transfereeProject) {
|
||||
throw new NotFoundError(
|
||||
'Request to delete a user failed because the transferee project was not found in DB',
|
||||
);
|
||||
@@ -199,8 +199,7 @@ export class UsersController {
|
||||
|
||||
const transferee = await this.userRepository.findOneByOrFail({
|
||||
projectRelations: {
|
||||
projectId: transfereePersonalProject.id,
|
||||
role: 'project:personalOwner',
|
||||
projectId: transfereeProject.id,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -209,25 +208,23 @@ export class UsersController {
|
||||
await this.userService.getManager().transaction(async (trx) => {
|
||||
await this.workflowService.transferAll(
|
||||
personalProjectToDelete.id,
|
||||
transfereePersonalProject.id,
|
||||
transfereeProject.id,
|
||||
trx,
|
||||
);
|
||||
await this.credentialsService.transferAll(
|
||||
personalProjectToDelete.id,
|
||||
transfereePersonalProject.id,
|
||||
transfereeProject.id,
|
||||
trx,
|
||||
);
|
||||
|
||||
await this.folderService.transferAllFoldersToProject(
|
||||
personalProjectToDelete.id,
|
||||
transfereePersonalProject.id,
|
||||
transfereeProject.id,
|
||||
trx,
|
||||
);
|
||||
});
|
||||
|
||||
await this.projectService.clearCredentialCanUseExternalSecretsCache(
|
||||
transfereePersonalProject.id,
|
||||
);
|
||||
await this.projectService.clearCredentialCanUseExternalSecretsCache(transfereeProject.id);
|
||||
}
|
||||
|
||||
const [ownedSharedWorkflows, ownedSharedCredentials] = await Promise.all([
|
||||
|
||||
Reference in New Issue
Block a user