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

Release 99 #19

Merged
merged 2 commits into from
Dec 11, 2023
Merged
Changes from 1 commit
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
Prev Previous commit
Regenerate with file APIs
  • Loading branch information
tspence committed Dec 5, 2023
commit e0f5b6fa405f02190a43d3b5a033c5e7032539d0
118 changes: 116 additions & 2 deletions ProjectManagerClient.nuspec
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
<package >
<metadata>
<id>ProjectManager.SDK</id>
<version>99.0.2541</version>
<version>99.0.2548</version>
<title>ProjectManager.SDK</title>
<authors>ProjectManager.com</authors>
<owners>ProjectManager.com, Inc.</owners>
@@ -14,7 +14,7 @@
<readme>docs/README.md</readme>
<summary>ProjectManager API for DotNet</summary>
<releaseNotes>
# Patch notes for 99.0.2541
# Patch notes for 99.0.2548

These patch notes summarize the changes from version 98.0.2363.

@@ -25,6 +25,120 @@
Renamed 2 old APIs:
* Renamed 'ProjectField.UpdateProjectField' to 'ProjectField.UpdateProjectFieldValue'
* Renamed 'ProjectMembers.RetrieveUserProjectMemberShip' to 'ProjectMembers.RetrieveUserProjectMembership'

