## Description ### Context As a part of 1 click upgrade-downgrade project we're streamlining our processes by delivering a unified image for both our business and community users (We will still be building the CE image but in all our communication EE image will be referred going forward). This change aims to simplify the business trial experience, removing the complexities of handling multiple image repositories. The user experience will be tailored to the license key provided which decides the feature flag values and provide a corresponding experience. This also means going forward one can start the EE instance without needing to enter the license key and will be presented with the CE equivalent experience. ### Change With this PR we are bringing in a updated structure described in the below image. This includes: 1. Introducing a new helper class i.e.`GitPrivateRepoHelper` which will be used in EE codebase to provide a fallback when feature flag is not supported. Private repo helper class is only needed to get away with the limitation of Spring AOP where methods which are self-invoked does not get intercepted. We explored the self-injection but does not look like a cleaner solution, more details can be found in [this](https://www.baeldung.com/spring-self-injection) article. <img width="1057" alt="Screenshot 2023-08-25 at 11 02 52 PM" src="https://github.com/appsmithorg/appsmith/assets/41686026/3e443be4-6184-41c2-9df7-e3ee915584ef"> #### _Note: As described in above image, we expect to create the CE compatible version of EEImpl classes if there is a difference in the experience between CE and feature disabled version of EE hence there is no requirement of adding another class in this case._ Corresponding CE PR: https://github.com/appsmithorg/appsmith/pull/26665 #### PR fixes following issue(s) #### Type of change - New feature (non-breaking change which adds functionality) ## Testing #### How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration. > Delete anything that is not relevant - [x] Manual - [x] JUnit - [ ] Jest - [ ] Cypress > > #### Test Plan > Add Testsmith test cases links that relate to this PR > > #### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) > > > ## Checklist: #### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag #### QA activity: - [ ] [Speedbreak features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-) have been covered - [ ] Test plan covers all impacted features and [areas of interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-) - [ ] Test plan has been peer reviewed by project stakeholders and other QA members - [ ] Manually tested functionality on DP - [ ] We had an implementation alignment call with stakeholders post QA Round 2 - [ ] Cypress test cases have been added and approved by SDET/manual QA - [ ] Added `Test Plan Approved` label after Cypress tests were reviewed - [ ] Added `Test Plan Approved` label after JUnit tests were reviewed |
||
|---|---|---|
| .. | ||
| src | ||
| auth-notes | ||
| pom.xml | ||