Skip to content

Commit a3db095

Browse files
committed
Version 2.0.6
* Added an ability to get team webhooks. * Updated edit task to have the IsArchived flag. * Added an ability to get a list by its ID.
1 parent 326c246 commit a3db095

File tree

10 files changed

+449
-35
lines changed

10 files changed

+449
-35
lines changed

Chinchilla.ClickUp.Tests/ClickUpApiTests.cs

Lines changed: 193 additions & 25 deletions
Large diffs are not rendered by default.

Chinchilla.ClickUp/Chinchilla.ClickUp.csproj

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,14 @@
1212
<RepositoryType>git</RepositoryType>
1313
<PackageTags>api;csharp;rest;clickup</PackageTags>
1414
<PackageId>Chinchilla.ClickUp</PackageId>
15-
<Version>2.0.5</Version>
15+
<Version>2.0.6</Version>
1616
<PackageReleaseNotes>
17+
Version 2.0.6
18+
19+
* Added an ability to get team webhooks.
20+
* Updated edit task to have the IsArchived flag.
21+
* Added an ability to get a list by its ID.
22+
1723
Version 2.0.5
1824

1925
* Added an ability to create team webhooks.

Chinchilla.ClickUp/ClickUpApi.cs

Lines changed: 94 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public static ClickUpApi Create(ParamsAccessToken paramAccessToken)
6969

7070
#region API Methods
7171

72+
#region User
7273
/// <summary>
7374
/// Get the user that belongs to this token
7475
/// </summary>
@@ -83,7 +84,9 @@ public ResponseGeneric<ResponseAuthorizedUser, ResponseError> GetAuthorizedUser(
8384
ResponseGeneric<ResponseAuthorizedUser, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseAuthorizedUser, ResponseError>(client, request);
8485
return result;
8586
}
87+
#endregion
8688

89+
#region Teams
8790
/// <summary>
8891
/// Get the authorized teams for this token
8992
/// </summary>
@@ -114,20 +117,22 @@ public ResponseGeneric<ResponseTeam, ResponseError> GetTeamById(ParamsGetTeamByI
114117
ResponseGeneric<ResponseTeam, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseTeam, ResponseError>(client, request);
115118
return result;
116119
}
120+
#endregion
117121

122+
#region Spaces
118123
/// <summary>
119124
/// Get a team's spaces. This team must be one of the authorized teams for this token.
120125
/// </summary>
121126
/// <param name="paramsGetTeamSpace">param object of get team space request</param>
122127
/// <returns>ResponseGeneric with ResponseTeamSpace response object</returns>
123-
public ResponseGeneric<ResponseTeamSpace, ResponseError> GetTeamSpaces(ParamsGetTeamSpace paramsGetTeamSpace)
128+
public ResponseGeneric<ResponseTeamSpaces, ResponseError> GetTeamSpaces(ParamsGetTeamSpaces paramsGetTeamSpace)
124129
{
125130
var client = new RestClient(_baseAddress);
126131
var request = new RestRequest($"team/{paramsGetTeamSpace.TeamId}/space", Method.GET);
127132
request.AddHeader("authorization", _accessToken);
128133

129134
// execute the request
130-
ResponseGeneric<ResponseTeamSpace, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseTeamSpace, ResponseError>(client, request);
135+
ResponseGeneric<ResponseTeamSpaces, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseTeamSpaces, ResponseError>(client, request);
131136
return result;
132137
}
133138

@@ -150,7 +155,9 @@ public ResponseGeneric<ResponseModelSpace, ResponseError> CreateTeamSpace(Params
150155
ResponseGeneric<ResponseModelSpace, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseModelSpace, ResponseError>(client, request);
151156
return result;
152157
}
158+
#endregion
153159

