Skip to content

Commit

Permalink
Release 98 (#18)
Browse files Browse the repository at this point in the history
 # Patch notes for 98.0.2363

These patch notes summarize the changes from version 97.0.2178.

Added 2 new APIs:
* ProjectField.RetrieveProjectFieldValue (GET /api/data/projects/{projectId}/fields/{fieldId})
* ProjectField.RetrieveAllProjectFieldValues (GET /api/data/projects/{projectId}/fields)

Changes to existing APIs:
* IntegrationProvider.UpdateIntegrationProvider changed [body].Value.DataType from AuthenticationDto to AuthenticationStatusDto
* IntegrationProvider.UpdateIntegrationProvider changed [body].Value.DataTypeRef from /docs/authenticationdto to /docs/authenticationstatusdto

Deprecated 2 old APIs:
* Integration.AddIntegrationInstance
* Integration.RemoveIntegrationInstance
  • Loading branch information
tspence authored Nov 20, 2023
1 parent 2e2d984 commit 887d18b
Show file tree
Hide file tree
Showing 40 changed files with 502 additions and 111 deletions.
21 changes: 14 additions & 7 deletions ProjectManagerClient.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package >
<metadata>
<id>ProjectManager.SDK</id>
<version>97.0.2178</version>
<version>98.0.2363</version>
<title>ProjectManager.SDK</title>
<authors>ProjectManager.com</authors>
<owners>ProjectManager.com, Inc.</owners>
Expand All @@ -14,14 +14,21 @@
<readme>docs/README.md</readme>
<summary>ProjectManager API for DotNet</summary>
<releaseNotes>
# Patch notes for 97.0.2178
# Patch notes for 98.0.2363

These patch notes summarize the changes from version 96.0.2123.
These patch notes summarize the changes from version 97.0.2178.

Added 3 new APIs:
* Task.AddParentTask (POST /api/data/tasks/{taskId}/parent/{parentTaskId})
* Task.UpdateParentTask (PUT /api/data/tasks/{taskId}/parent/{parentTaskId})
* Task.RemoveParentTask (DELETE /api/data/tasks/{taskId}/parent)
Added 2 new APIs:
* ProjectField.RetrieveProjectFieldValue (GET /api/data/projects/{projectId}/fields/{fieldId})
* ProjectField.RetrieveAllProjectFieldValues (GET /api/data/projects/{projectId}/fields)

Changes to existing APIs:
* IntegrationProvider.UpdateIntegrationProvider changed [body].Value.DataType from AuthenticationDto to AuthenticationStatusDto
* IntegrationProvider.UpdateIntegrationProvider changed [body].Value.DataTypeRef from /docs/authenticationdto to /docs/authenticationstatusdto

Deprecated 2 old APIs:
* Integration.AddIntegrationInstance
* Integration.RemoveIntegrationInstance


</releaseNotes>
Expand Down
6 changes: 4 additions & 2 deletions src/Clients/HomeFileClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public HomeFileClient(ProjectManagerClient client)
}

/// <summary>
/// Uploads a file to a Home folder.
/// Uploads a file to the My Files folder on your Home Files page.
///
/// ProjectManager allows you to store Files connected to other elements of your Workspace such as a Project, a Task, or Home. Files are maintained separately based on the location where the file was stored.
///
Expand All @@ -54,10 +54,12 @@ public async Task<AstroResult<FileDto>> UploadHomeFile(string filename)
}

/// <summary>
/// Uploads a file to a home folder.
/// Uploads a file to a specific folder on your Home Files page.
///
/// ProjectManager allows you to store Files connected to other elements of your Workspace such as a Project, a Task, or Home. Files are maintained separately based on the location where the file was stored.
///
/// You can organize your files in the Home Files and Project Files pages by adding folders.
///
/// When you upload a File, please allow a few moments for the File to be processed and verified. ProjectManager may reject File uploads that contain problems such as malware. Once a File has completed the upload the process, you may retrieve it using the DownloadFile API.
///
/// </summary>
Expand Down
27 changes: 0 additions & 27 deletions src/Clients/IntegrationClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,32 +88,5 @@ public async Task<AstroResult<IntegrationDto[]>> RetrieveAllIntegrations()
var url = $"/api/data/integrations";
return await _client.Request<IntegrationDto[]>(HttpMethod.Get, url, null, null, null);
}

/// <summary>
/// Adds a new Integration instance to a Workspace.
///
/// The Integrations 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>
/// <param name="integrationId">The unique identifier of the Integration to add to this Workspace</param>
/// <param name="body">The information about this Integration to add</param>
public async Task<AstroResult<NewIntegrationInstanceDto>> AddIntegrationInstance(Guid integrationId, CreateIntegrationInstanceDto body)
{
var url = $"/api/data/integrations/{integrationId}/instance";
return await _client.Request<NewIntegrationInstanceDto>(HttpMethod.Post, url, null, body, null);
}

