Skip to content

Commit

Permalink
Import glossary test
Browse files Browse the repository at this point in the history
  • Loading branch information
bohdanm-bb committed May 1, 2024
1 parent 69b7af4 commit 27a9a01
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 13 deletions.
24 changes: 11 additions & 13 deletions Apps.BWX/Actions/GlossaryActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
using Apps.BWX.Invocables;
using Apps.BWX.Models.Glossary.Requests;
using Apps.BWX.Models.Glossary.Responses;
using Apps.BWX.Models.Project.Requests;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Actions;
using Blackbird.Applications.Sdk.Common.Invocation;
using Blackbird.Applications.Sdk.Glossaries.Utils.Converters;
using Blackbird.Applications.Sdk.Utils.Extensions.Files;
using Blackbird.Applications.SDK.Extensions.FileManagement.Interfaces;
using RestSharp;
using System.Net.Mime;
Expand Down Expand Up @@ -68,21 +70,17 @@ public async Task<ExportGlossaryResponse> ExportGlossary([ActionParameter] Expor
return new ExportGlossaryResponse() { File = await _fileManagementClient.UploadAsync(resultStream, MediaTypeNames.Application.Xml, $"{glossaryInfo.Name}.tbx") };
}

//[Action("Import glossary", Description = "Import glossary")]
//public async Task ImportGlossary([ActionParameter] ImportGlossaryRequest input)
//{
// var client = new PhraseTmsClient(InvocationContext.AuthenticationCredentialsProviders);

// var fileStream = await _fileManagementClient.DownloadAsync(input.File);
// var fileTBXV2Stream = await fileStream.ConvertFromTBXV3ToV2();
[Action("Import glossary", Description = "Import glossary")]
public async Task ImportGlossary([ActionParameter] ImportGlossaryRequest input)
{
var fileStream = await _fileManagementClient.DownloadAsync(input.File);
var fileTBXV2Stream = await fileStream.ConvertFromTbxV3ToV2();

// var endpointGlossaryData = $"/api2/v1/termBases/{input.GlossaryUId}/upload";
// var requestGlossaryData = new PhraseTmsRequest(endpointGlossaryData.WithQuery(new { updateTerms = false }), Method.Post, InvocationContext.AuthenticationCredentialsProviders);
// requestGlossaryData.AddHeader("Content-Disposition", $"filename*=UTF-8''{input.File.Name}");
// requestGlossaryData.AddParameter("application/octet-stream", fileTBXV2Stream.GetByteData().Result, ParameterType.RequestBody);
var initImportRequest = new BWXRequest($"/api/v3/glossary/{input.GlossaryId}/import-tbx", Method.Post, Creds);
initImportRequest.AddFile("file", await fileTBXV2Stream.GetByteData(), input.File.Name);

// await client.ExecuteWithHandling(requestGlossaryData);
//}
await Client.ExecuteWithErrorHandling(initImportRequest);
}

private async Task<GlossaryDto> GetGlossary([ActionParameter] ExportGlossaryRequest input)
{
Expand Down
22 changes: 22 additions & 0 deletions Apps.BWX/Models/Glossary/Requests/ImportGlossaryRequest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using Apps.BWX.DataSourceHandlers;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Dynamic;
using Blackbird.Applications.Sdk.Common.Files;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Apps.BWX.Models.Glossary.Requests
{
public class ImportGlossaryRequest
{
[Display("Glossary", Description = "Existing glossary for import")]
[DataSource(typeof(GlossaryDataHandler))]
public string GlossaryId { get; set; }

[Display("Glossary file", Description = "Glossary file exported from other Blackbird apps")]
public FileReference File { get; set; }
}
}

0 comments on commit 27a9a01

Please sign in to comment.