160+
#region Folders
154161
/// <summary>
155162
/// Get a space's folders. The folders' lists will also be included.
156163
/// </summary>
@@ -186,6 +193,24 @@ public ResponseGeneric<ResponseModelFolder, ResponseError> CreateFolder(ParamsCr
186193
ResponseGeneric<ResponseModelFolder, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseModelFolder, ResponseError>(client, request);
187194
return result;
188195
}
196+
#endregion
197+
198+
#region Lists
199+
/// <summary>
200+
/// Get a list by id
201+
/// </summary>
202+
/// <param name="paramsGetListById">param object of get list by id request</param>
203+
/// <returns>ResponseGeneric with ResponseModelList response object</returns>
204+
public ResponseGeneric<ResponseModelList, ResponseError> GetListById(ParamsGetListById paramsGetListById)
205+
{
206+
var client = new RestClient(_baseAddress);
207+
var request = new RestRequest($"list/{paramsGetListById.ListId}", Method.GET);
208+
request.AddHeader("authorization", _accessToken);
209+
210+
// execute the request
211+
ResponseGeneric<ResponseModelList, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseModelList, ResponseError>(client, request);
212+
return result;
213+
}
189214

190215
/// <summary>
191216
/// Create List in Folder
@@ -260,7 +285,9 @@ public ResponseGeneric<ResponseModelList, ResponseError> EditList(ParamsEditList
260285
ResponseGeneric<ResponseModelList, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseModelList, ResponseError>(client, request);
261286
return result;
262287
}
288+
#endregion
263289

290+
#region Tasks
264291
/// <summary>
265292
/// Get Tasks of the Team and filter its by optionalParams
266293
/// </summary>
@@ -315,6 +342,24 @@ public ResponseGeneric<ResponseModelTask, ResponseError> EditTask(ParamsEditTask
315342
ResponseGeneric<ResponseModelTask, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseModelTask, ResponseError>(client, request);
316343
return result;
317344
}
345+
#endregion
346+
347+
#region Webhooks
348+
/// <summary>
349+
/// Get a team's webhooks. This team must be one of the authorized teams for this token.
350+
/// </summary>
351+
/// <param name="paramsGetTeamWebhook">param object of get team Webhook request</param>
352+
/// <returns>ResponseGeneric with ResponseTeamWebhook response object</returns>
353+
public ResponseGeneric<ResponseWebhooks, ResponseError> GetTeamWebhooks(ParamsGetTeamWebhooks paramsGetTeamWebhook)
354+
{
355+
var client = new RestClient(_baseAddress);
356+
var request = new RestRequest($"team/{paramsGetTeamWebhook.TeamId}/webhook", Method.GET);
357+
request.AddHeader("authorization", _accessToken);
358+
359+
// execute the request
360+
ResponseGeneric<ResponseWebhooks, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseWebhooks, ResponseError>(client, request);
361+
return result;
362+
}
318363

319364
/// <summary>
320365
/// Create a webhook in a Team
@@ -335,11 +380,13 @@ public ResponseGeneric<ResponseWebhook, ResponseError> CreateTeamWebhook(ParamsC
335380
ResponseGeneric<ResponseWebhook, ResponseError> result = RestSharperHelper.ExecuteRequest<ResponseWebhook, ResponseError>(client, request);
336381
return result;
337382
}
383+
#endregion
338384

339385
#endregion
340386

341387
#region API Methods Async
342388

389+
#region User
343390
/// <summary>
344391
/// Get the user that belongs to this token
345392
/// </summary>
@@ -353,7 +400,9 @@ public Task<ResponseGeneric<ResponseAuthorizedUser, ResponseError>> GetAuthorize
353400
// execute the request
354401
return RestSharperHelper.ExecuteRequestAsync<ResponseAuthorizedUser, ResponseError>(client, request);
355402
}
403+
#endregion
356404

405+
#region Teams
357406
/// <summary>
358407
/// Get the authorized teams for this token
359408
/// </summary>
@@ -382,20 +431,22 @@ public Task<ResponseGeneric<ResponseTeam, ResponseError>> GetTeamByIdAsync(Param
382431
// execute the request
383432
return RestSharperHelper.ExecuteRequestAsync<ResponseTeam, ResponseError>(client, request);
384433
}
434+
#endregion
385435

