1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

add user-store file name migration (#733)

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
This commit is contained in:
Sebastian Malton 2021-03-23 11:56:04 -04:00 committed by GitHub
parent 62c3501011
commit 0b99377feb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 1 deletions

View File

@ -10,6 +10,7 @@ import { kubeConfigDefaultPath, loadConfig } from "./kube-helpers";
import { appEventBus } from "./event-bus";
import logger from "../main/logger";
import path from "path";
import { fileNameMigration } from "../migrations/user-store";
export interface UserStoreModel {
kubeConfigPath: string;
@ -37,7 +38,7 @@ export class UserStore extends BaseStore<UserStoreModel> {
private constructor() {
super({
// configName: "lens-user-store", // todo: migrate from default "config.json"
configName: "lens-user-store",
migrations,
});
@ -85,6 +86,16 @@ export class UserStore extends BaseStore<UserStoreModel> {
}
}
async load(): Promise<void> {
/**
* This has to be here before the call to `new Config` in `super.load()`
* as we have to make sure that file is in the expected place for that call
*/
await fileNameMigration();
return super.load();
}
get isNewVersion() {
return semver.gt(getAppVersion(), this.lastSeenAppVersion);
}

View File

@ -0,0 +1,22 @@
import fse from "fs-extra";
import { app, remote } from "electron";
import path from "path";
export async function fileNameMigration() {
const userDataPath = (app || remote.app).getPath("userData");
const configJsonPath = path.join(userDataPath, "config.json");
const lensUserStoreJsonPath = path.join(userDataPath, "lens-user-store.json");
try {
await fse.move(configJsonPath, lensUserStoreJsonPath);
} catch (error) {
if (error.code === "ENOENT" && error.path === configJsonPath) { // (No such file or directory)
return; // file already moved
} else if (error.message === "dest already exists.") {
await fse.remove(configJsonPath);
} else {
// pass other errors along
throw error;
}
}
}

View File

@ -1,6 +1,11 @@
// User store migrations
import version210Beta4 from "./2.1.0-beta.4";
import { fileNameMigration } from "./file-name-migration";
export {
fileNameMigration
};
export default {
...version210Beta4,