Migrate app to TypeScript (#1637)
* Initial setup and migrated src/common * WIP * WIP * WIP * Main module basically finished * Renderer process migrated * Added CI step and some fixes * Fixed remainder of issues and added proper ESLint config * Fixed a couple issues * Progress! * Some more fixes * Fixed a test * Fix build step * PR feedback
This commit is contained in:
48
src/main/AppVersionManager.ts
Normal file
48
src/main/AppVersionManager.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
// Copyright (c) 2015-2016 Yuya Ochiai
|
||||
|
||||
import {AppState} from 'types/appState';
|
||||
|
||||
import JsonFileManager from '../common/JsonFileManager';
|
||||
|
||||
import * as Validator from './Validator';
|
||||
|
||||
export default class AppVersionManager extends JsonFileManager<AppState> {
|
||||
constructor(file: string) {
|
||||
super(file);
|
||||
|
||||
// ensure data loaded from file is valid
|
||||
const validatedJSON = Validator.validateAppState(this.json);
|
||||
if (!validatedJSON) {
|
||||
this.setJson({});
|
||||
}
|
||||
}
|
||||
set lastAppVersion(version) {
|
||||
this.setValue('lastAppVersion', version);
|
||||
}
|
||||
|
||||
get lastAppVersion() {
|
||||
return this.getValue('lastAppVersion');
|
||||
}
|
||||
|
||||
set skippedVersion(version) {
|
||||
this.setValue('skippedVersion', version);
|
||||
}
|
||||
|
||||
get skippedVersion() {
|
||||
return this.getValue('skippedVersion');
|
||||
}
|
||||
|
||||
set updateCheckedDate(date) {
|
||||
this.setValue('updateCheckedDate', date?.toISOString());
|
||||
}
|
||||
|
||||
get updateCheckedDate() {
|
||||
const date = this.getValue('updateCheckedDate');
|
||||
if (date) {
|
||||
return new Date(date);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user