## Description As per updated homepage experience we are segregating the workspaces, applications and members API. This PR adds the GET applications for the user with at least read permission. As this will be consumed on the homepage API should also filter out the non-default branched applications if connected to git. Request format: ``` curl --location 'https://dev.appsmith.com/api/v1/workspaces/home' \ --header 'Cookie: <logged_in_user_cookie>' curl --location 'https://dev.appsmith.com/api/v1/applications/home?workspaceId=<workspace_id>' \ --header 'Cookie: <logged_in_user_cookie>' ``` ## Summary by CodeRabbit - **New Features** - Introduced a new method for fetching applications by workspace ID in a recently used order. - Added functionality to retrieve user workspaces based on recent usage. - **Enhancements** - Improved application sorting to prioritize recently used items. - Enhanced user data model to include recently used entities for better user experience. - **Bug Fixes** - Fixed issues with updating the last used applications and workspaces. - **Documentation** - Marked older methods as deprecated in favor of new implementations. - **Refactor** - Refactored services to use `WorkspaceService` instead of `WorkspaceRepository`. - Updated constructors to include new service dependencies for `UserDataService`. - **Tests** - Added new test cases to ensure correct behavior of recently used entities sorting. - Modified existing tests to accommodate changes in user data handling. - **Deprecations** - Deprecated older methods and fields related to recently used workspaces and applications. - **Chores** - Performed code cleanup and removed unused imports. Designs: https://app.zeplin.io/project/653f7de4c1d563203f817bce/screen/653f7eeda2060c2345cf431f #### PR fixes following issue(s) Fixes https://github.com/appsmithorg/appsmith/issues/28791, https://github.com/appsmithorg/appsmith/issues/28792 #### 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Search functionality now available with a new search bar at the top of the home page. - Users can now sort applications and workspaces by recent usage. - Added a new method to fetch applications by workspace ID in recently used order. - **Enhancements** - Improved user experience by sorting applications and workspaces based on recent interactions. - Streamlined workspace retrieval to prioritize recently used workspaces. - **Bug Fixes** - Addressed issues with application sorting to reflect recent usage accurately. - **Deprecated** - Deprecated methods related to old application sorting logic. - **Documentation** - Updated method comments to reflect new sorting logic. - **Refactor** - Refactored application and workspace services to use new recently used sorting logic. - **Tests** - Added new tests to ensure correct sorting of applications and workspaces. - Enhanced existing tests to accommodate new recently used entities logic. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|---|---|---|
| .github | ||
| app | ||
| contributions | ||
| deploy | ||
| scripts | ||
| static | ||
| utils/observability | ||
| .deepsource.toml | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| .imgbotconfig | ||
| .nojekyll | ||
| app.json | ||
| appsmith_events.md | ||
| appsmith_templates.md | ||
| ci-debug.sh | ||
| CODE_OF_CONDUCT.md | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| depot.json | ||
| Dockerfile | ||
| heroku.yml | ||
| IssuesReport.md | ||
| LICENSE | ||
| README.md | ||
| SECURITY.md | ||
Organizations build internal applications such as dashboards, database GUIs, admin panels, approval apps, customer support dashboards, and more to help their teams perform day-to-day operations. Appsmith is an open-source tool that enables the rapid development of these internal apps. Read more on our website.
Installation
There are two ways to start using Appsmith:
- Signup on Appsmith Cloud.
- Install Appsmith on your machine. See the installation guides below.
| Installation Methods | Documentation |
|---|---|
| Docker (Recommended) | |
| Kubernetes | |
| AWS AMI |
For other deployment options, see the Installation Guides documentation.
Development
To build and run Appsmith in your local dev environment, see Setup for local development.
Learning Resources
Need Help?
Contributing
We ❤️ our contributors. We're committed to fostering an open, welcoming, and safe environment in the community.
📕 We expect everyone participating in the community to abide by our Code of Conduct. Please read and follow it.
🤝 If you'd like to contribute, start by reading our Contribution Guide.
👾 Explore some good first issues.
Let's build great software together.
Top Contributors
License
Appsmith is licensed under the terms of Apache License 2.0.
