* Added API to generate deploy keys and store them in a collection for import flow
* Add tests for the key generation flow
* Move the key generation to helper class
* changes per review
* Fix bad merge
* add api to import application
* handle timeout for git import
* Update the comments
* Add API for git import
* handle duplicate application name error & add profiles while importing
* Add tests for import api
* Hydrate from file system after cloning the repo
* Fix test failures
* Test cases
* changes per review
* throw error when the datasource with same name of different type exists
* Fix test failures
* Fis error messages
* Fix test failures
* Fix issue with checking the datasource types
* Add datasource name check while importing the application
* Refactor SSH key gen code for import
* Resolve issues around defaultResourceIds, don't commit app name
* Resolve the issue related to duplicate name for app during import
* Minor fixes
* WIP
* Add logic to get unconfigured datasources for the application
* Fix tests
* WIP
* revert datasource related changes
* Add a boolean flag to Datasource entity
* Add a boolean flag to Datasource entity
* Add flag to identify import status
* Set application name before importing from json files in git-import
* update the variable name
* changes per review
Co-authored-by: Abhijeet <abhijeet@appsmith.com>
* Fix clone JSObject issue where cloned JSObject gets attached to both parent and cloned page
* Race condition for delete action when trying to delete page with JSObject
* Set published collection to null during fork application
We've added slug for pages. Each page has a slug which is generated from name automatically. In our get pages API /api/v1/pages/application/<app_id>, the slug names were not included in the Page DTO. This PR adds slug name in this API response.
* This PR fixes the page load action execution order when the actions have been set to run on page load explicitly via the settings tab by the user and its data has not been referenced in any other widget or action. e.g.
- create action1 and action2.
- make action2 dependent on action1 by adding {{action1.data}} in action2's body.
- set both action1 and action2 to run on page load via settings tab. Do not reference action1 and action2 data in any other widget or action.
* Added Mono sink calls for git and import application APIs
* TC for import-export
* Update TCs for gitService
* Added git commit and create branch test
* Test added for midway cancellation flow
* Added API to generate deploy keys and store them in a collection for import flow
* Add tests for the key generation flow
* Move the key generation to helper class
* changes per review
* changes per review
* Added appsmith profile as a fallback value
* Modified TC for userData to include git profile TCs
* Added check for null value when user want to use repo level profile and provide empty author name or email
* Refactor method names
* Server comes up
* Instead of extracting ee, we extract the ce to get the mongo repo to work
* ActionRepo migrated
* ApiTemplateRepo migrated
* Application repo migrated
* Asset Repo migrated
* Collection repo migrated
* Comment repo migrated
* Comment thread repo migrated
* Config repo migrated
* datasource repo migrated
* group repo migrated
* Invite user repo migrated
* layout repo migrated
* New action repo migratd
* .
* Migrated rest of the repos.
* Migrated the repo impl as well between ce and common
* acl package partially migrated
* Authentication migration done!
* Controllers migrated
* AppsmithPermission enum migrated to class and split
* Unnecessary change removed
* Appsmith role enum converted to class
* Revert
* Reverting enum to class conversion after failing at implementing
* All services migrated
* server.solutions package completed
* Fixed solutions failing test cases
* Code compiling! Woohoo!
* refactor api's to include branchName for git
* Check for updating Ids for move action
* Added check for global profile
* Fix bad merge
Co-authored-by: Abhijeet <abhijeet@appsmith.com>
When user duplicates an application, the source application is also being marked as recently accessed application. As a result both the duplicated application and the source application are shown in the beginning of the list of applications.