mirror of
https://github.com/colanode/colanode.git
synced 2025-12-25 07:59:35 +01:00
Clean all data on desktop start for the new version
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
"@types/mime-types": "^2.1.4",
|
||||
"@types/react": "^18.3.12",
|
||||
"@types/react-dom": "^18.3.1",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@types/unzipper": "^0.10.10",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"electron": "^34.0.1",
|
||||
@@ -104,6 +105,7 @@
|
||||
"react-hook-form": "^7.53.2",
|
||||
"react-intersection-observer": "^9.15.1",
|
||||
"react-router-dom": "^7.1.3",
|
||||
"semver": "^7.7.1",
|
||||
"tailwind-merge": "^2.5.5",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"tiptap-extension-auto-joiner": "^0.1.3",
|
||||
|
||||
@@ -22,8 +22,10 @@ export const appPath = app.getPath('userData');
|
||||
|
||||
export const appDatabasePath = path.join(appPath, 'app.db');
|
||||
|
||||
export const accountsDirectoryPath = path.join(appPath, 'accounts');
|
||||
|
||||
export const getAccountDirectoryPath = (accountId: string): string => {
|
||||
return path.join(appPath, 'accounts', accountId);
|
||||
return path.join(accountsDirectoryPath, accountId);
|
||||
};
|
||||
|
||||
export const getWorkspaceDirectoryPath = (
|
||||
|
||||
@@ -3,11 +3,13 @@ import SQLite from 'better-sqlite3';
|
||||
import { ApiErrorCode, createDebugger } from '@colanode/core';
|
||||
import ms from 'ms';
|
||||
import axios from 'axios';
|
||||
import semver from 'semver';
|
||||
|
||||
import fs from 'fs';
|
||||
import { app } from 'electron';
|
||||
|
||||
import { AppDatabaseSchema, appDatabaseMigrations } from '@/main/databases/app';
|
||||
import { appDatabasePath } from '@/main/lib/utils';
|
||||
import { accountsDirectoryPath, appDatabasePath } from '@/main/lib/utils';
|
||||
import { mapServer, mapAccount } from '@/main/lib/mappers';
|
||||
import { MetadataService } from '@/main/services/metadata-service';
|
||||
import { AccountService } from '@/main/services/accounts/account-service';
|
||||
@@ -76,6 +78,11 @@ export class AppService {
|
||||
|
||||
await migrator.migrateToLatest();
|
||||
|
||||
const version = await this.metadata.get('version');
|
||||
if (version && semver.lt(version.value, '0.1.0')) {
|
||||
await this.deleteAllData();
|
||||
}
|
||||
|
||||
await this.metadata.set('version', this.version);
|
||||
await this.metadata.set('platform', process.platform as AppPlatform);
|
||||
}
|
||||
@@ -265,6 +272,21 @@ export class AppService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async deleteAllData(): Promise<void> {
|
||||
await this.database.deleteFrom('accounts').execute();
|
||||
await this.database.deleteFrom('metadata').execute();
|
||||
await this.database.deleteFrom('deleted_tokens').execute();
|
||||
|
||||
if (fs.existsSync(accountsDirectoryPath)) {
|
||||
fs.rmSync(accountsDirectoryPath, {
|
||||
recursive: true,
|
||||
force: true,
|
||||
maxRetries: 3,
|
||||
retryDelay: 1000,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const appService = new AppService();
|
||||
|
||||
15
package-lock.json
generated
15
package-lock.json
generated
@@ -102,6 +102,7 @@
|
||||
"react-hook-form": "^7.53.2",
|
||||
"react-intersection-observer": "^9.15.1",
|
||||
"react-router-dom": "^7.1.3",
|
||||
"semver": "^7.7.1",
|
||||
"tailwind-merge": "^2.5.5",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"tiptap-extension-auto-joiner": "^0.1.3",
|
||||
@@ -128,6 +129,7 @@
|
||||
"@types/mime-types": "^2.1.4",
|
||||
"@types/react": "^18.3.12",
|
||||
"@types/react-dom": "^18.3.1",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@types/unzipper": "^0.10.10",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"electron": "^34.0.1",
|
||||
@@ -7205,6 +7207,13 @@
|
||||
"integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/semver": {
|
||||
"version": "7.5.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
|
||||
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/send": {
|
||||
"version": "0.17.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
|
||||
@@ -17641,9 +17650,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.6.3",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
|
||||
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
|
||||
"version": "7.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
|
||||
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
|
||||
"license": "ISC",
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
|
||||
Reference in New Issue
Block a user