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

Expand Down Expand Up @@ -37,7 +39,7 @@ public async Task<AttachmentEntity> CreateAttachment(
var endpoint = $"{ApiEndpoints.Tasks}/{task.TaskId}{ApiEndpoints.Attachments}".WithQuery(query);

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

var request = new ClickUpRequest(endpoint, Method.Post, Creds)
.AddFile("attachment", () => file, input.FileName ?? input.File.Name);
Expand Down
34 changes: 13 additions & 21 deletions ClickUp/Actions/FolderActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
using Apps.ClickUp.Models.Entities;
using Apps.ClickUp.Models.Request;
using Apps.ClickUp.Models.Request.Folder;
using Apps.ClickUp.Models.Request.Space;
using Apps.ClickUp.Models.Response.Folder;
using Apps.ClickUp.Utils;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Actions;
using Blackbird.Applications.Sdk.Common.Invocation;
Expand All @@ -16,50 +16,42 @@
namespace Apps.ClickUp.Actions;

[ActionList("Folder")]
public class FolderActions : ClickUpActions
public class FolderActions(InvocationContext invocationContext) : ClickUpActions(invocationContext)
{
public FolderActions(InvocationContext invocationContext) : base(invocationContext)
{
}

[Action("Search folders", Description = "Get all folders given a specific space")]
public Task<ListFoldersResponse> GetFolders(
[ActionParameter] SpaceRequest space,
[ActionParameter] ListQuery query)
public Task<ListFoldersResponse> GetFolders([ActionParameter] ListQuery query)
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}{ApiEndpoints.Folders}";
var endpoint = $"{ApiEndpoints.Spaces}/{InvocationContext.GetSpaceId()}{ApiEndpoints.Folders}";
var request = new ClickUpRequest(endpoint.WithQuery(query), Method.Get, Creds);

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

[Action("Create folder", Description = "Create a new folder")]
public Task<FolderEntity> CreateFolder(
[ActionParameter] SpaceRequest space,
[ActionParameter] CreateFolderRequest input)
public Task<FolderEntity> CreateFolder([ActionParameter] CreateFolderRequest input)
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}{ApiEndpoints.Folders}";
var endpoint = $"{ApiEndpoints.Spaces}/{InvocationContext.GetSpaceId()}{ApiEndpoints.Folders}";
var request = new ClickUpRequest(endpoint, Method.Post, Creds)
.WithJsonBody(input, JsonConfig.Settings);

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

[Action("Get folder", Description = "Get specific folder details")]
public Task<FolderEntity> GetFolder([ActionParameter] FolderRequest folder)
{
var endpoint = $"{ApiEndpoints.Folders}/{folder.FolderId}";
var request = new ClickUpRequest(endpoint, Method.Get, Creds);

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

[Action("Delete folder", Description = "Delete specific folder")]
public Task DeleteFolder([ActionParameter] FolderRequest folder)
{
var endpoint = $"{ApiEndpoints.Folders}/{folder.FolderId}";
var request = new ClickUpRequest(endpoint, Method.Delete, Creds);

return Client.ExecuteWithErrorHandling(request);
}
}
39 changes: 16 additions & 23 deletions ClickUp/Actions/GoalActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,67 +3,60 @@
using Apps.ClickUp.Constants;
using Apps.ClickUp.Models.Entities;
using Apps.ClickUp.Models.Request.Goal;
using Apps.ClickUp.Models.Request.Team;
using Apps.ClickUp.Models.Response.Goal;
using Apps.ClickUp.Utils;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Actions;
using Blackbird.Applications.Sdk.Common.Invocation;
using Blackbird.Applications.Sdk.Utils.Extensions.Http;
using Blackbird.Applications.Sdk.Utils.Extensions.Sdk;
using Blackbird.Applications.Sdk.Utils.Extensions.String;
using RestSharp;

namespace Apps.ClickUp.Actions;

