onelogin / onelogin-go-sdk

golang sdk for onelogin apis
MIT License
10 stars 24 forks source link

Major Overhaul: New Version of Go SDK - v0.4.0 #67

Closed Jmfwolf closed 1 year ago

Jmfwolf commented 1 year ago

This pull request introduces a major overhaul of the Go SDK for Onelogin's API. The previous versions (v0.2.0+ and v0.3.0+) were incomplete and autogenerated from an OpenAPI specification that lacked necessary components. With this new version, v0.4.0, we have completely redesigned the SDK with a new architecture and implementation approach.

The SDK design document outlines the following key points:

  1. Introduction: Provides an overview of the SDK's purpose and its intended functionality.
  2. Goals: Describes the desired attributes and objectives of the SDK, such as modularity, encapsulation, simplified interface, and customizability.
  3. Architecture Overview: Outlines the proposed architecture, including modular design, the use of the facade pattern, and dependency injection.
  4. Implementation Steps: Details the step-by-step process for implementing the SDK, covering the project structure, individual modules (authentication, API, models, error handling, and utilities), the facade module, dependency injection, documentation, and testing.
  5. Conclusion: Summarizes the benefits of the proposed architecture and its potential impact on the development of the Onelogin API SDK.

The changes in this pull request reflects a more complete implementation of the design document, incorporating separate modules for authentication, API handling, models, error management, and utilities. We have introduced a facade module, "onelogin," that provides a simplified interface for users, shielding them from underlying complexities. Additionally, we have implemented dependency injection to allow users to customize or replace certain components, such as authentication mechanisms or the HTTP client implementation.

Comprehensive documentation has been added to guide users in integrating and utilizing the SDK effectively. We have also conducted thorough testing to ensure the SDK behaves as expected and handles errors appropriately.

Please review this pull request and consider it as a new major version of the Go SDK (v0.4.0). The previous versions (v0.2.0+ and v0.3.0+) should be considered incomplete and outdated. This major overhaul represents a significant improvement in the design, functionality, and usability of the SDK.

Thank you for your attention and consideration. We look forward to your feedback and suggestions for further improvements.