Updating the communication emails to users for signup, forgot password and invite user flows
Also adding the Origin header to the BaseController create function. This is required by the user creation flow in order to customize the links in the email. For most of the controllers overriding the BaseController, the request header parameter is non-mandatory and can be skipped for testing or otherwise.
See merge request theappsmith/internal-tools-server!219
Also adding the Origin header to the BaseController create function. This is required by the user creation flow in order to customize the links in the email. For most of the controllers overriding the BaseController, the request header parameter is non-mandatory and can be skipped for testing or otherwise.
Modifying the user profile endpoint to send organization and application details
For event tracking, we need the organization name and application names that a user is accessing. In order to reduce the number of API calls, we are returning this information along with the enhanced user profile API call `/profile`. Another endpoint was added instead of `/me` to maintain backwards compatibility.
See merge request theappsmith/internal-tools-server!213
In order to create an application with valid permissions, we copy the relevant permissions from the organization of the user. This involves changes to the organizationService and OrganizationRepository as well.
Also moving the argument AclPermission to the custom Repository interface level. This is to ensure that all the service functions can invoke the same repository function with different permissions based on their requirements.
This is present in the BaseRepositoryImpl. In this manner, we can add default conditions to all the basic JPA queries. Now we only need to figure out how to intercept the custom queries to add user details into.
This is to ensure that setting the createdAt nad updatedAt properties by spring-data will still succeed even if the client doesn't provide us with the datasource details.
Adding the field shouldCacheResponse to the ActionExecutionResult to make the response caching generic across various plugins
Now the plugin executor will decide if the action should cache the response based on their own result sets. This ensures that we are not tied to the status code that is primarily an HTTP construct.
This MR also contains changes for the CurlParserService that should have been merged in !204 but didn't because of a bad merge with !200. The test case for CurlParserService has been commented out for now.
See merge request theappsmith/internal-tools-server!207
Creating an embedded datasource for the action
Now the user can create an embedded datasource as well as a saved datasource for the action.
This MR also fixes the import for a curl command by setting defaults when an action is created via the curl command. For now, the curl command only accepts short flags and not the long form flags.
See merge request theappsmith/internal-tools-server!204
When deleting a page, also remove it from the application page cache.
This fixes the bug where the application could not be published because it assumed a page existed when that page had been deleted.
See merge request theappsmith/internal-tools-server!205
Added valueOptions to store the permitted values for a key (which is being sent by rapidApi today)
See merge request theappsmith/internal-tools-server!202