[ActionList("Goal")]
public class GoalActions : ClickUpActions
public class GoalActions(InvocationContext invocationContext) : ClickUpActions(invocationContext)
{
public GoalActions(InvocationContext invocationContext) : base(invocationContext)
{
}

[Action("Search goals", Description = "Get all goals")]
public Task<ListGoalsResponse> GetGoals(
[ActionParameter] TeamRequest team,
[ActionParameter] ListGoalsQuery query)
public Task<ListGoalsResponse> GetGoals([ActionParameter] ListGoalsQuery query)
{
var endpoint = $"{ApiEndpoints.Teams}/{team.TeamId}{ApiEndpoints.Goals}";
var endpoint = $"{ApiEndpoints.Teams}/{InvocationContext.GetTeamId()}{ApiEndpoints.Goals}";
var request = new ClickUpRequest(endpoint.WithQuery(query), Method.Get, Creds);

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

[Action("Create goal", Description = "Create a new goal")]
public async Task<GoalEntity> CreateGoal(
[ActionParameter] TeamRequest team,
[ActionParameter] CreateGoalRequest input)
public async Task<GoalEntity> CreateGoal([ActionParameter] CreateGoalRequest input)
{
var endpoint = $"{ApiEndpoints.Teams}/{team.TeamId}{ApiEndpoints.Goals}";
var endpoint = $"{ApiEndpoints.Teams}/{InvocationContext.GetTeamId()}{ApiEndpoints.Goals}";
var request = new ClickUpRequest(endpoint, Method.Post, Creds)
.WithJsonBody(input, JsonConfig.Settings);

var response = await Client.ExecuteWithErrorHandling<GoalResponse>(request);
return response.Goal;
}

[Action("Get goal", Description = "Get specific goal details")]
public async Task<GoalEntity> GetGoal([ActionParameter] GoalRequest goal)
{
var endpoint = $"{ApiEndpoints.Goals}/{goal.GoalId}";
var request = new ClickUpRequest(endpoint, Method.Get, Creds);

var response = await Client.ExecuteWithErrorHandling<GoalResponse>(request);
return response.Goal;
}

[Action("Delete goal", Description = "Delete specific goal")]
public Task DeleteGoal([ActionParameter] GoalRequest goal)
{
var endpoint = $"{ApiEndpoints.Goals}/{goal.GoalId}";
var request = new ClickUpRequest(endpoint, Method.Delete, Creds);

return Client.ExecuteWithErrorHandling(request);
}

[Action("Create key result", Description = "Create goal key result")]
public async Task<KeyResultEntity> CreateKeyResult(
[ActionParameter] GoalRequest goal,
Expand All @@ -72,7 +65,7 @@ public async Task<KeyResultEntity> CreateKeyResult(
var endpoint = $"{ApiEndpoints.Goals}/{goal.GoalId}{ApiEndpoints.KeyResults}";
var request = new ClickUpRequest(endpoint, Method.Post, Creds)
.WithJsonBody(input, JsonConfig.Settings);

var response = await Client.ExecuteWithErrorHandling<KeyResultResponse>(request);
return response.KeyResult;
}
Expand Down
14 changes: 6 additions & 8 deletions ClickUp/Actions/ListActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@
using Apps.ClickUp.Models.Request.List;
using Apps.ClickUp.Models.Request.Space;
using Apps.ClickUp.Models.Response.List;
using Apps.ClickUp.Utils;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Actions;
using Blackbird.Applications.Sdk.Common.Invocation;
using Blackbird.Applications.Sdk.Utils.Extensions.Http;
using Blackbird.Applications.Sdk.Utils.Extensions.Sdk;
using Blackbird.Applications.Sdk.Utils.Extensions.String;
using RestSharp;

Expand All @@ -24,11 +26,9 @@ public ListActions(InvocationContext invocationContext) : base(invocationContext
}

[Action("Get lists from space", Description = "Get all lists given a specific space")]
public Task<ListListsResponse> GetListsFromSpace(
[ActionParameter] SpaceRequest space,
[ActionParameter] ListQuery query)
public Task<ListListsResponse> GetListsFromSpace([ActionParameter] ListQuery query)
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}{ApiEndpoints.Lists}";
var endpoint = $"{ApiEndpoints.Spaces}/{InvocationContext.GetSpaceId()}{ApiEndpoints.Lists}";
var request = new ClickUpRequest(endpoint.WithQuery(query), Method.Get, Creds);

return Client.ExecuteWithErrorHandling<ListListsResponse>(request);
Expand Down Expand Up @@ -58,11 +58,9 @@ public Task<ListEntity> CreateFolderList(
}

[Action("Create space list", Description = "Create a new space list")]
public Task<ListEntity> CreateSpaceList(
[ActionParameter] SpaceRequest space,
[ActionParameter] CreateListRequest body)
public Task<ListEntity> CreateSpaceList([ActionParameter] CreateListRequest body)
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}{ApiEndpoints.Lists}";
var endpoint = $"{ApiEndpoints.Spaces}/{InvocationContext.GetSpaceId()}{ApiEndpoints.Lists}";
var request = new ClickUpRequest(endpoint, Method.Post, Creds)
.WithJsonBody(body, JsonConfig.Settings);

Expand Down
52 changes: 18 additions & 34 deletions ClickUp/Actions/SpaceActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@
using Apps.ClickUp.Models.Entities;
using Apps.ClickUp.Models.Request;
using Apps.ClickUp.Models.Request.Space;
using Apps.ClickUp.Models.Request.Team;
using Apps.ClickUp.Models.Response.Space;
using Apps.ClickUp.Utils;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Actions;
using Blackbird.Applications.Sdk.Common.Invocation;
using Blackbird.Applications.Sdk.Utils.Extensions.Http;
using Blackbird.Applications.Sdk.Utils.Extensions.Sdk;
using Blackbird.Applications.Sdk.Utils.Extensions.String;
using RestSharp;

Expand All @@ -23,57 +24,40 @@ public SpaceActions(InvocationContext invocationContext) : base(invocationContex
}

[Action("Search spaces", Description = "Get all spaces given a specific team")]
public Task<ListSpacesResponse> GetSpaces(
[ActionParameter] TeamRequest team,
[ActionParameter] ListQuery query)
public Task<ListSpacesResponse> GetSpaces([ActionParameter] ListQuery query)
{
var endpoint = $"{ApiEndpoints.Teams}/{team.TeamId}{ApiEndpoints.Spaces}";
var endpoint = $"{ApiEndpoints.Teams}/{InvocationContext.GetTeamId()}{ApiEndpoints.Spaces}";
var request = new ClickUpRequest(endpoint.WithQuery(query), Method.Get, Creds);

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

[Action("Create space", Description = "Create a new space")]
public Task<SpaceEntity> CreateSpace(
[ActionParameter] TeamRequest team,
[ActionParameter] CreateSpaceRequest input)
public Task<SpaceEntity> CreateSpace([ActionParameter] CreateSpaceRequest input)
{
var endpoint = $"{ApiEndpoints.Teams}/{team.TeamId}{ApiEndpoints.Spaces}";
var endpoint = $"{ApiEndpoints.Teams}/{InvocationContext.GetTeamId()}{ApiEndpoints.Spaces}";
var request = new ClickUpRequest(endpoint, Method.Post, Creds)
.WithJsonBody(input, JsonConfig.Settings);

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

[Action("Update space", Description = "Update specific space")]
public Task<SpaceEntity> UpdateSpace(
[ActionParameter] SpaceRequest space,
[ActionParameter] UpdateSpaceRequest input)
}

[Action("Update space", Description = "Update space")]
public Task<SpaceEntity> UpdateSpace([ActionParameter] UpdateSpaceRequest input)
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}";
var endpoint = $"{ApiEndpoints.Spaces}/{InvocationContext.GetSpaceId()}";
var request = new ClickUpRequest(endpoint, Method.Put, Creds)
.WithJsonBody(input, JsonConfig.Settings);

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

[Action("Get space", Description = "Get details of a specific space")]
public Task<SpaceEntity> GetSpace(
[ActionParameter] SpaceRequest space)
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}";
var request = new ClickUpRequest(endpoint, Method.Get, Creds);

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

