Now, regardless of the route with which an organization is created (invitation, signup or self-create by user), the correct groups and permissions are assigned to the user.
Adding functionality to archive page in an application
The code for archiving an application has been moved to ApplicationPageService so that both the PageService and ApplicationService can access it. This ensures that we follow the same code path when archiving an application and when archiving pages.
See merge request theappsmith/internal-tools-server!190
Adding default implementation in BaseRepositoryImpl for default JPA queries defined by Spring Data.
See merge request theappsmith/internal-tools-server!189
We override the SimpleReactiveMongoRepository with our custom implementation to add criteria for filtering soft deleted records.
Also, adding a new function to archive record instead of a hard delete.
/actions should return all the actions of the current organization only.
Added organizationId to Action. This gets set only during create operation. Whenever get is performed on actions, it is filtered using organizationId.
See merge request theappsmith/internal-tools-server!164
Action+Draft should be saved in move action instead of simply pulling moving the saved action to another page (discarding any edits)
See merge request theappsmith/internal-tools-server!188
UpdateLayout timing out : If the json path key contains the action itself, then it should be removed from the dependents of the action
See merge request theappsmith/internal-tools-server!187
Adding soft delete for application domain object and custom repository functions
This change adds custom implementations of the following for Mongo DB
1. Factory Bean - The bean which instantiates the factory
2. Factory - The factory class that instantiates the custom query lookup strategy class
3. QueryLookupStrategy - The class that adds default filtering for delete=true records from the DB.
At this moment, this change will only work for custom repository functions. Default repository functions exposed by JPA still don't acknowledge the custom query lookup strategy. Refer to: https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#repositories.custom-implementations for details on how to do this.
See merge request theappsmith/internal-tools-server!186
At the moment, reactive Spring does not support AuditorAware implementation which also inserts the username of the user making the changes. Reference: https://jira.spring.io/browse/DATACMNS-1231.
This is to ensure that when we deploy in production, we can add redirect rules on Nginx. Now /api and /oauth2 urls will proxy to the API server while all other URLs will proxy to the frontend server.
Bug : After moving action, the action's isValid field becomes null leading to null pointer error.
Because the action was being saved directly, the isValid and invalid fields which are computed every time an action is updated, was not getting computed. isValid and invalids being null led to null pointer error after the action was moved. Fixed that by calling update instead of saving the action directly.
See merge request theappsmith/internal-tools-server!175
UpdateLayout Null Pointer Exception : In case the layouts are null or the DSL is null, it should be handled gracefully.
See merge request theappsmith/internal-tools-server!165
Converted Exceptions thrown in RestAPI plugin to Appsmith Plugin Exception so that its handled correctly.
See merge request theappsmith/internal-tools-server!162