Changes to existing APIs:
* ApiKey.CreateApiKey removed header parameter `x-integration-name`
* ApiKey.ListApiKeys removed header parameter `x-integration-name`
* ApiKey.RevokeAllApiKeys removed header parameter `x-integration-name`
* ApiKey.RevokeAPIKey removed header parameter `x-integration-name`
* Changeset.RetrieveChangeset removed header parameter `x-integration-name`
* Changeset.RetrieveCompletedChangeset removed header parameter `x-integration-name`
* Dashboard.RetrieveDashboardUserSettings removed header parameter `x-integration-name`
* Dashboard.CreateorUpdateUserDashboardSettings removed header parameter `x-integration-name`
* Discussion.RetrieveTaskComments removed header parameter `x-integration-name`
* Discussion.CreateTaskComments removed header parameter `x-integration-name`
* File.DownloadFile removed header parameter `x-integration-name`
* File.DownloadaThumbnailImage removed header parameter `x-integration-name`
* File.UpdateFile removed header parameter `x-integration-name`
* HomeFile.UploadHomeFile removed header parameter `x-integration-name`
* HomeFile.UploadHomeFileToFolder removed header parameter `x-integration-name`
* Integration.RetrieveIntegration removed header parameter `x-integration-name`
* Integration.EnableIntegration removed header parameter `x-integration-name`
* Integration.DisableIntegration removed header parameter `x-integration-name`
* Integration.RetrieveAllIntegrations removed header parameter `x-integration-name`
* IntegrationCategory.RetrieveProviderCategories removed header parameter `x-integration-name`
* IntegrationProvider.ListProviders removed header parameter `x-integration-name`
* IntegrationProvider.ActivateIntegrationProvider removed header parameter `x-integration-name`
* IntegrationProvider.UpdateIntegrationProvider removed header parameter `x-integration-name`
* IntegrationProvider.DeactivateIntegrationProvider removed header parameter `x-integration-name`
* IntegrationProvider.CreateUserIntegrationProviderConnection removed header parameter `x-integration-name`
* IntegrationProvider.UpdateUserIntegrationProviderConnection removed header parameter `x-integration-name`
* License.RetrieveLicenses removed header parameter `x-integration-name`
* License.AddLicense removed header parameter `x-integration-name`
* Me.RetrieveMe removed header parameter `x-integration-name`
* Project.QueryProjects removed header parameter `x-integration-name`
* Project.CreateProject removed header parameter `x-integration-name`
* Project.RetrieveProject removed header parameter `x-integration-name`
* Project.UpdateProject removed header parameter `x-integration-name`
* ProjectChargeCode.RetrieveChargeCodes removed header parameter `x-integration-name`
* ProjectCustomer.RetrieveProjectCustomers removed header parameter `x-integration-name`
* ProjectField.RetrieveProjectFields removed header parameter `x-integration-name`
* ProjectField.CreateProjectField removed header parameter `x-integration-name`
* ProjectField.DeleteProjectField added path parameter `fieldId`
* ProjectField.DeleteProjectField removed header parameter `x-integration-name`
* ProjectField.DeleteProjectField removed body parameter `body`
* ProjectField.UpdateProjectFieldValue changed [fieldId].Value.DataType from string to uuid
* ProjectField.UpdateProjectFieldValue removed header parameter `x-integration-name`
* ProjectField.RetrieveProjectFieldValue changed [fieldId].Value.DataType from string to uuid
* ProjectField.RetrieveProjectFieldValue removed header parameter `x-integration-name`
* ProjectField.RetrieveAllProjectFieldValues removed header parameter `x-integration-name`
* ProjectFile.UploadProjectFile removed header parameter `x-integration-name`
* ProjectFile.UploadProjectFileToFolder removed header parameter `x-integration-name`
* ProjectFolder.RetrieveProjectFolders removed header parameter `x-integration-name`
* ProjectMembers.RetrieveNewProjectMembers removed header parameter `x-integration-name`
* ProjectMembers.RetrieveProjectMembers removed header parameter `x-integration-name`
* ProjectMembers.RetrieveUserProjectMembership removed header parameter `x-integration-name`
* ProjectMembers.CreateUserProjectMembership removed header parameter `x-integration-name`
* ProjectMembers.UpdateUserProjectMembership removed header parameter `x-integration-name`
* ProjectMembers.RemoveUserProjectMembership removed header parameter `x-integration-name`
* ProjectPriority.RetrieveProjectPriorities removed header parameter `x-integration-name`
* ProjectStatus.RetrieveProjectStatuses removed header parameter `x-integration-name`
* ProjectTemplate.RetrieveProjectTemplates removed header parameter `x-integration-name`
* ProjectTemplate.RetrieveTemplateCategories removed header parameter `x-integration-name`
* Resource.CreateResource removed header parameter `x-integration-name`
* Resource.QueryResources removed header parameter `x-integration-name`
* Resource.UpdateResource removed header parameter `x-integration-name`
* Resource.RetrieveResource removed header parameter `x-integration-name`
* ResourceSkill.RetrieveResourceSkills removed header parameter `x-integration-name`
* ResourceSkill.CreateResourceSkill removed header parameter `x-integration-name`
* ResourceSkill.UpdateResourceSkill removed header parameter `x-integration-name`
* ResourceSkill.DeleteResourceSkill removed header parameter `x-integration-name`
* ResourceTeam.RetrieveResourceTeams removed header parameter `x-integration-name`
* ResourceTeam.CreateResourceTeam removed header parameter `x-integration-name`
* ResourceTeam.DeleteResourceTeam removed header parameter `x-integration-name`
* ResourceTeam.UpdateResourceTeam removed header parameter `x-integration-name`
* Tag.QueryTags removed header parameter `x-integration-name`
* Tag.CreateTag removed header parameter `x-integration-name`
* Tag.UpdateTag removed header parameter `x-integration-name`
* Task.QueryTasks removed header parameter `x-integration-name`
* Task.RetrieveTask removed header parameter `x-integration-name`
* Task.UpdateTask removed header parameter `x-integration-name`
* Task.DeleteTask removed header parameter `x-integration-name`
* Task.CreateTask removed header parameter `x-integration-name`
* Task.RetrieveTaskPriorities removed header parameter `x-integration-name`
* Task.CreateManyTasks removed header parameter `x-integration-name`
* Task.AddParentTask removed header parameter `x-integration-name`
* Task.UpdateParentTask removed header parameter `x-integration-name`
* Task.RemoveParentTask removed header parameter `x-integration-name`
* TaskAssignee.ReplaceTaskAssignees removed header parameter `x-integration-name`
* TaskAssignee.CreateOrUpdateTaskAssignee removed header parameter `x-integration-name`
* TaskAssignee.DeleteTaskAssignees removed header parameter `x-integration-name`
* TaskField.RetrieveTaskFields removed header parameter `x-integration-name`
* TaskField.CreateTaskField changed [body].Value.DataType from CreateTaskFieldDto to CreateTaskFieldRequestDto
* TaskField.CreateTaskField changed [body].Value.DataTypeRef from /docs/createtaskfielddto to /docs/createtaskfieldrequestdto
* TaskField.CreateTaskField removed header parameter `x-integration-name`
* TaskField.DeleteTaskField removed header parameter `x-integration-name`
* TaskField.RetrieveAllTaskFieldValues removed header parameter `x-integration-name`
* TaskField.RetrieveTaskFieldValue removed header parameter `x-integration-name`
* TaskField.UpdateTaskFieldValue removed header parameter `x-integration-name`
* TaskFile.UploadTaskFile removed header parameter `x-integration-name`
* TaskStatus.RetrieveTaskStatuses removed header parameter `x-integration-name`
* TaskStatus.CreateTaskStatus removed header parameter `x-integration-name`
* TaskStatus.UpdateTaskStatus removed header parameter `x-integration-name`
* TaskStatus.DeleteTaskStatus removed header parameter `x-integration-name`
* TaskTag.ReplaceTaskTags removed header parameter `x-integration-name`
* TaskTag.AddTaskTagtoTask removed header parameter `x-integration-name`
* TaskTag.RemoveTaskTagfromTask removed header parameter `x-integration-name`
* Teams.RetrievezipfileforTeamsIntegrations removed header parameter `x-integration-name`
* Timesheet.Createtimeentry removed header parameter `x-integration-name`
* Timesheet.QueryTimeSheets removed header parameter `x-integration-name`
* Timesheet.Deletetimeentry removed header parameter `x-integration-name`
* Timesheet.Updatetimeentry removed header parameter `x-integration-name`
* Timesheet.Returnsactiveadmintasksthatareusedtoreporttime removed header parameter `x-integration-name`
* UserRole.RetrieveUserRoles removed header parameter `x-integration-name`
* WorkSpace.RetrieveWorkspaces removed header parameter `x-integration-name`
* WorkSpace.InvitetoWorkspace removed header parameter `x-integration-name`


