Skip to content
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
17 changes: 11 additions & 6 deletions ClickUp/Actions/AttachmentActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@
using Apps.ClickUp.Models.Entities;
using Apps.ClickUp.Models.Request;
using Apps.ClickUp.Models.Request.Attachment;
using Apps.ClickUp.Models.Request.Task;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Actions;
using Blackbird.Applications.Sdk.Common.Invocation;
using Blackbird.Applications.SDK.Extensions.FileManagement.Interfaces;
using Blackbird.Applications.Sdk.Utils.Extensions.Http;
using Blackbird.Applications.Sdk.Utils.Extensions.String;
using RestSharp;
using Method = RestSharp.Method;

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("Attachment")]
public class AttachmentActions : ClickUpActions
{
private readonly IFileManagementClient _fileManagementClient;
Expand All @@ -28,15 +28,20 @@ public AttachmentActions(InvocationContext invocationContext, IFileManagementCli

[Action("Create task attachment", Description = "Adds files as an attachment to a task")]
public async Task<AttachmentEntity> CreateAttachment(
[ActionParameter] TaskRequest task,
[ActionParameter] CreateAttachmentRequest input,
[ActionParameter] CreateRequestQuery query)
{
var file = await _fileManagementClient.DownloadAsync(input.File);

var endpoint = $"{ApiEndpoints.Tasks}/{input.TaskId}{ApiEndpoints.Attachments}";
var request = new ClickUpRequest(endpoint.WithQuery(query), Method.Post, Creds)

var endpoint = $"{ApiEndpoints.Tasks}/{task.TaskId}{ApiEndpoints.Attachments}".WithQuery(query);

if (query.CustomTaskIds is true)
endpoint = endpoint.SetQueryParameter("team_id", task.TeamId);

var request = new ClickUpRequest(endpoint, Method.Post, Creds)
.AddFile("attachment", () => file, input.FileName ?? input.File.Name);

return await Client.ExecuteWithErrorHandling<AttachmentEntity>(request);
}
}
2 changes: 1 addition & 1 deletion ClickUp/Actions/CustomFieldActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("Custom field")]
public class CustomFieldActions : ClickUpActions
{
public CustomFieldActions(InvocationContext invocationContext) : base(invocationContext)
Expand Down
2 changes: 1 addition & 1 deletion ClickUp/Actions/FolderActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("Folder")]
public class FolderActions : ClickUpActions
{
public FolderActions(InvocationContext invocationContext) : base(invocationContext)
Expand Down
2 changes: 1 addition & 1 deletion ClickUp/Actions/GoalActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("Goal")]
public class GoalActions : ClickUpActions
{
public GoalActions(InvocationContext invocationContext) : base(invocationContext)
Expand Down
2 changes: 1 addition & 1 deletion ClickUp/Actions/ListActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("List")]
public class ListActions : ClickUpActions
{
public ListActions(InvocationContext invocationContext) : base(invocationContext)
Expand Down
2 changes: 1 addition & 1 deletion ClickUp/Actions/SpaceActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("Space")]
public class SpaceActions : ClickUpActions
{
public SpaceActions(InvocationContext invocationContext) : base(invocationContext)
Expand Down
20 changes: 9 additions & 11 deletions ClickUp/Actions/TagActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("Tag")]
public class TagActions : ClickUpActions
{
public TagActions(InvocationContext invocationContext) : base(invocationContext)
{
}

[Action("Get tags", Description = "Get all space tags")]
public Task<ListTagsResponse> GetTags([ActionParameter] SpaceRequest space)
{
Expand All @@ -28,30 +28,28 @@ public Task<ListTagsResponse> GetTags([ActionParameter] SpaceRequest space)

return Client.ExecuteWithErrorHandling<ListTagsResponse>(request);
}

[Action("Create tag", Description = "Create a new space tag")]
public async Task<TagEntity> CreateTag(
[ActionParameter] SpaceRequest space,
[ActionParameter] SpaceRequest space,
[ActionParameter] CreateTagInput input)
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}{ApiEndpoints.Tags}";
var request = new ClickUpRequest(endpoint, Method.Post, Creds)
.WithJsonBody(new CreateTagRequest(input), JsonConfig.Settings);

