diff --git a/Apps.Crowdin/Actions/TranslationActions.cs b/Apps.Crowdin/Actions/TranslationActions.cs index c160749..2250c1b 100644 --- a/Apps.Crowdin/Actions/TranslationActions.cs +++ b/Apps.Crowdin/Actions/TranslationActions.cs @@ -15,6 +15,7 @@ using Crowdin.Api.StringTranslations; using Crowdin.Api.Translations; using RestSharp; +using Apps.Crowdin.Models.Request; namespace Apps.Crowdin.Actions; @@ -35,7 +36,8 @@ public TranslationActions(InvocationContext invocationContext, IFileManagementCl [Action("Apply pre-translation", Description = "Apply pre-translation to chosen files")] public async Task PreTranslate( [ActionParameter] ProjectRequest project, - [ActionParameter] PreTranslateRequest input) + [ActionParameter] PreTranslateRequest input, + [ActionParameter] UserRequest user) { var intProjectId = IntParser.Parse(project.ProjectId, nameof(project.ProjectId)); var intEngineId = IntParser.Parse(input.EngineId, nameof(input.EngineId)); diff --git a/Apps.Crowdin/DataSourceHandlers/AiPromptIdDataHandler.cs b/Apps.Crowdin/DataSourceHandlers/AiPromptIdDataHandler.cs index 102bdf0..c97b7e7 100644 --- a/Apps.Crowdin/DataSourceHandlers/AiPromptIdDataHandler.cs +++ b/Apps.Crowdin/DataSourceHandlers/AiPromptIdDataHandler.cs @@ -16,8 +16,8 @@ namespace Apps.Crowdin.DataSourceHandlers; public class AiPromptIdDataHandler( InvocationContext invocationContext, - [ActionParameter] ProjectRequest project, - [ActionParameter][Display("User ID")] string? UserId) + [ActionParameter] ProjectRequest project, + [ActionParameter] UserRequest user) : BaseInvocable(invocationContext), IAsyncDataSourceHandler { @@ -27,7 +27,7 @@ public class AiPromptIdDataHandler( public async Task> GetDataAsync(DataSourceContext context, CancellationToken cancellationToken) { - if (string.IsNullOrEmpty(project.ProjectId) || string.IsNullOrEmpty(UserId)) + if (string.IsNullOrEmpty(project.ProjectId) || string.IsNullOrEmpty(user.UserId)) throw new("You should input Project ID and User ID first"); var client = new CrowdinRestClient(); @@ -37,7 +37,7 @@ public async Task> GetDataAsync(DataSourceContext con { var request = new CrowdinRestRequest( - $"/users/{UserId}/ai/prompts?limit={lim}&offset={offset}", + $"/users/{user.UserId}/ai/prompts?limit={lim}&offset={offset}", Method.Get, Creds); request.AddQueryParameter("projectId", project.ProjectId); request.AddQueryParameter("action", "pre_translate"); diff --git a/Apps.Crowdin/Models/Request/UserRequest.cs b/Apps.Crowdin/Models/Request/UserRequest.cs new file mode 100644 index 0000000..c458059 --- /dev/null +++ b/Apps.Crowdin/Models/Request/UserRequest.cs @@ -0,0 +1,15 @@ +using Blackbird.Applications.Sdk.Common; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Apps.Crowdin.Models.Request +{ + public class UserRequest + { + [Display("User ID")] + public string? UserId { get; set; } + } +}