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

Update FedEx API integration and refactor related classes #46

Merged
merged 3 commits into from
May 10, 2024

Conversation

ucrengineer
Copy link
Collaborator

This commit includes a major update to the FedEx API integration and a significant refactoring of related classes. The Newtonsoft.Json package was updated, and several interfaces and their implementations were removed, including IFedExAuthClient and FedExAuthClient. The FedExServiceCollectionExtensions class was updated, replacing the AddFedExAuthApiClient method with AddFedExApiClients. Several OpenApi references were added in EasyKeys.Shipping.FedEx.Abstractions.csproj, and the AuthRequestMiddleware class was updated to use IFedexApiAuthenticatorService. A new AuthorizationApi.cs file was added, and changes were made to the authorization.json file. The JsonSerializerOptions property in FedExApiOptions class was replaced with JsonSerializerSettings, and a new namespace EasyKeys.Shipping.FedEx.Abstractions.Services was added. Several classes related to address validation and rates and transit times were removed. The FedexRateProvider.cs file was significantly refactored, and a new method AddRestApiFedExRateProvider was added to the FedExShippingServiceCollectionExtensions class. A new class FedExShipmentProvider was added, and changes were made to the namespaces of several classes. Changes were also made to FedExRateProviderTests.cs and FedExShipmentProvider.cs.

Brandon Moffett added 3 commits May 10, 2024 11:15
This commit includes a major update to the FedEx API integration and a significant refactoring of related classes. The `Newtonsoft.Json` package was updated, and several interfaces and their implementations were removed, including `IFedExAuthClient` and `FedExAuthClient`. The `FedExServiceCollectionExtensions` class was updated, replacing the `AddFedExAuthApiClient` method with `AddFedExApiClients`. Several OpenApi references were added in `EasyKeys.Shipping.FedEx.Abstractions.csproj`, and the `AuthRequestMiddleware` class was updated to use `IFedexApiAuthenticatorService`. A new `AuthorizationApi.cs` file was added, and changes were made to the `authorization.json` file. The `JsonSerializerOptions` property in `FedExApiOptions` class was replaced with `JsonSerializerSettings`, and a new namespace `EasyKeys.Shipping.FedEx.Abstractions.Services` was added. Several classes related to address validation and rates and transit times were removed. The `FedexRateProvider.cs` file was significantly refactored, and a new method `AddRestApiFedExRateProvider` was added to the `FedExShippingServiceCollectionExtensions` class. A new class `FedExShipmentProvider` was added, and changes were made to the namespaces of several classes. Changes were also made to `FedExRateProviderTests.cs` and `FedExShipmentProvider.cs`.
Updated various methods and classes to handle null values and null reference exceptions. The `#pragma warning disable CS8625` and `#pragma warning restore CS8625` directives have been added to suppress warnings about possible null reference exceptions. The `ReadObjectResponseAsync<T>`, `ApiException` constructor, `FedExAddressValidationProvider` class, and `ConvertAttributesToDictionary` method have all been updated to handle null values more effectively. The `AddRestApiFedExRateProvider` method has been renamed to `AddRestApiFedExShipmentProvider`. Additionally, parentheses have been added to clarify the order of operations in the condition for adding a special instruction to the commercial invoice.
@ucrengineer ucrengineer merged commit a76d7da into master May 10, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant