Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Categories #3

Merged
merged 4 commits into from
Apr 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Apps.BWX/Api/BWXClient.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using Apps.BWX.Constants;
using Apps.BWX.Models.Responses;
using Blackbird.Applications.Sdk.Utils.Extensions.String;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RestSharp;
Expand Down
4 changes: 2 additions & 2 deletions Apps.BWX/Apps.BWX.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Product>BWX</Product>
<Version>1.0.1</Version>
<Version>1.0.2</Version>
<Description>Bureau Works is cutting edge translation software that helps its users translate at greater speeds and with an increased sense of authorship.</Description>
<AssemblyName>Apps.BWX</AssemblyName>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Blackbird.Applications.Sdk.Common" Version="2.5.0" />
<PackageReference Include="Blackbird.Applications.Sdk.Common" Version="2.6.0" />
<PackageReference Include="Blackbird.Applications.SDK.Extensions.FileManagement" Version="1.0.2-alpha1" />
<PackageReference Include="Blackbird.Applications.Sdk.Utils" Version="1.0.25" />
<PackageReference Include="MimeMapping" Version="3.0.1" />
Expand Down
11 changes: 8 additions & 3 deletions Apps.BWX/BWXApplication.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Authentication.OAuth2;
using Blackbird.Applications.Sdk.Common.Invocation;
using Blackbird.Applications.Sdk.Common.Metadata;

namespace Apps.BWX;

public class BWXApplication : IApplication
public class BWXApplication : IApplication, ICategoryProvider
{
public IEnumerable<ApplicationCategory> Categories
{
get => [ApplicationCategory.CatAndTms];
set { }
}

public string Name
{
get => "BWX";
Expand Down
29 changes: 14 additions & 15 deletions Apps.BWX/DataSourceHandlers/ClientDataHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,22 @@
* Next method is based on web platform calls
**/

namespace Apps.BWX.DataSourceHandlers
namespace Apps.BWX.DataSourceHandlers;

public class ClientDataHandler : BWXInvocable, IAsyncDataSourceHandler
{
public class ClientDataHandler : BWXInvocable, IAsyncDataSourceHandler
public ClientDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
public ClientDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
}
}

public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v3/client", Method.Get, Creds);
var languages = await Client.Paginate<ClientDto>(request);
public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v3/client", Method.Get, Creds);
var languages = await Client.Paginate<ClientDto>(request);

return languages.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => v.Name);
}
return languages.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => v.Name);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,21 +1,16 @@
using Blackbird.Applications.Sdk.Utils.Sdk.DataSourceHandlers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Blackbird.Applications.Sdk.Common.Dictionaries;

namespace Apps.BWX.DataSourceHandlers.EnumDataHandlers
namespace Apps.BWX.DataSourceHandlers.EnumDataHandlers;

public class ProjectStatusDataHandler : IStaticDataSourceHandler
{
public class ProjectStatusDataHandler : EnumDataHandler
public Dictionary<string, string> GetData()
=> new()
{
protected override Dictionary<string, string> EnumValues => new()
{
{"Draft", "Draft"},
{"Pending", "Pending"},
{"Approved", "Approved"},
{"Delivered", "Delivered"},
{"Invoiced", "Invoiced"},
};
}
}
{"Draft", "Draft"},
{"Pending", "Pending"},
{"Approved", "Approved"},
{"Delivered", "Delivered"},
{"Invoiced", "Invoiced"},
};
}
58 changes: 26 additions & 32 deletions Apps.BWX/DataSourceHandlers/EnumDataHandlers/WorkflowDataHandler.cs
Original file line number Diff line number Diff line change
@@ -1,35 +1,29 @@
using Blackbird.Applications.Sdk.Utils.Sdk.DataSourceHandlers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Blackbird.Applications.Sdk.Common.Dictionaries;

namespace Apps.BWX.DataSourceHandlers.EnumDataHandlers
namespace Apps.BWX.DataSourceHandlers.EnumDataHandlers;

