Skip to content

Commit

Permalink
Changes after review
Browse files Browse the repository at this point in the history
  • Loading branch information
vitalii-bezuhlyi committed Mar 21, 2024
1 parent 4746dab commit a31468f
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 9 deletions.
25 changes: 17 additions & 8 deletions Apps.Lionbridge/Actions/JobActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
using Apps.Lionbridge.Models.Dtos;
using Apps.Lionbridge.Models.Requests.Job;
using Apps.Lionbridge.Models.Requests.Provider;
using Apps.Lionbridge.Models.Requests.Request;
using Apps.Lionbridge.Models.Responses.TranslationContent;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Actions;
using Blackbird.Applications.Sdk.Common.Invocation;
Expand Down Expand Up @@ -116,6 +114,19 @@ public async Task<JobDto> UpdateJob([ActionParameter] GetJobRequest jobRequest,
connectorVersion = apiUpdateRequest.ConnectorVersion,
serviceType = apiUpdateRequest.ServiceType
});

if(request.JobCompletionStatus != null)
{
if(request.JobCompletionStatus == "COMPLETED")
{
return await CompleteJob(jobRequest.JobId);
}

if(request.JobCompletionStatus == "IN_TRANSLATION")
{
return await IntranslateJob(jobRequest.JobId);
}
}

return await Client.ExecuteWithErrorHandling<JobDto>(apiRequest);
}
Expand Down Expand Up @@ -143,17 +154,15 @@ public async Task<JobDto> UnarchiveJob([ActionParameter] GetJobRequest request)
return await Client.ExecuteWithErrorHandling<JobDto>(apiRequest);
}

[Action("Complete job", Description = "Complete a translation job")]
public async Task<JobDto> CompleteJob([ActionParameter] GetJobRequest request)
protected async Task<JobDto> CompleteJob(string jobId)
{
var apiRequest = new LionbridgeRequest($"{ApiEndpoints.Jobs}/{request.JobId}/complete", Method.Put);
var apiRequest = new LionbridgeRequest($"{ApiEndpoints.Jobs}/{jobId}/complete", Method.Put);
return await Client.ExecuteWithErrorHandling<JobDto>(apiRequest);
}

[Action("Intranslate job", Description = "Set job status to IN_TRANSLATION. Allows further translations from being imported again. Only valid when job is currently COMPLETED")]
public async Task<JobDto> IntranslateJob([ActionParameter] GetJobRequest request)
protected async Task<JobDto> IntranslateJob(string jobId)
{
var apiRequest = new LionbridgeRequest($"{ApiEndpoints.Jobs}/{request.JobId}/intranslation", Method.Put);
var apiRequest = new LionbridgeRequest($"{ApiEndpoints.Jobs}/{jobId}/intranslation", Method.Put);
return await Client.ExecuteWithErrorHandling<JobDto>(apiRequest);
}
}
2 changes: 1 addition & 1 deletion Apps.Lionbridge/Actions/RequestActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public async Task<GetRequestsResponse> GetRequests([ActionParameter] GetRequests
return await GetRequests(jobRequest.JobId, jobRequest.RequestIds);
}

[Action("Create source content request", Description = "Create a new translation request.")]
// [Action("Create source content request", Description = "Create a new translation request.")]
public async Task<RequestDto> CreateSingleRequest([ActionParameter] AddSourceRequestModel request,
[ActionParameter] GetJobRequest jobRequest)
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using Blackbird.Applications.Sdk.Utils.Sdk.DataSourceHandlers;

namespace Apps.Lionbridge.DataSourceHandlers.EnumDataHandlers;

public class JobCompletionStatuses : EnumDataHandler
{
protected override Dictionary<string, string> EnumValues => new()
{
{ "IN_TRANSLATION", "In translation" },
{ "COMPLETED", "Complete" },
};
}
4 changes: 4 additions & 0 deletions Apps.Lionbridge/Models/Requests/Job/UpdateJobRequest.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Apps.Lionbridge.DataSourceHandlers;
using Apps.Lionbridge.DataSourceHandlers.EnumDataHandlers;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Dynamic;

Expand Down Expand Up @@ -41,4 +42,7 @@ public class UpdateJobRequest
[Display("Label values", Description = "Label values. For each specified value, a respective key should be added " +
"in the 'Label keys' input parameter.")]
public IEnumerable<string>? LabelValues { get; set; }

[Display("Job status"), DataSource(typeof(JobCompletionStatuses))]
public string? JobCompletionStatus { get; set; }
}

0 comments on commit a31468f

Please sign in to comment.