Compare commits

...
Author SHA1 Message Date
EtienneandCharles Bochet 177bba0b61 cleaning workspace job - fix on soft delete condition (#10380)
Context
If the command runs multiple times, soft deleted workspaces are soft
deleted again (+ email spamming)

Solution
Check for soft deletion before entering soft delete condition
2025-02-21 12:14:39 +01:00
Charles Bochet 5ec2b0f1aa Bump version 2025-02-21 12:14:32 +01:00
prastoin d1335a7330 chore(all): v0.42.13 2025-02-21 12:08:48 +01:00
8 changed files with 17 additions and 8 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "twenty-e2e-testing",
"version": "0.42.0-canary",
"version": "0.42.14",
"description": "",
"author": "",
"private": true,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "twenty-emails",
"version": "0.42.0-canary",
"version": "0.42.14",
"description": "",
"author": "",
"private": true,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "twenty-front",
"version": "0.42.0-canary",
"version": "0.42.14",
"private": true,
"type": "module",
"scripts": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "twenty-server",
"version": "0.42.0-canary",
"version": "0.42.14",
"description": "",
"author": "",
"private": true,
@@ -17,6 +17,7 @@ import { UserService } from 'src/engine/core-modules/user/services/user.service'
import { UserVarsService } from 'src/engine/core-modules/user/user-vars/services/user-vars.service';
import { WorkspaceService } from 'src/engine/core-modules/workspace/services/workspace.service';
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
import { USER_WORKSPACE_DELETION_WARNING_SENT_KEY } from 'src/engine/workspace-manager/workspace-cleaner/constants/user-workspace-deletion-warning-sent-key.constant';
import {
WorkspaceCleanerException,
@@ -42,6 +43,7 @@ export class CleanerWorkspaceService {
private readonly workspaceRepository: Repository<Workspace>,
@InjectRepository(BillingSubscription, 'core')
private readonly billingSubscriptionRepository: Repository<BillingSubscription>,
private readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {
this.inactiveDaysBeforeSoftDelete = this.environmentService.get(
'WORKSPACE_INACTIVE_DAYS_BEFORE_SOFT_DELETION',
@@ -291,7 +293,10 @@ export class CleanerWorkspaceService {
continue;
}
if (workspaceInactivity > this.inactiveDaysBeforeSoftDelete) {
if (
workspaceInactivity > this.inactiveDaysBeforeSoftDelete &&
!isDefined(workspace.deletedAt)
) {
await this.informWorkspaceMembersAndSoftDeleteWorkspace(
workspace,
workspaceInactivity,
@@ -315,6 +320,10 @@ export class CleanerWorkspaceService {
`Error while processing workspace ${workspace.id} ${workspace.displayName}: ${error}`,
);
}
await this.twentyORMGlobalManager.destroyDataSourceForWorkspace(
workspace.id,
);
}
this.logger.log(
`${dryRun ? 'DRY RUN - ' : ''}batchWarnOrCleanSuspendedWorkspaces done!`,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "twenty-shared",
"version": "0.42.0-canary",
"version": "0.42.14",
"license": "AGPL-3.0",
"main": "./dist/index.js",
"scripts": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "twenty-ui",
"version": "0.42.0-canary",
"version": "0.42.14",
"type": "module",
"main": "./src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "twenty-website",
"version": "0.42.0-canary",
"version": "0.42.14",
"private": true,
"scripts": {
"nx": "NX_DEFAULT_PROJECT=twenty-website node ../../node_modules/nx/bin/nx.js",