Skip to content
This repository has been archived by the owner on Jul 6, 2020. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
shanalikhan committed Aug 19, 2019
1 parent 4cc9f17 commit 6107ca7
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 58 deletions.
4 changes: 3 additions & 1 deletion src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ export async function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(
vscode.commands.registerCommand(
"extension.updateSettings",
sync.upload.bind(sync)
(optArgument?: string) => {
sync.upload.bind(sync, optArgument)();
}
)
);
context.subscriptions.push(
Expand Down
15 changes: 10 additions & 5 deletions src/service/github.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import * as GitHubApi from "@octokit/rest";
import * as HttpsProxyAgent from "https-proxy-agent";
import * as vscode from "vscode";
import Commons from "../commons";
import { CloudSettings } from "../models/cloudSettings.model";
import { state } from "../state";
import { File } from "./file.service";

Expand Down Expand Up @@ -150,13 +151,17 @@ export class GitHubService {
if (!gist) {
return;
}
const gistLastUpload = new Date(
JSON.parse(gist.data.files.cloudSettings.content).lastUpload
);
if (!localLastUpload) {
let gistCloudSetting: CloudSettings = null;
try {
gistCloudSetting = JSON.parse(gist.data.files.cloudSettings.content);
const gistLastUpload = new Date(gistCloudSetting.lastUpload);
if (!localLastUpload) {
return false;
}
return gistLastUpload >= localLastUpload;
} catch (err) {
return false;
}
return gistLastUpload > localLastUpload;
}

public UpdateGIST(gistObject: any, files: File[]): any {
Expand Down
106 changes: 54 additions & 52 deletions src/sync.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ export class Sync {
/**
* Upload setting to github gist
*/
public async upload(): Promise<void> {
public async upload(optArgument?: string): Promise<void> {
// @ts-ignore
const args = arguments;
// const args = arguments;
let github: GitHubService = null;
const localConfig = await state.commons.InitalizeSettings();

Expand All @@ -84,8 +84,8 @@ export class Sync {

try {
localConfig.publicGist = false;
if (args.length > 0) {
if (args[0] === "publicGIST") {
if (optArgument) {
if (optArgument === "publicGIST") {
localConfig.publicGist = true;
}
}
Expand All @@ -95,45 +95,6 @@ export class Sync {
localConfig.customConfig.githubEnterpriseUrl
);

if (
localConfig.customConfig.lastUpload &&
!localConfig.extConfig.forceUpload
) {
const gistNewer = await github.IsGistNewer(
localConfig.extConfig.gist,
new Date(localConfig.customConfig.lastUpload)
);
if (gistNewer) {
if (
state.context.globalState.get<boolean>(
"gistNewer.dontShowThisAgain"
)
) {
return;
}
const message = await vscode.window.showInformationMessage(
localize("common.prompt.gistNewer"),
"Yes",
"Don't Show This Again"
);
if (message === "Yes") {
localConfig.extConfig.forceUpload = true;
} else if (message === "Don't Show This Again") {
await state.context.globalState.update(
"gistNewer.dontShowThisAgain",
true
);
return;
} else {
vscode.window.setStatusBarMessage(
localize("cmd.updateSettings.info.uploadCanceled"),
3
);
return;
}
}
}

await startGitProcess.call(
this,
localConfig.extConfig,
Expand Down Expand Up @@ -163,7 +124,6 @@ export class Sync {
}
}

customSettings.lastUpload = dateNow;
vscode.window.setStatusBarMessage(
localize("cmd.updateSettings.info.readding"),
2000
Expand Down Expand Up @@ -293,7 +253,48 @@ export class Sync {
return;
}
}

if (customSettings.lastUpload && !syncSetting.forceUpload) {
if (syncSetting.gist != null && syncSetting.gist !== "") {
const gistNewer = await github.IsGistNewer(
syncSetting.gist,
new Date(customSettings.lastUpload)
);
if (gistNewer) {
if (
state.context.globalState.get<boolean>(
"gistNewer.dontShowThisAgain"
)
) {
return;
}
const message = await vscode.window.showInformationMessage(
localize("common.prompt.gistNewer"),
"Yes",
"Don't Show This Again"
);
if (message === "Yes") {
syncSetting.forceUpload = true;
} else if (message === "Don't Show This Again") {
await state.context.globalState.update(
"gistNewer.dontShowThisAgain",
true
);
return;
} else {
vscode.window.setStatusBarMessage(
localize("cmd.updateSettings.info.uploadCanceled"),
3
);
return;
}
}
}
}

customSettings.lastUpload = dateNow;
let gistObj = await github.ReadGist(syncSetting.gist);

if (!gistObj) {
return;
}
Expand Down Expand Up @@ -403,7 +404,7 @@ export class Sync {
);
}

if (localConfig.publicGist) {
if (optArgument) {
vscode.window.showInformationMessage(
localize("cmd.updateSettings.info.shareGist")
);
Expand Down Expand Up @@ -721,13 +722,14 @@ export class Sync {
null,
localSettings
);
const message = await vscode.window.showInformationMessage(
localize("common.prompt.restartCode"),
"Yes"
);

if (message === "Yes") {
vscode.commands.executeCommand("workbench.action.reloadWindow");
if (deletedExtensions.length > 0 || addedExtensions.length > 0) {
const message = await vscode.window.showInformationMessage(
localize("common.prompt.restartCode"),
"Yes"
);
if (message === "Yes") {
vscode.commands.executeCommand("workbench.action.reloadWindow");
}
}
vscode.window.setStatusBarMessage("").dispose();
} else {
Expand Down

0 comments on commit 6107ca7

Please sign in to comment.