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

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

Merged
merged 31 commits into from
Jun 21, 2023

Conversation

Jmfwolf
Copy link
Contributor

@Jmfwolf Jmfwolf commented Jun 19, 2023

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.

@Jmfwolf Jmfwolf requested a review from eriktalvi June 19, 2023 18:36
@Jmfwolf Jmfwolf merged commit e21e1cb into develop Jun 21, 2023
4 checks passed
@Jmfwolf Jmfwolf deleted the non-generated-updates branch June 21, 2023 20:05
Jmfwolf added a commit that referenced this pull request Jun 26, 2023
* Update to use subdomain rather than region

Region based endpoint is only being allowed for backwards compatibility. Use subdomain going forward.

* Include openapi-generator SDK.

* Fix GIT_REPO_ID and GIT_USER_ID

* Update go mod/sum

* Add makefile back

* v3.1.0 (#66)

* V3.1.0

* Makefile that got left behind

* changelog

* changelog

* release changes

* revert

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

* worked design

* updated readme

* convenience

* Improved docs

* improved model documentation

* skeleton onelogin.go

* some services implemented

* fixed client requests

* basic testing

* validation is broken

* added logging and request fixes

* fixed const paths

* updated docs, roles, users, apps, authservers

* Updated readme

* broken testing

* services implemented missing mfa

* service calls implemented

* Updated Readme

* added Makefile back

* fixing tests

* fixed readme link issue

* fixed it right this time

* add support for delete req body

* working test package

* Makefile runs unit tests

* changed path name for secure

* reorganized documentation

* updated documents

---------

Co-authored-by: Bryan Vestey <[email protected]>

* Create changelog.md

* update config

---------

Co-authored-by: eriktalvi <[email protected]>
Co-authored-by: George Khaburzaniya <[email protected]>
Co-authored-by: Bryan Vestey <[email protected]>
Co-authored-by: gkhaburzaniya-onelogin <[email protected]>
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.

2 participants