436+
#region Spaces
386437
/// <summary>
387438
/// Get a team's spaces. This team must be one of the authorized teams for this token.
388439
/// </summary>
389440
/// <param name="paramGetTeamSpace">param object of get team space request</param>
390441
/// <returns>ResponseGeneric with ResponseTeamSpace object expected</returns>
391-
public Task<ResponseGeneric<ResponseTeamSpace, ResponseError>> GetTeamSpacesAsync(ParamsGetTeamSpace paramsGetTeamSpace)
442+
public Task<ResponseGeneric<ResponseTeamSpaces, ResponseError>> GetTeamSpacesAsync(ParamsGetTeamSpaces paramsGetTeamSpace)
392443
{
393444
var client = new RestClient(_baseAddress);
394445
var request = new RestRequest($"team/{paramsGetTeamSpace.TeamId}/space", Method.GET);
395446
request.AddHeader("authorization", _accessToken);
396447

397448
// execute the request
398-
return RestSharperHelper.ExecuteRequestAsync<ResponseTeamSpace, ResponseError>(client, request);
449+
return RestSharperHelper.ExecuteRequestAsync<ResponseTeamSpaces, ResponseError>(client, request);
399450
}
400451

401452
/// <summary>
@@ -416,7 +467,9 @@ public Task<ResponseGeneric<ResponseModelSpace, ResponseError>> CreateTeamSpaceA
416467
// execute the request
417468
return RestSharperHelper.ExecuteRequestAsync<ResponseModelSpace, ResponseError>(client, request);
418469
}
470+
#endregion
419471

472+
#region Folders
420473
/// <summary>
421474
/// Get a space's folders. The folders' lists will also be included.
422475
/// </summary>
@@ -450,6 +503,23 @@ public Task<ResponseGeneric<ResponseModelFolder, ResponseError>> CreateFolderAsy
450503
// execute the request
451504
return RestSharperHelper.ExecuteRequestAsync<ResponseModelFolder, ResponseError>(client, request);
452505
}
506+
#endregion
507+
508+
#region Lists
509+
/// <summary>
510+
/// Get a list by id
511+
/// </summary>
512+
/// <param name="paramsGetListById">param object of get list by id request</param>
513+
/// <returns>ResponseGeneric with ResponseModelList response object</returns>
514+
public Task<ResponseGeneric<ResponseModelList, ResponseError>> GetListByIdAsync(ParamsGetListById paramsGetListById)
515+
{
516+
var client = new RestClient(_baseAddress);
517+
var request = new RestRequest($"list/{paramsGetListById.ListId}", Method.GET);
518+
request.AddHeader("authorization", _accessToken);
519+
520+
// execute the request
521+
return RestSharperHelper.ExecuteRequestAsync<ResponseModelList, ResponseError>(client, request);
522+
}
453523

454524
/// <summary>
455525
/// Create List in Folder
@@ -520,7 +590,9 @@ public Task<ResponseGeneric<ResponseModelList, ResponseError>> EditListAsync(Par
520590
// execute the request
521591
return RestSharperHelper.ExecuteRequestAsync<ResponseModelList, ResponseError>(client, request);
522592
}
593+
#endregion
523594

595+
#region Tasks
524596
/// <summary>
525597
/// Get Tasks of the Team and filter its by optionalParams
526598
/// </summary>
@@ -572,6 +644,23 @@ public Task<ResponseGeneric<ResponseModelTask, ResponseError>> EditTaskAsync(Par
572644
// execute the request
573645
return RestSharperHelper.ExecuteRequestAsync<ResponseModelTask, ResponseError>(client, request);
574646
}
647+
#endregion
648+
649+
#region Webhooks
650+
/// <summary>
651+
/// Get a team's webhooks. This team must be one of the authorized teams for this token.
652+
/// </summary>
653+
/// <param name="paramsGetTeamWebhook">param object of get team Webhook request</param>
654+
/// <returns>ResponseGeneric with ResponseTeamWebhook response object</returns>
655+
public Task<ResponseGeneric<ResponseWebhooks, ResponseError>> GetTeamWebhooksAsync(ParamsGetTeamWebhooks paramsGetTeamWebhook)
656+
{
657+
var client = new RestClient(_baseAddress);
658+
var request = new RestRequest($"team/{paramsGetTeamWebhook.TeamId}/webhook", Method.GET);
659+
request.AddHeader("authorization", _accessToken);
660+
661+
// execute the request
662+
return RestSharperHelper.ExecuteRequestAsync<ResponseWebhooks, ResponseError>(client, request);
663+
}
575664