/// <summary>
/// Removes an existing Integration instance from a Workspace.
///
/// The Integrations 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>
/// <param name="integrationInstanceId">The unique identifier of the IntegrationInstance to remove from this Workspace</param>
public async Task<AstroResult<string>> RemoveIntegrationInstance(Guid integrationInstanceId)
{
var url = $"/api/data/integrations/instances/{integrationInstanceId}";
return await _client.Request<string>(HttpMethod.Delete, url, null, null, null);
}
}
}
6 changes: 3 additions & 3 deletions src/Clients/IntegrationProviderClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@ public async Task<AstroResult<IntegrationProviderDto[]>> ListProviders()
///
/// </summary>
/// <param name="providerId">The unique identifier of the IntegrationProvider for which you are requesting authentication information</param>
public async Task<AstroResult<DirectLinkDto>> ActivateIntegrationProvider(Guid providerId)
public async Task<AstroResult<ConnectionSchemaDto>> ActivateIntegrationProvider(Guid providerId)
{
var url = $"/api/data/integrations/providers/{providerId}";
return await _client.Request<DirectLinkDto>(HttpMethod.Post, url, null, null, null);
return await _client.Request<ConnectionSchemaDto>(HttpMethod.Post, url, null, null, null);
}

/// <summary>
Expand All @@ -69,7 +69,7 @@ public async Task<AstroResult<DirectLinkDto>> ActivateIntegrationProvider(Guid p
/// </summary>
/// <param name="providerId">The identifier to the provider</param>
/// <param name="body">Specify the auth status</param>
public async Task<AstroResult<string>> UpdateIntegrationProvider(Guid providerId, AuthenticationStatusDto body)
public async Task<AstroResult<string>> UpdateIntegrationProvider(Guid providerId, AuthenticationDto body)
{
var url = $"/api/data/integrations/providers/{providerId}";
return await _client.Request<string>(HttpMethod.Put, url, null, body, null);
Expand Down
2 changes: 1 addition & 1 deletion src/Clients/ProjectChargeCodeClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public ProjectChargeCodeClient(ProjectManagerClient client)
}

/// <summary>
/// Retrieve all defined ChargeCodes that can be used when creating Tasks.
/// Retrieve all defined ChargeCodes that can be used when creating Projects.
///
/// A ChargeCode is a code used to identify costs within your Projects. Each ChargeCode has a name and a unique identifier. ChargeCodes are defined per Workspace and are shared among Projects.
///
Expand Down
2 changes: 1 addition & 1 deletion src/Clients/ProjectCustomerClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public ProjectCustomerClient(ProjectManagerClient client)
/// <summary>
/// Retrieves all ProjectCustomers defined within your Workspace.
///
/// A ProjectCustomer is a code used to identify costs within your Projects. Each ProjectCustomer has a name and a unique identifier. ChargeCodes are defined per Workspace and are shared among Projects.
/// A ProjectCustomer is a code used to identify costs within your Projects. Each ProjectCustomer has a name and a unique identifier. ProjectCustomers are defined per Workspace and are shared among Projects.
///
/// </summary>
public async Task<AstroResult<ProjectCustomerDto[]>> RetrieveProjectCustomers()
Expand Down
23 changes: 23 additions & 0 deletions src/Clients/ProjectFieldClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,28 @@ public async Task<AstroResult<string>> UpdateProjectField(Guid projectId, Guid f
var url = $"/api/data/projects/{projectId}/fields/{fieldId}";
return await _client.Request<string>(HttpMethod.Put, url, null, body, null);
}

/// <summary>
/// Retrieves the current ProjectField value for a particular Project and ProjectField.
///
/// </summary>
/// <param name="projectId">The unique identifier of the Project of the value to retrieve</param>
/// <param name="fieldId">The unique identifier of the ProjectField of the value to retrieve</param>
public async Task<AstroResult<ProjectFieldsValueResponseDto>> RetrieveProjectFieldValue(Guid projectId, Guid fieldId)
{
var url = $"/api/data/projects/{projectId}/fields/{fieldId}";
return await _client.Request<ProjectFieldsValueResponseDto>(HttpMethod.Get, url, null, null, null);
}

/// <summary>
/// Retrieves all ProjectField values for a particular Project.
///
/// </summary>
/// <param name="projectId">The unique identifier of the Project for which we want ProjectField values</param>
public async Task<AstroResult<ProjectFieldsValueResponseDto[]>> RetrieveAllProjectFieldValues(Guid projectId)
{
var url = $"/api/data/projects/{projectId}/fields";
return await _client.Request<ProjectFieldsValueResponseDto[]>(HttpMethod.Get, url, null, null, null);
}
}
}
6 changes: 4 additions & 2 deletions src/Clients/ProjectFileClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public ProjectFileClient(ProjectManagerClient client)
}

