Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
shanalikhan committed Nov 25, 2019
1 parent f662ea8 commit 318db60
Show file tree
Hide file tree
Showing 14 changed files with 786 additions and 708 deletions.
29 changes: 2 additions & 27 deletions src/commons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import { CustomConfig } from "./models/customConfig.model";
import { ExtensionConfig } from "./models/extensionConfig.model";
import { LocalConfig } from "./models/localConfig.model";
import { IExtensionState } from "./models/state.model";
import { AutoUploadService } from "./service/autoUpload.service";
import { File, FileService } from "./service/file.service";
import { ExtensionInformation } from "./service/plugin.service";
import { AutoUploadService } from "./service/watcher/autoUpload.service";
import { WebviewService } from "./service/webview.service";

export default class Commons {
Expand Down Expand Up @@ -79,32 +79,7 @@ export default class Commons {
public ERROR_MESSAGE: string = localize("common.error.message");

constructor(private state: IExtensionState) {
this.InitializeAutoUpload();
}

public async InitializeAutoUpload() {
const ignored = AutoUploadService.GetIgnoredItems(
await this.GetCustomSettings()
);
this.autoUploadService = new AutoUploadService(ignored);
}

public async HandleStartWatching() {
if (this.autoUploadService) {
this.autoUploadService.StartWatching();
} else {
await this.InitializeAutoUpload();
this.HandleStartWatching();
}
}

public async HandleStopWatching() {
if (this.autoUploadService) {
this.autoUploadService.StopWatching();
} else {
await this.InitializeAutoUpload();
this.HandleStopWatching();
}
// state.watcher.InitializeAutoUpload();
}

public async InitalizeSettings(): Promise<LocalConfig> {
Expand Down
3 changes: 3 additions & 0 deletions src/enums/syncMethod.enum.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export enum SyncMethod {
GitHubGist = "GitHubGist"
}
6 changes: 6 additions & 0 deletions src/models/ISyncService.model.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export interface ISyncService {
Export(optArgument?: any[]): Promise<void>;
Import(optArgument?: any[]): Promise<void>;
IsConfigured(optArgument?: any[]): Promise<boolean>;
Reset(optArgument?: any[]): Promise<void>;
}
2 changes: 2 additions & 0 deletions src/models/state.model.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { ExtensionContext } from "vscode";
import Commons from "../commons";
import { Environment } from "../environmentPath";
import { WatcherService } from "../service/watcher/watcher.service";

export interface IExtensionState {
context?: ExtensionContext;
environment?: Environment;
commons?: Commons;
instanceID: string;
watcher?: WatcherService;
}
16 changes: 16 additions & 0 deletions src/service/factory.service.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { SyncMethod } from "../enums/syncMethod.enum";
import { ISyncService } from "../models/ISyncService.model";
import { IExtensionState } from "../models/state.model";
import { GistService } from "./github/gist.service";

export class FactoryService {
public static CreateSyncService(
state: IExtensionState,
method: string
): ISyncService {
return new this.syncMethods[method](state);
}
private static syncMethods = {
[SyncMethod.GitHubGist]: GistService
};
}
Loading

0 comments on commit 318db60

Please sign in to comment.