576665
/// <summary>
577666
/// Create a webhook in a Team
@@ -591,6 +680,7 @@ public Task<ResponseGeneric<ResponseWebhook, ResponseError>> CreateTeamWebhookAs
591680
// execute the request
592681
return RestSharperHelper.ExecuteRequestAsync<ResponseWebhook, ResponseError>(client, request);
593682
}
683+
#endregion
594684

595685
#endregion
596686
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
using Newtonsoft.Json;
2+
using System;
3+
using System.Runtime.Serialization;
4+
5+
namespace Chinchilla.ClickUp.Params
6+
{
7+
8+
/// <summary>
9+
/// The param object of Get list by id request
10+
/// </summary>
11+
public class ParamsGetListById
12+
{
13+
#region Attributes
14+
15+
/// <summary>
16+
/// The Space Id
17+
/// </summary>
18+
[JsonProperty("list_id")]
19+
[DataMember(Name = "list_id")]
20+
public string ListId { get; set; }
21+
22+
#endregion
23+
24+
25+
#region Constructor
26+
27+
/// <summary>
28+
/// The constructor of ParamsGetListById
29+
/// </summary>
30+
/// <param name="listId"></param>
31+
public ParamsGetListById(string listId)
32+
{
33+
ListId = listId;
34+
}
35+
36+
#endregion
37+
38+
39+
#region Public Methods
40+
41+
/// <summary>
42+
/// Method that validate the data insert
43+
/// </summary>
44+
public void ValidateData()
45+
{
46+
if (string.IsNullOrEmpty(ListId))
47+
{
48+
throw new ArgumentNullException("ListId");
49+
}
50+
}
51+
52+
#endregion
53+
}
54+
}

Chinchilla.ClickUp/Params/ParamsGetTeamSpace.cs renamed to Chinchilla.ClickUp/Params/ParamsGetTeamSpaces.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Chinchilla.ClickUp.Params
88
/// <summary>
99
/// The param object of get team space request
1010
/// </summary>
11-
public class ParamsGetTeamSpace
11+
public class ParamsGetTeamSpaces
1212
{
1313
#region Attributes
1414

@@ -28,7 +28,7 @@ public class ParamsGetTeamSpace
2828
/// The constructor of ParamsGetTeamSpace
2929
/// </summary>
3030
/// <param name="teamId"></param>
31-
public ParamsGetTeamSpace(string teamId)
31+
public ParamsGetTeamSpaces(string teamId)
3232
{
3333
TeamId = teamId;
3434
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
using Newtonsoft.Json;
2+
using System;
3+
using System.Runtime.Serialization;
4+
5+
namespace Chinchilla.ClickUp.Params
6+
{
7+
8+
/// <summary>
9+
/// The param object of get team webhooks request
10+
/// </summary>
11+
public class ParamsGetTeamWebhooks
12+
{
13+
#region Attributes
14+
15+
/// <summary>
16+
/// The Team Id
17+
/// </summary>
18+
[JsonProperty("team_id")]
19+
[DataMember(Name = "team_id")]
20+
public string TeamId { get; set; }
21+
22+
#endregion
23+
24+
25+
#region Constructor
26+
27+
/// <summary>
28+
/// The constructor of ParamsGetTeamWebhooks
29+
/// </summary>
30+
/// <param name="teamId"></param>
31+
public ParamsGetTeamWebhooks(string teamId)
32+
{
33+
TeamId = teamId;
34+
}
35+
36+
#endregion
37+
38+
39+
#region Public Methods
40+
41+
/// <summary>
42+
/// Method that validate data insert
43+
/// </summary>
44+
public void ValidateData()
45+
{
46+
if (string.IsNullOrEmpty(TeamId))
47+
{
48+
throw new ArgumentNullException("TeamId");
49+
}
50+
}
51+
52+
#endregion
53+
}
54+
}

0 commit comments

Comments
 (0)