public class WorkflowDataHandler : IStaticDataSourceHandler
{
public class WorkflowDataHandler : EnumDataHandler
public Dictionary<string, string> GetData() => new()
{
protected override Dictionary<string, string> EnumValues => new()
{
{"TRANSCRIPTION","TRANSCRIPTION"},
{"TRANSLATION","TRANSLATION"},
{"PROOFREADING","PROOFREADING"},
{"REVIEW","REVIEW"},
{"REVIEW_2","REVIEW_2"},
{"REVIEW_3","REVIEW_3"},
{"ICR","ICR"},
{"REGIONAL_APPROVAL","REGIONAL_APPROVAL"},
{"ICR_2","ICR_2"},
{"WEB_QA","WEB_QA"},
{"FEEDBACK_IMPLEMENTATION","FEEDBACK_IMPLEMENTATION"},
{"DTP","DTP"},
{"QA","QA"},
{"SUBTITLING","SUBTITLING"},
{"VIDEO_EDITING","VIDEO_EDITING"},
{"VOICEOVER","VOICEOVER"},
{"SWORN","SWORN"},
{"INTERPRETATION","INTERPRETATION"},
{"DEVELOPMENT","DEVELOPMENT"}
};
}
}
{ "TRANSCRIPTION", "TRANSCRIPTION" },
{ "TRANSLATION", "TRANSLATION" },
{ "PROOFREADING", "PROOFREADING" },
{ "REVIEW", "REVIEW" },
{ "REVIEW_2", "REVIEW_2" },
{ "REVIEW_3", "REVIEW_3" },
{ "ICR", "ICR" },
{ "REGIONAL_APPROVAL", "REGIONAL_APPROVAL" },
{ "ICR_2", "ICR_2" },
{ "WEB_QA", "WEB_QA" },
{ "FEEDBACK_IMPLEMENTATION", "FEEDBACK_IMPLEMENTATION" },
{ "DTP", "DTP" },
{ "QA", "QA" },
{ "SUBTITLING", "SUBTITLING" },
{ "VIDEO_EDITING", "VIDEO_EDITING" },
{ "VOICEOVER", "VOICEOVER" },
{ "SWORN", "SWORN" },
{ "INTERPRETATION", "INTERPRETATION" },
{ "DEVELOPMENT", "DEVELOPMENT" }
};
}
29 changes: 14 additions & 15 deletions Apps.BWX/DataSourceHandlers/LanguageDataHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,22 @@
using Blackbird.Applications.Sdk.Common.Invocation;
using RestSharp;

namespace Apps.BWX.DataSourceHandlers
namespace Apps.BWX.DataSourceHandlers;

public class LanguageDataHandler : BWXInvocable, IAsyncDataSourceHandler
{
public class LanguageDataHandler : BWXInvocable, IAsyncDataSourceHandler
public LanguageDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
public LanguageDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
}
}

public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v3/language", Method.Get, Creds);
var languages = await Client.ExecuteWithErrorHandling<List<LanguageDto>>(request);
public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v3/language", Method.Get, Creds);
var languages = await Client.ExecuteWithErrorHandling<List<LanguageDto>>(request);

return languages.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Code, v => v.Name);
}
return languages.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Code, v => v.Name);
}
}
}
29 changes: 14 additions & 15 deletions Apps.BWX/DataSourceHandlers/OrganizationDataHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,22 @@
* Next method is based on web platform calls
**/

namespace Apps.BWX.DataSourceHandlers
namespace Apps.BWX.DataSourceHandlers;

public class OrganizationDataHandler : BWXInvocable, IAsyncDataSourceHandler
{
public class OrganizationDataHandler : BWXInvocable, IAsyncDataSourceHandler
public OrganizationDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
public OrganizationDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
}
}

public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v2/organization", Method.Get, Creds);
var languages = await Client.Paginate<OrganizationDto>(request);
public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v2/organization", Method.Get, Creds);
var languages = await Client.Paginate<OrganizationDto>(request);