await Client.ExecuteWithErrorHandling(request);
var allTags = await GetTags(space);

return allTags.Tags.First(x => x.Name == input.Name);
}

[Action("Delete tag", Description = "Delete specific space tag")]
public Task DeleteTag(
[ActionParameter] SpaceRequest space,
[ActionParameter] TagRequest tag)
public Task DeleteTag([ActionParameter] TagRequest tag)
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}{ApiEndpoints.Tags}/{tag.TagName}";
var endpoint = $"{ApiEndpoints.Spaces}/{tag.SpaceId}{ApiEndpoints.Tags}/{tag.TagName}";
var request = new ClickUpRequest(endpoint, Method.Delete, Creds);

return Client.ExecuteWithErrorHandling(request);
}
}
5 changes: 2 additions & 3 deletions ClickUp/Actions/TaskActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("Task")]
public class TaskActions : ClickUpActions
{
public TaskActions(InvocationContext invocationContext) : base(invocationContext)
Expand Down Expand Up @@ -58,8 +58,7 @@ public Task<TaskEntity> CreateTask(
}

[Action("Delete task", Description = "Delete specific task")]
public Task DeleteTask(
[ActionParameter] TaskRequest task)
public Task DeleteTask([ActionParameter] TaskRequest task)
{
var endpoint = $"{ApiEndpoints.Tasks}/{task.TaskId}";
var request = new ClickUpRequest(endpoint, Method.Delete, Creds);
Expand Down
2 changes: 1 addition & 1 deletion ClickUp/Actions/TeamActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("Team")]
public class TeamActions : ClickUpActions
{
public TeamActions(InvocationContext invocationContext) : base(invocationContext)
Expand Down
2 changes: 1 addition & 1 deletion ClickUp/Actions/UserGroupActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

namespace Apps.ClickUp.Actions;

[ActionList]
[ActionList("User group")]
public class UserGroupActions : ClickUpActions
{
public UserGroupActions(InvocationContext invocationContext) : base(invocationContext)
Expand Down
4 changes: 2 additions & 2 deletions ClickUp/Apps.ClickUp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
<Nullable>enable</Nullable>
<Product>ClickUp</Product>
<Description>Customizable workplace productivity platform</Description>
<Version>1.0.6</Version>
<Version>1.0.7</Version>
<AssemblyName>Apps.ClickUp</AssemblyName>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Blackbird.Applications.Sdk.Common" Version="2.6.0" />
<PackageReference Include="Blackbird.Applications.SDK.Blueprints" Version="1.0.0-rc.10308" />
<PackageReference Include="Blackbird.Applications.SDK.Extensions.FileManagement" Version="1.0.1" />
<PackageReference Include="Blackbird.Applications.Sdk.Utils" Version="1.0.3" />
</ItemGroup>
Expand Down
38 changes: 38 additions & 0 deletions ClickUp/DataSourceHandlers/CustomFieldDataHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using Apps.ClickUp.Api;
using Apps.ClickUp.Constants;
using Apps.ClickUp.Invocables;
using Apps.ClickUp.Models.Request.CustomField;
using Apps.ClickUp.Models.Response.CusomField;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Dynamic;
using Blackbird.Applications.Sdk.Common.Invocation;
using RestSharp;

namespace Apps.ClickUp.DataSourceHandlers;

public class CustomFieldDataHandler : ClickUpInvocable, IAsyncDataSourceHandler
{
private readonly CustomFieldRequest _request;

public CustomFieldDataHandler(InvocationContext invocationContext, [ActionParameter] CustomFieldRequest request) : base(
invocationContext)
{
_request = request;
}

public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context,
CancellationToken cancellationToken)
{
if (string.IsNullOrEmpty(_request.ListId))
throw new("You should specify List ID first");

var request = new ClickUpRequest($"{ApiEndpoints.Lists}/{_request.ListId}/field", Method.Get, Creds);
var teams = await Client.ExecuteWithErrorHandling<ListCustomFieldsResponse>(request);

return teams.Fields
.Where(x => context.SearchString is null ||
x.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.Take(20)
.ToDictionary(x => x.Id, x => x.Name);
}
}

This file was deleted.

14 changes: 0 additions & 14 deletions ClickUp/DataSourceHandlers/EnumHandlers/TaskPriorityDataHandler.cs

This file was deleted.

13 changes: 13 additions & 0 deletions ClickUp/DataSourceHandlers/Folder/FolderCustomFieldDataHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using Apps.ClickUp.Models.Request.CustomField;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Invocation;

namespace Apps.ClickUp.DataSourceHandlers.Folder;

public class FolderCustomFieldDataHandler : FolderDataHandler
{
public FolderCustomFieldDataHandler(InvocationContext invocationContext, [ActionParameter] CustomFieldRequest request) :
base(invocationContext, request.SpaceId)
{
}
}
35 changes: 35 additions & 0 deletions ClickUp/DataSourceHandlers/Folder/FolderDataHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using Apps.ClickUp.Api;
using Apps.ClickUp.Constants;
using Apps.ClickUp.Invocables;
using Apps.ClickUp.Models.Response.Folder;
using Blackbird.Applications.Sdk.Common.Dynamic;
using Blackbird.Applications.Sdk.Common.Invocation;
using RestSharp;

namespace Apps.ClickUp.DataSourceHandlers.Folder;

public class FolderDataHandler : ClickUpInvocable, IAsyncDataSourceHandler
{
private readonly string _spaceId;

public FolderDataHandler(InvocationContext invocationContext, string spaceId) : base(invocationContext)
{
_spaceId = spaceId;
}

public async Task<Dictionary<string, string>> GetDataAsync(DataSourceContext context,
CancellationToken cancellationToken)
{
if (string.IsNullOrEmpty(_spaceId))
throw new("You should specify Space ID first");

var request = new ClickUpRequest($"{ApiEndpoints.Spaces}/{_spaceId}/folder", Method.Get, Creds);
var teams = await Client.ExecuteWithErrorHandling<ListFoldersResponse>(request);

return teams.Folders
.Where(x => context.SearchString is null ||
x.Name.Contains(context.SearchString, StringComparison.OrdinalIgnoreCase))
.Take(20)
.ToDictionary(x => x.Id, x => x.Name);
}
}
13 changes: 13 additions & 0 deletions ClickUp/DataSourceHandlers/Folder/FolderListDataHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using Apps.ClickUp.Models.Request.List;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Invocation;

namespace Apps.ClickUp.DataSourceHandlers.Folder;

public class FolderListDataHandler : FolderDataHandler
{
public FolderListDataHandler(InvocationContext invocationContext, [ActionParameter] ListRequest request) :
base(invocationContext, request.SpaceId)
{
}
}
13 changes: 13 additions & 0 deletions ClickUp/DataSourceHandlers/Folder/FolderTaskDataHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using Apps.ClickUp.Models.Request.Task;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Invocation;

namespace Apps.ClickUp.DataSourceHandlers.Folder;

public class FolderTaskDataHandler : FolderDataHandler
{
public FolderTaskDataHandler(InvocationContext invocationContext, [ActionParameter] TaskRequest request) :
base(invocationContext, request.SpaceId)
{
}
}
13 changes: 13 additions & 0 deletions ClickUp/DataSourceHandlers/Folder/PrimaryFolderDataHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using Apps.ClickUp.Models.Request.Folder;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Invocation;

namespace Apps.ClickUp.DataSourceHandlers.Folder;

public class PrimaryFolderDataHandler : FolderDataHandler
{
public PrimaryFolderDataHandler(InvocationContext invocationContext, [ActionParameter] FolderRequest request) :
base(invocationContext, request.SpaceId)
{
}
}
Loading