Skip to content

Commit

Permalink
Project dynamic input
Browse files Browse the repository at this point in the history
  • Loading branch information
bohdanm-bb committed Mar 19, 2024
1 parent 00e44c2 commit d1095b6
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
32 changes: 32 additions & 0 deletions Apps.BWX/DataSourceHandlers/ProjectDataHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
using Apps.BWX.Api;
using Apps.BWX.Dtos;
using Apps.BWX.Invocables;
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
{
public class ProjectDataHandler : BWXInvocable, IAsyncDataSourceHandler
{
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);

return projects.Where(el =>
context.SearchString is null ||
el.Reference.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.ToDictionary(k => k.Uuid, v => $"{v.Reference} ({v.Name})");
}
}
}
7 changes: 6 additions & 1 deletion Apps.BWX/Models/Requests/Project/GetProjectRequest.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
using System;
using Apps.BWX.DataSourceHandlers;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Dynamic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Expand All @@ -8,6 +11,8 @@ namespace Apps.BWX.Models.Requests.Project
{
public class GetProjectRequest
{
[Display("Project ID")]
[DataSource(typeof(ProjectDataHandler))]
public string ProjectId { get; set; }
}
}

0 comments on commit d1095b6

Please sign in to comment.