return languages.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => v.Name);
}
return languages.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => v.Name);
}
}
}
34 changes: 14 additions & 20 deletions Apps.BWX/DataSourceHandlers/ProjectDataHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,23 @@
using Blackbird.Applications.Sdk.Common.Dynamic;
using Blackbird.Applications.Sdk.Common.Invocation;
using RestSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Apps.BWX.DataSourceHandlers
namespace Apps.BWX.DataSourceHandlers;

public class ProjectDataHandler : BWXInvocable, IAsyncDataSourceHandler
{
public class ProjectDataHandler : BWXInvocable, IAsyncDataSourceHandler
public ProjectDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
public ProjectDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
}
}

public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v3/project", Method.Get, Creds);
var projects = await Client.Paginate<ProjectDto>(request);
public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v3/project", Method.Get, Creds);
var projects = await Client.Paginate<ProjectDto>(request);

return projects.Where(el =>
context.SearchString is null ||
el.Reference.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => $"{v.Reference} ({v.Name})");
}
return projects.Where(el =>
context.SearchString is null ||
el.Reference.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => $"{v.Reference} ({v.Name})");
}
}
}
29 changes: 14 additions & 15 deletions Apps.BWX/DataSourceHandlers/ProjectManagerDataHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,22 @@
* Next method is based on web platform calls
**/

namespace Apps.BWX.DataSourceHandlers
namespace Apps.BWX.DataSourceHandlers;

public class ProjectManagerDataHandler : BWXInvocable, IAsyncDataSourceHandler
{
public class ProjectManagerDataHandler : BWXInvocable, IAsyncDataSourceHandler
public ProjectManagerDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
public ProjectManagerDataHandler(InvocationContext invocationContext) : base(invocationContext)
{
}
}

public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v3/user?simple=true&roles=PROJECT_MANAGER", Method.Get, Creds);
var projects = await Client.Paginate<UserDto>(request);
public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
var request = new BWXRequest($"/api/v3/user?simple=true&roles=PROJECT_MANAGER", Method.Get, Creds);
var projects = await Client.Paginate<UserDto>(request);

return projects.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => v.Name);
}
return projects.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => v.Name);
}
}
}
44 changes: 19 additions & 25 deletions Apps.BWX/DataSourceHandlers/ProjectResourcesDataHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,29 @@
using Blackbird.Applications.Sdk.Common.Dynamic;
using Blackbird.Applications.Sdk.Common.Invocation;
using RestSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Apps.BWX.DataSourceHandlers
namespace Apps.BWX.DataSourceHandlers;

public class ProjectResourcesDataHandler : BWXInvocable, IAsyncDataSourceHandler
{
public class ProjectResourcesDataHandler : BWXInvocable, IAsyncDataSourceHandler
{
public GetProjectRequest ProjectRequest { get; set; }
public GetProjectRequest ProjectRequest { get; set; }

public ProjectResourcesDataHandler(InvocationContext invocationContext, [ActionParameter] GetProjectRequest projectRequest) : base(invocationContext)
{
ProjectRequest = projectRequest;
}
public ProjectResourcesDataHandler(InvocationContext invocationContext, [ActionParameter] GetProjectRequest projectRequest) : base(invocationContext)
{
ProjectRequest = projectRequest;
}

public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
if (string.IsNullOrEmpty(ProjectRequest?.ProjectId))
throw new ArgumentException("Please select project first!");
public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context, CancellationToken token)
{
if (string.IsNullOrEmpty(ProjectRequest?.ProjectId))
throw new ArgumentException("Please select project first!");

var request = new BWXRequest($"/api/v3/project/{ProjectRequest.ProjectId}/resource/simple", Method.Get, Creds);
var projectResources = await Client.ExecuteWithErrorHandling<List<ProjectResourceDto>>(request);
var request = new BWXRequest($"/api/v3/project/{ProjectRequest.ProjectId}/resource/simple", Method.Get, Creds);
var projectResources = await Client.ExecuteWithErrorHandling<List<ProjectResourceDto>>(request);

return projectResources.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => v.Name);
}
return projectResources.Where(el =>
context.SearchString is null ||
el.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => v.Name);
}
}
}
Loading