[Action("Delete space", Description = "Delete specific space")]
public Task DeleteSpace(
[ActionParameter] SpaceRequest space)

[Action("Get space", Description = "Get details of a space")]
public Task<SpaceEntity> GetSpace()
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}";
var request = new ClickUpRequest(endpoint, Method.Delete, Creds);
var endpoint = $"{ApiEndpoints.Spaces}/{InvocationContext.GetSpaceId()}";
var request = new ClickUpRequest(endpoint, Method.Get, Creds);

return Client.ExecuteWithErrorHandling(request);
return Client.ExecuteWithErrorHandling<SpaceEntity>(request);
}
}
16 changes: 8 additions & 8 deletions ClickUp/Actions/TagActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@
using Apps.ClickUp.Models.Request.Space;
using Apps.ClickUp.Models.Request.Tag;
using Apps.ClickUp.Models.Response.Tag;
using Apps.ClickUp.Utils;
using Blackbird.Applications.Sdk.Common;
using Blackbird.Applications.Sdk.Common.Actions;
using Blackbird.Applications.Sdk.Common.Invocation;
using Blackbird.Applications.Sdk.Utils.Extensions.Http;
using Blackbird.Applications.Sdk.Utils.Extensions.Sdk;
using RestSharp;

namespace Apps.ClickUp.Actions;
Expand All @@ -21,33 +23,31 @@ public TagActions(InvocationContext invocationContext) : base(invocationContext)
}

[Action("Search tags", Description = "Get all space tags")]
public Task<ListTagsResponse> GetTags([ActionParameter] SpaceRequest space)
public Task<ListTagsResponse> GetTags()
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}{ApiEndpoints.Tags}";
var endpoint = $"{ApiEndpoints.Spaces}/{InvocationContext.GetSpaceId()}{ApiEndpoints.Tags}";
var request = new ClickUpRequest(endpoint, Method.Get, Creds);

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

[Action("Create tag", Description = "Create a new space tag")]
public async Task<TagEntity> CreateTag(
[ActionParameter] SpaceRequest space,
[ActionParameter] CreateTagInput input)
public async Task<TagEntity> CreateTag([ActionParameter] CreateTagInput input)
{
var endpoint = $"{ApiEndpoints.Spaces}/{space.SpaceId}{ApiEndpoints.Tags}";
var endpoint = $"{ApiEndpoints.Spaces}/{InvocationContext.GetSpaceId()}{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);
var allTags = await GetTags();

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

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

return Client.ExecuteWithErrorHandling(request);
Expand Down
Loading