From f8f2c4fe5942193aa2821bca01962ef13a715ab2 Mon Sep 17 00:00:00 2001 From: "@mazikiou" <mazikiou@takima.fr> Date: Tue, 5 Jul 2022 08:51:30 +0200 Subject: [PATCH] fix: removed '-' from usernames, added new field 'userID' --- .../deadlock-extension/src/core/controller.ts | 23 +++++++++++++++---- .../src/core/mission/missionDevContainer.ts | 10 ++++---- .../src/core/mission/model/userMission.ts | 1 + .../src/view/quickSetupView.ts | 4 ++-- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/deadlock-plugins/deadlock-extension/src/core/controller.ts b/deadlock-plugins/deadlock-extension/src/core/controller.ts index eb8f402a..6e9c4473 100644 --- a/deadlock-plugins/deadlock-extension/src/core/controller.ts +++ b/deadlock-plugins/deadlock-extension/src/core/controller.ts @@ -7,7 +7,7 @@ import KeycloakOAuth2DeviceFlowConnection from './keycloakOAuth2DeviceFlowConnec import ApiService from './api.service'; import { GiteaPublicProperties } from '../model/giteaPublicProperties.model'; import { MissionDevContainer } from './mission/missionDevContainer'; -import { extensionError, extensionLog as log } from '../recorder/utils/log'; +import { extensionError, extensionLog as log, extensionWarn } from '../recorder/utils/log'; import { commands, ExtensionContext, Uri, window } from 'vscode'; import { createSshKeyFiles } from './sshKeyManager'; import { emptyDirectories, removeFilesOrDirectories } from '../recorder/utils/workdir'; @@ -132,9 +132,24 @@ export default class Controller { } public async disconnect() { - await removeFilesOrDirectories(`${userSshKeyFolderPath}/id_rsa`, `${userSshKeyFolderPath}/id_rsa.pub`); - await emptyDirectories(missionWorkdir); - await this.extensionStore.clear(); + try { + await removeFilesOrDirectories(`${userSshKeyFolderPath}/id_rsa`, `${userSshKeyFolderPath}/id_rsa.pub`); + } catch (e) { + extensionWarn('Could not remove ssh key files'); + extensionWarn(e); + } + try { + await emptyDirectories(missionWorkdir); + } catch (e) { + extensionWarn('Could not empty mission workdir'); + extensionWarn(e); + } + try { + await this.extensionStore.clear(); + } catch (e) { + extensionWarn('Could not clear extension store'); + extensionWarn(e); + } this.quickSetupView.isAlreadyConnected = false; } diff --git a/deadlock-plugins/deadlock-extension/src/core/mission/missionDevContainer.ts b/deadlock-plugins/deadlock-extension/src/core/mission/missionDevContainer.ts index f1959c94..0dddfb60 100644 --- a/deadlock-plugins/deadlock-extension/src/core/mission/missionDevContainer.ts +++ b/deadlock-plugins/deadlock-extension/src/core/mission/missionDevContainer.ts @@ -90,18 +90,20 @@ export class MissionDevContainer { return this.currentUser.id !== this.user.id; } - private createUserChallengeJsonFile() { + private async createUserChallengeJsonFile() { return writeFile( `${this.dirs.config}/user-challenge.json`, (() => { + const username = this.user.id.split('-').join(''); const userChallengeJson: UserMission = { giteaHost: this.giteaProperties.sshHost, + userId: this.user.id, giteaSshPort: this.giteaProperties.sshPort, - username: this.user.id.split('-').join(''), - email: `${this.user.id.split('-').join('')}@deadlock.io`, + username, + email: `${username}@deadlock.io`, missionId: this.missionId, missionVersion: this.missionVersion, - remoteGitUsername: this.user.id.split('-').join(''), + remoteGitUsername: username, currentUserDetails: this.currentUser.details, currentUserId: this.currentUser.id, remoteUserDetails: this.user.details, diff --git a/deadlock-plugins/deadlock-extension/src/core/mission/model/userMission.ts b/deadlock-plugins/deadlock-extension/src/core/mission/model/userMission.ts index ea53d0aa..06322399 100644 --- a/deadlock-plugins/deadlock-extension/src/core/mission/model/userMission.ts +++ b/deadlock-plugins/deadlock-extension/src/core/mission/model/userMission.ts @@ -1,6 +1,7 @@ interface UserMission { giteaHost: string; giteaSshPort: number; + userId: string; username: string; currentUserId: string; email: string; diff --git a/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts b/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts index c64d69c1..7610ca20 100644 --- a/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts +++ b/deadlock-plugins/deadlock-extension/src/view/quickSetupView.ts @@ -70,7 +70,7 @@ export default class QuickSetupView extends WebviewBase { ) { return ` <div class="deadlock-getting-started-card"> - <vscode-checkbox ${isChecked ? 'checked' : ''} readonly> </vscode-checkbox> + <vscode-checkbox ${isChecked ? 'checked ' : ''}readonly></vscode-checkbox> <div class="card-body"> <div class="card-title"> ${title} @@ -78,7 +78,7 @@ export default class QuickSetupView extends WebviewBase { <div class="card-description"> ${description} </div> - <vscode-button ${isDisabled ? 'disabled' : ''} onclick="${ + <vscode-button${isDisabled ? ' disabled' : ''} onclick="${ button.onClickFunctionName }(${callbackArgs})">${button.name}</vscode-button> </div> -- GitLab