Adding query parameters to filter get API calls
Fixes#92
Adding MultiValueMap in the BaseService class to ensure that all controllers support query parameters for the GET API call. Each service will have to handle this independently though. There is no generic default implementation for handling query parameters as of now.
In the Plugin APIs handling the filtering of fetching plugins specifically by type. This should be used as a template implementation to create a generic implementation of this nature to query the db generically for a list of given fields and values. Will make future API implementations much simpler.
See merge request theappsmith/internal-tools-server!91
Adding the base uri for google oauth2 redirect uri
This is required because when we host the server in a docker container, by default the baseUri picked up by Spring security is the DNS name of the appsmith server inside the docker networking bridge. These names may not be valid DNS names that Google can redirect to in the event of a successful Oauth2 login. Hence, we are overriding the base uri with our own uri for each environment.
The customer will have to provide this uri when they host it on their internal networks. This uri must be publicly accessible for Oauth2 to work.
See merge request theappsmith/internal-tools-server!90
This is required because when we host the server in a docker container, by default the baseUri picked up by Spring security is the DNS name of the appsmith server inside the docker networking bridge. These names may not be valid DNS names that Google can redirect to in the event of a successful Oauth2 login. Hence, we are overriding the base uri with our own uri for each environment.
The customer will have to provide this uri when they host it on their internal networks. This uri must be publicly accessible for Oauth2 to work.
Fixing action execution timeout bug which was defaulting the execution timeout to 0 instead of 10.
See merge request theappsmith/internal-tools-server!89
Use page and application names instead of ids
Fixes#85
We now introduce the ability to fetch application & page details via their names and not just with the ids. This is to ensure that the frontend can navigate through pages and applications using just the name. It's a lot more user friendly.
See merge request theappsmith/internal-tools-server!81
Feature/plugin execution timeout
Action execution timeout can now be configured inside actionConfiguration. If the execution takes longer than the configured value (or default 10s) an error with message "Plugin Execution timed out." is returned.
Fixes#61
See merge request theappsmith/internal-tools-server!88
Creating docker images from the release and master branches
We now create docker images from the release and master branches and publish this to Docker hub. This is done to ensure that we can setup separate environments for production and staging. Required for stability and testing. This has been done by creating a Docker image by invoking the Dockerfile via the .gitlab-ci.yml file. The master branch will push to the release tag while the release branch will push to the release tag.
See merge request theappsmith/internal-tools-server!77
Endpoint to view published page using just PageId
Fixes#83
We now return all the published layouts for a given pageId in the view mode. In the future, we will whittle the layouts down based on query parameters and other factors to return a single layout in the published page. Today, since most pages only have a single layout, there is no performance impact.
See merge request theappsmith/internal-tools-server!76
Adding CRUD API for configurations. The name for the config will be unique across the dataset
Moving the propertyPane API to the config API because it's more generic. Now we will be able to fetch properties using the name of the config parameter. This will allow us to store all the configurations in a single location. This is a more extensible design.
TODO: We still have to make the datastructure of the Config domain more generic. At the moment, it's meant to help the client transition from the older `propertyPane` API to the new `config` API.
See merge request theappsmith/internal-tools-server!71
User association with multiple organizations
Fixes#68
A user can now be associated to multiple organizations. By default the first organization that the user joins is the default one. The user can then switch between these organizations and work on them independently. At a given time though, the user will be operating on a single organization in a login session.
See merge request theappsmith/internal-tools-server!57