From a184162148a22378cf9de62a544aec2ccb09636c Mon Sep 17 00:00:00 2001 From: Yevheniy Oliynyk Date: Sat, 23 Dec 2023 18:10:19 +0200 Subject: [PATCH] fixes --- src/client/crowdinClient.ts | 5 ++++- src/config/configModel.ts | 4 ++-- src/plugin/progress/progressTreeProvider.ts | 4 +++- src/plugin/tree/bundles/bundlesTreeBuilder.ts | 2 +- src/plugin/tree/treeProvider.ts | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/client/crowdinClient.ts b/src/client/crowdinClient.ts index ed9a6d9..751f23c 100644 --- a/src/client/crowdinClient.ts +++ b/src/client/crowdinClient.ts @@ -20,7 +20,8 @@ export class CrowdinClient { readonly apiKey: string, readonly docUri: vscode.Uri, readonly branch?: string, - readonly organization?: string + readonly organization?: string, + readonly stringsBased?: boolean ) { const credentials: Credentials = { token: apiKey, @@ -185,6 +186,8 @@ export class CrowdinClient { scheme?: Scheme, type?: SourceFilesModel.FileType ): Promise { + //TODO handle strings based projects + let branchId: number | undefined; const branch = this.crowdinBranch; diff --git a/src/config/configModel.ts b/src/config/configModel.ts index 96cc511..c2cd99f 100644 --- a/src/config/configModel.ts +++ b/src/config/configModel.ts @@ -12,6 +12,6 @@ export interface ConfigModel { files: FileModel[]; } -export function buildClient(docUri: vscode.Uri, config: ConfigModel) { - return new CrowdinClient(config.projectId, config.apiKey, docUri, config.branch, config.organization); +export function buildClient(docUri: vscode.Uri, config: ConfigModel, stringsBased = false) { + return new CrowdinClient(config.projectId, config.apiKey, docUri, config.branch, config.organization, stringsBased); } diff --git a/src/plugin/progress/progressTreeProvider.ts b/src/plugin/progress/progressTreeProvider.ts index bcd4e89..023edd5 100644 --- a/src/plugin/progress/progressTreeProvider.ts +++ b/src/plugin/progress/progressTreeProvider.ts @@ -1,3 +1,4 @@ +import { ProjectsGroupsModel } from '@crowdin/crowdin-api-client'; import * as path from 'path'; import * as vscode from 'vscode'; import { buildClient } from '../../config/configModel'; @@ -27,7 +28,8 @@ export class ProgressTreeProvider implements vscode.TreeDataProvider { try { - const client = buildClient(workspace.uri, config); + const isStringsBased = project.type === ProjectsGroupsModel.Type.STRINGS_BASED; + const client = buildClient(workspace.uri, config, isStringsBased); const { translationStatusApi, languagesApi } = client.crowdin; const languages = await languagesApi.withFetchAll().listSupportedLanguages(); const progress = await translationStatusApi.withFetchAll().getProjectProgress(config.projectId); diff --git a/src/plugin/tree/bundles/bundlesTreeBuilder.ts b/src/plugin/tree/bundles/bundlesTreeBuilder.ts index 4447c90..a767a4a 100644 --- a/src/plugin/tree/bundles/bundlesTreeBuilder.ts +++ b/src/plugin/tree/bundles/bundlesTreeBuilder.ts @@ -6,7 +6,7 @@ import { BundlesTreeItem } from './bundlesTreeItem'; export class BundlesTreeBuilder { static async buildBundlesTree(workspace: vscode.WorkspaceFolder, config: ConfigModel): Promise { - const client = buildClient(workspace.uri, config); + const client = buildClient(workspace.uri, config, true); return new BundlesTreeItem({ client, label: workspace.name, diff --git a/src/plugin/tree/treeProvider.ts b/src/plugin/tree/treeProvider.ts index f14046f..1cc13e0 100644 --- a/src/plugin/tree/treeProvider.ts +++ b/src/plugin/tree/treeProvider.ts @@ -122,7 +122,7 @@ export class TreeProvider implements vscode.TreeDataProvider { return rootTreeFolder; } - const client = buildClient(workspace.uri, config); + const client = buildClient(workspace.uri, config, isStringsBased); const rootTreeFolder = await FilesTreeBuilder.buildRootFolder( workspace,