</releaseNotes>
<copyright>Copyright 2023 - 2023</copyright>
17 changes: 17 additions & 0 deletions src/Clients/FileClient.cs
Original file line number Diff line number Diff line change
@@ -56,6 +56,23 @@ public async Task<AstroResult<string>> DownloadFile(Guid documentId, string type
return await _client.Request<string>(HttpMethod.Get, url, options, null, null);
}

/// <summary>
/// Downloads a thumbnail image associated with a document that was previously uploaded to ProjectManager.com.
///
/// ProjectManager allows you to store files linked to various elements within your Workspace,
/// such as Projects, Tasks, or your Home. Files are organized based on their storage location.
///
/// When uploading a file, please allow some time for the file to undergo processing and verification.
/// ProjectManager may reject file uploads containing issues such as malware. Once a file has
/// completed the upload process, you can retrieve its associated thumbnail using the DownloadThumbnail API.
/// </summary>
/// <param name="documentId">The unique identifier of the document for which to download the thumbnail.</param>
public async Task<AstroResult<byte[]>> DownloadaThumbnailImage(Guid documentId)
{
var url = $"/api/data/files/{documentId}/thumbnail";
return await _client.Request<byte[]>(HttpMethod.Get, url, null, null, null);
}

/// <summary>
/// Updates information about a File uploaded to your Workspace.
///
53 changes: 53 additions & 0 deletions src/Clients/TeamsClient.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/***
* ProjectManager API for C#
*
* (c) 2023-2023 ProjectManager.com, Inc.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @author ProjectManager.com <support@projectmanager.com>
* @copyright 2023-2023 ProjectManager.com, Inc.
* @link https://github.com/projectmgr/projectmanager-sdk-csharp
*/



using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using ProjectManager.SDK.Interfaces;
using ProjectManager.SDK.Models;


namespace ProjectManager.SDK.Clients
{
/// <summary>
/// API methods related to Teams
/// </summary>
public class TeamsClient : ITeamsClient
{
private readonly ProjectManagerClient _client;

/// <summary>
/// Constructor
/// </summary>
public TeamsClient(ProjectManagerClient client)
{
_client = client;
}

/// <summary>
/// Retrieves zip file for teams integrations.
///
/// The Teams API is intended for use by ProjectManager and its business development partners. Please
/// contact ProjectManager&#39;s sales team to request use of this API.
/// </summary>
public async Task<AstroResult<byte[]>> RetrievezipfileforTeamsIntegrations()
{
var url = $"/api/data/integrations/teams/application";
return await _client.Request<byte[]>(HttpMethod.Get, url, null, null, null);
}
}
}
6 changes: 5 additions & 1 deletion src/IProjectManagerClient.cs
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
* @author ProjectManager.com <support@projectmanager.com>
*
* @copyright 2023-2023 ProjectManager.com, Inc.
* @version 99.0.2541
* @version 99.0.2548
* @link https://github.com/projectmgr/projectmanager-sdk-csharp
*/

