-
Notifications
You must be signed in to change notification settings - Fork 14
SIG-5340 v5 #162
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
base: master
Are you sure you want to change the base?
SIG-5340 v5 #162
Conversation
Modernizes the codebase by upgrading to .NET 10, enabling use of newer language features and APIs. Removes legacy netstandard1.4 support and related conditional logic to simplify maintenance. Improves compatibility with future .NET releases.
- Replaced Newtonsoft.Json with System.Text.Json for JSON serialization and deserialization across the API client. - Updated interfaces and classes to reflect consistent naming conventions (e.g., ISignHostApiClient to ISignhostApiClient). - Removed obsolete JsonConverter classes that were specific to Newtonsoft.Json. - Introduced centralized JSON serializer options in SignhostJsonSerializerOptions for consistent serialization behavior. - Added new JSON test resources for various transaction scenarios to ensure compatibility with the updated serialization logic.
Also refactor file digest options to use enum for hash algorithms and update related tests
07e570c to
e02e24f
Compare
0a1a8ce to
4c5d8a7
Compare
| @@ -0,0 +1 @@ | |||
| {"Signers":{"someSignerId":{"FormSets":["SampleFormSet"]}},"FormSets":{"SampleFormSet":{"SampleCheck":{"Type":"Check","Value":"I agree","Location":{"Search":"test"}}}}} | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would expect this file to look the same as the other .json files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This content is used to compare what our client sends in it's HTTP call; which is unformatted.. Request vs Response
Will look into making this clearer
|
What are the public SDK API changes? Are there breaking changes in this PR which is why we're doing a major version bump? |
Yes, there are a lot of breaking changes:
Will make a full overview since we need a migration guide anyways |
BerendJonkman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved tech & style - 325afbfaa83ff6430a21539128a7803c57bdcdac
|
Should that migration guide be in this repo or on evidos.github.io? |
This pull request introduces integration tests for the Signhost API client, updates .NET and editor configurations, and improves documentation and code consistency. The changes focus on adding a dedicated integration test project (excluded from CI/CD), aligning documentation and code samples with the current API surface, and refining coding standards and workflows.
Integration Test Infrastructure:
src/SignhostAPIClient.IntegrationTests) with its own configuration, dependencies, and documentation. These tests require live credentials, are excluded from CI/CD, and are not included in the NuGet package. ([[1]](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-7587f28278f43acdb347ea03d2c07cf093e6a6275f3e5908c08b24e3f399044dR1-R31),[[2]](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-162e37e5dd70e17454d9ee6b2c6fb69366440c63c8016b42a552424f95b3d22fR1-R27),[[3]](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-619f5ac4e5e4f011a9a48f40b8d079a0c6cff8c60e2c25f03dd2b4100cb986d1R1-R38),[[4]](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-a1d09ed72a9cbc2ae0e046c20ac4e22b0261f9b22ace9225dd71847e65f598deR56))Build and Workflow Updates:
[.github/workflows/publish_nuget_package.ymlL18-R18](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-a1d09ed72a9cbc2ae0e046c20ac4e22b0261f9b22ace9225dd71847e65f598deL18-R18)).editorconfigto enforce modern C# code style, formatting, and newline conventions, and added new rules for project and property files. ([.editorconfigR6-R52](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-0947e2727d6bad8cd0ac4122f5314bb5b04e337393075bc4b5ef143b17fcbd5bR6-R52)).gitattributesby removing unused NCrunch project/solution patterns. ([.gitattributesL19-L21](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-618cd5b83d62060ba3d027e314a21ceaf75d36067ff820db126642944145393eL19-L21))Documentation and Code Consistency:
README.mdexample to use the correct class names and request models (SignhostApiClient,CreateTransactionRequest, andCreateSignerRequest) to match the current API and codebase. ([README.mdL18-R26](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L18-R26))docs/components-vs-dataobjects.md) detailing discrepancies between the OpenAPI schema (components.yml) and the C# POCO models, highlighting areas where the codebase does not fully enforce or reflect the schema. ([docs/components-vs-dataobjects.mdR1-R45](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-0691c1c894da077a8591c282188d37d7b9a7ae0b43ec8a7b45e84f50ab68ea05R1-R45))Test Maintenance:
APIResponses.Designer.csfile from the unit tests, likely as part of test cleanup or migration to a new resource management approach. ([src/SignhostAPIClient.Tests/APIResponses.Designer.csL1-L186](https://github.com/Evidos/SignhostClientLibrary/pull/162/files#diff-71e97f2541eac50ae36c52dc5e9901bbb391939f39d9828300e1501cb23d5c9eL1-L186))