/// <summary>
/// Uploads a file to a project folder.
/// Uploads a file to the All Files folder on the Files page within the project that you specify.
///
/// ProjectManager allows you to store Files connected to other elements of your Workspace such as a Project, a Task, or Home. Files are maintained separately based on the location where the file was stored.
///
Expand All @@ -55,10 +55,12 @@ public async Task<AstroResult<FileDto>> UploadProjectFile(Guid projectId, string
}

/// <summary>
/// Uploads a file to a project folder.
/// Uploads a file to a specific folder on the Files page within the project that you specify.
///
/// ProjectManager allows you to store Files connected to other elements of your Workspace such as a Project, a Task, or Home. Files are maintained separately based on the location where the file was stored.
///
/// You can organize your files in the Home Files and Project Files pages by adding folders.
///
/// When you upload a File, please allow a few moments for the File to be processed and verified. ProjectManager may reject File uploads that contain problems such as malware. Once a File has completed the upload the process, you may retrieve it using the DownloadFile API.
///
/// </summary>
Expand Down
2 changes: 1 addition & 1 deletion src/Clients/ProjectPriorityClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public ProjectPriorityClient(ProjectManagerClient client)
/// <summary>
/// Retrieves all ProjectPriorities defined within your Workspace.
///
/// A ProjectPriority is a named priority level used by your business to determine how to decide which Tasks are the most important. You can name your ProjectPriority levels anything you like and you can reorganize the order of the ProjectPriority levels at any time.
/// A ProjectPriority is a named priority level used by your business to determine how to decide which Projects are the most important. You can name your ProjectPriority levels anything you like and you can reorganize the order of the ProjectPriority levels at any time.
///
/// Note that TaskPriority and ProjectPriority are different classes of priority levels. Even if they may have similar names, they are different objects and must be tracked separately.
///
Expand Down
2 changes: 1 addition & 1 deletion src/Clients/TagClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public async Task<AstroResult<TagDto>> CreateTag(TagCreateDto body)
}

/// <summary>
/// Updates a new Tag based on information you provide.
/// Updates an existing Tag based on information you provide.
///
/// A Tag is a named categorization you can use to distinguish objects from each other. Tags each have a unique identifier, a name, and a color.
///
Expand Down
2 changes: 1 addition & 1 deletion src/IProjectManagerClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* @author ProjectManager.com <[email protected]>
*
* @copyright 2023-2023 ProjectManager.com, Inc.
* @version 97.0.2178
* @version 98.0.2363
* @link https://github.com/projectmgr/projectmanager-sdk-csharp
*/

Expand Down
6 changes: 4 additions & 2 deletions src/Interfaces/IHomeFileClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public interface IHomeFileClient
{

/// <summary>
/// Uploads a file to a Home folder.
/// Uploads a file to the My Files folder on your Home Files page.
///
/// ProjectManager allows you to store Files connected to other elements of your Workspace such as a Project, a Task, or Home. Files are maintained separately based on the location where the file was stored.
///
Expand All @@ -39,10 +39,12 @@ public interface IHomeFileClient
Task<AstroResult<FileDto>> UploadHomeFile(string filename);

/// <summary>
/// Uploads a file to a home folder.
/// Uploads a file to a specific folder on your Home Files page.
///
/// ProjectManager allows you to store Files connected to other elements of your Workspace such as a Project, a Task, or Home. Files are maintained separately based on the location where the file was stored.
///
/// You can organize your files in the Home Files and Project Files pages by adding folders.
///
/// When you upload a File, please allow a few moments for the File to be processed and verified. ProjectManager may reject File uploads that contain problems such as malware. Once a File has completed the upload the process, you may retrieve it using the DownloadFile API.
///
/// </summary>
Expand Down
19 changes: 0 additions & 19 deletions src/Interfaces/IIntegrationClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,24 +61,5 @@ public interface IIntegrationClient
///
/// </summary>
Task<AstroResult<IntegrationDto[]>> RetrieveAllIntegrations();

/// <summary>
/// Adds a new Integration instance to a Workspace.
///
/// The Integrations 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>
/// <param name="integrationId">The unique identifier of the Integration to add to this Workspace</param>
/// <param name="body">The information about this Integration to add</param>
Task<AstroResult<NewIntegrationInstanceDto>> AddIntegrationInstance(Guid integrationId, CreateIntegrationInstanceDto body);

/// <summary>
/// Removes an existing Integration instance from a Workspace.
///
/// The Integrations 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>
/// <param name="integrationInstanceId">The unique identifier of the IntegrationInstance to remove from this Workspace</param>
Task<AstroResult<string>> RemoveIntegrationInstance(Guid integrationInstanceId);
}
}
4 changes: 2 additions & 2 deletions src/Interfaces/IIntegrationProviderClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,15 @@ public interface IIntegrationProviderClient
///
/// </summary>
/// <param name="providerId">The unique identifier of the IntegrationProvider for which you are requesting authentication information</param>
Task<AstroResult<DirectLinkDto>> ActivateIntegrationProvider(Guid providerId);
Task<AstroResult<ConnectionSchemaDto>> ActivateIntegrationProvider(Guid providerId);