@@ -148,6 +148,10 @@ public interface IProjectManagerClient
/// </summary>
ITaskTagClient TaskTag { get; }
/// <summary>
/// API methods related to Teams
/// </summary>
ITeamsClient Teams { get; }
/// <summary>
/// API methods related to Timesheet
/// </summary>
ITimesheetClient Timesheet { get; }
13 changes: 13 additions & 0 deletions src/Interfaces/IFileClient.cs
Original file line number Diff line number Diff line change
@@ -39,6 +39,19 @@ public interface IFileClient
/// <param name="type">If you specify a type of `html`, processes the file using text encoding, otherwise binary</param>
Task<AstroResult<string>> DownloadFile(Guid documentId, string type = null);

/// <summary>
/// Downloads a thumbnail image associated with a document that was previously uploaded to ProjectManager.com.
///
/// ProjectManager allows you to store files linked to various elements within your Workspace,
/// such as Projects, Tasks, or your Home. Files are organized based on their storage location.
///
/// When uploading a file, please allow some time for the file to undergo processing and verification.
/// ProjectManager may reject file uploads containing issues such as malware. Once a file has
/// completed the upload process, you can retrieve its associated thumbnail using the DownloadThumbnail API.
/// </summary>
/// <param name="documentId">The unique identifier of the document for which to download the thumbnail.</param>
Task<AstroResult<byte[]>> DownloadaThumbnailImage(Guid documentId);

/// <summary>
/// Updates information about a File uploaded to your Workspace.
///
38 changes: 38 additions & 0 deletions src/Interfaces/ITeamsClient.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/***
* ProjectManager API for C#
*
* (c) 2023-2023 ProjectManager.com, Inc.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @author ProjectManager.com <support@projectmanager.com>
* @copyright 2023-2023 ProjectManager.com, Inc.
* @link https://github.com/projectmgr/projectmanager-sdk-csharp
*/



using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using ProjectManager.SDK.Models;


namespace ProjectManager.SDK.Interfaces
{
/// <summary>
/// API methods related to Teams
/// </summary>
public interface ITeamsClient
{

/// <summary>
/// Retrieves zip file for teams integrations.
///
/// The Teams API is intended for use by ProjectManager and its business development partners. Please
/// contact ProjectManager&#39;s sales team to request use of this API.
/// </summary>
Task<AstroResult<byte[]>> RetrievezipfileforTeamsIntegrations();
}
}
10 changes: 8 additions & 2 deletions src/ProjectManagerClient.cs
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
* @author ProjectManager.com <support@projectmanager.com>
*
* @copyright 2023-2023 ProjectManager.com, Inc.
* @version 99.0.2541
* @version 99.0.2548
* @link https://github.com/projectmgr/projectmanager-sdk-csharp
*/

@@ -39,7 +39,7 @@ public class ProjectManagerClient : IProjectManagerClient
/// <summary>
/// The version of the SDK
/// </summary>
public const string SdkVersion = "99.0.2541";
public const string SdkVersion = "99.0.2548";

private readonly string _apiUrl;
private readonly HttpClient _client;
@@ -204,6 +204,11 @@ public class ProjectManagerClient : IProjectManagerClient
/// </summary>
public ITaskTagClient TaskTag { get; }

/// <summary>
/// API methods related to Teams
/// </summary>
public ITeamsClient Teams { get; }

/// <summary>
/// API methods related to Timesheet
/// </summary>
@@ -267,6 +272,7 @@ private ProjectManagerClient(string url, HttpClientHandler clientHandler)
TaskFile = new TaskFileClient(this);
TaskStatus = new TaskStatusClient(this);
TaskTag = new TaskTagClient(this);
Teams = new TeamsClient(this);
Timesheet = new TimesheetClient(this);
UserRole = new UserRoleClient(this);
WorkSpace = new WorkSpaceClient(this);