/// <summary>
/// Allows you to update the auth status of the provider specific connection.
///
/// </summary>
/// <param name="providerId">The identifier to the provider</param>
/// <param name="body">Specify the auth status</param>
Task<AstroResult<string>> UpdateIntegrationProvider(Guid providerId, AuthenticationStatusDto body);
Task<AstroResult<string>> UpdateIntegrationProvider(Guid providerId, AuthenticationDto body);

/// <summary>
/// Allows you to deactivate an integration provider
Expand Down
2 changes: 1 addition & 1 deletion src/Interfaces/IProjectChargeCodeClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public interface IProjectChargeCodeClient
{

/// <summary>
/// Retrieve all defined ChargeCodes that can be used when creating Tasks.
/// Retrieve all defined ChargeCodes that can be used when creating Projects.
///
/// A ChargeCode is a code used to identify costs within your Projects. Each ChargeCode has a name and a unique identifier. ChargeCodes are defined per Workspace and are shared among Projects.
///
Expand Down
2 changes: 1 addition & 1 deletion src/Interfaces/IProjectCustomerClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public interface IProjectCustomerClient
/// <summary>
/// Retrieves all ProjectCustomers defined within your Workspace.
///
/// A ProjectCustomer is a code used to identify costs within your Projects. Each ProjectCustomer has a name and a unique identifier. ChargeCodes are defined per Workspace and are shared among Projects.
/// A ProjectCustomer is a code used to identify costs within your Projects. Each ProjectCustomer has a name and a unique identifier. ProjectCustomers are defined per Workspace and are shared among Projects.
///
/// </summary>
Task<AstroResult<ProjectCustomerDto[]>> RetrieveProjectCustomers();
Expand Down
15 changes: 15 additions & 0 deletions src/Interfaces/IProjectFieldClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,5 +63,20 @@ public interface IProjectFieldClient
/// <param name="fieldId">The unique identifier of this ProjectField</param>
/// <param name="body">The new information for this ProjectField</param>
Task<AstroResult<string>> UpdateProjectField(Guid projectId, Guid fieldId, UpdateProjectFieldValueDto body);

/// <summary>
/// Retrieves the current ProjectField value for a particular Project and ProjectField.
///
/// </summary>
/// <param name="projectId">The unique identifier of the Project of the value to retrieve</param>
/// <param name="fieldId">The unique identifier of the ProjectField of the value to retrieve</param>
Task<AstroResult<ProjectFieldsValueResponseDto>> RetrieveProjectFieldValue(Guid projectId, Guid fieldId);

/// <summary>
/// Retrieves all ProjectField values for a particular Project.
///
/// </summary>
/// <param name="projectId">The unique identifier of the Project for which we want ProjectField values</param>
Task<AstroResult<ProjectFieldsValueResponseDto[]>> RetrieveAllProjectFieldValues(Guid projectId);
}
}
6 changes: 4 additions & 2 deletions src/Interfaces/IProjectFileClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public interface IProjectFileClient
{

/// <summary>
/// Uploads a file to a project folder.
/// Uploads a file to the All Files folder on the Files page within the project that you specify.
///
/// ProjectManager allows you to store Files connected to other elements of your Workspace such as a Project, a Task, or Home. Files are maintained separately based on the location where the file was stored.
///
Expand All @@ -40,10 +40,12 @@ public interface IProjectFileClient
Task<AstroResult<FileDto>> UploadProjectFile(Guid projectId, string filename);

/// <summary>
/// Uploads a file to a project folder.
/// Uploads a file to a specific folder on the Files page within the project that you specify.
///
/// ProjectManager allows you to store Files connected to other elements of your Workspace such as a Project, a Task, or Home. Files are maintained separately based on the location where the file was stored.
///
/// You can organize your files in the Home Files and Project Files pages by adding folders.
///
/// When you upload a File, please allow a few moments for the File to be processed and verified. ProjectManager may reject File uploads that contain problems such as malware. Once a File has completed the upload the process, you may retrieve it using the DownloadFile API.
///
/// </summary>
Expand Down
Loading

0 comments on commit 887d18b

Please sign in to comment.