Commit Graph

219 Commits

Author SHA1 Message Date
Arpit Mohan
473bba594a Updating redis properties for heroku environment 2019-11-28 19:01:56 +05:30
Arpit Mohan
8a442d429c Dummy commit to trigger Heroku deployment 2019-11-27 16:37:03 +05:30
Arpit Mohan
15e6eee725 Merge branch 'feature/filter-plugin-type' into 'release'
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
2019-11-27 10:51:43 +00:00
Arpit Mohan
fdb2f7a25d Adding query parameters to filter get API calls. Specifically adding filter by plugin type in the get plugins API. 2019-11-27 10:51:43 +00:00
Arpit Mohan
dea2efa776 Merge branch 'feature/oauth2-custom-url' into 'release'
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
2019-11-27 08:34:57 +00:00
Arpit Mohan
92ad45091d 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.
2019-11-27 13:57:01 +05:30
Trisha Anand
cfa5d57157 Merge branch 'bug/get-datasource-per-organization' into 'release'
Datasources are now returned only for the organization of the current user.

Fixes #67

See merge request theappsmith/internal-tools-server!83
2019-11-27 08:22:30 +00:00
Trisha Anand
b0452b74c6 Datasources are now returned only for the organization of the current user. 2019-11-27 08:22:29 +00:00
Trisha Anand
313b2707aa Merge branch 'feature/default-create-page-on-application-creation' into 'release'
Create application also leads to a new page being created along with it.

Closes #78

See merge request theappsmith/internal-tools-server!82
2019-11-27 08:17:46 +00:00
Trisha Anand
606c09067e Fixes the test cases : create for PageService and ApplicationService is no longer used. Instead ApplicationPageService provides createPage and createApplication for the same. Updated the test cases to use the correct service to do this. 2019-11-27 08:17:46 +00:00
Arpit Mohan
e492bf2622 Fixing stupid bug in action execution timeout. Applying only on the action execution instead of the whole execute function 2019-11-27 02:10:01 +05:30
Arpit Mohan
1637d2c7c2 Merge branch 'hotfix/action-execution-timeout-bug' into 'release'
Fixing action execution timeout bug which was defaulting the execution timeout to 0 instead of 10.

See merge request theappsmith/internal-tools-server!89
2019-11-26 12:52:54 +00:00
Arpit Mohan
ca4ff6a28b Fixing action execution timeout bug which was defaulting the execution timeout to 0 instead of 10.
Now if we provide a null / negative value to action execution timeout, it'll default to 10s
2019-11-26 18:19:12 +05:30
Arpit Mohan
bd1373cd10 Merge branch 'feature/name-instead-of-id-for-page-application' into 'release'
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
2019-11-26 12:21:20 +00:00
Trisha Anand
7e6e19e14e PageController : Find pages by application name instead of application id. This first fetches the application from name and then fetches pages using the application id. 2019-11-26 12:21:20 +00:00
Trisha Anand
6a16c34583 Merge branch 'feature/plugin-execution-timeout' into 'release'
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
2019-11-26 11:34:27 +00:00
Trisha Anand
0fd6351a76 Added timeout on the plugin execution.
Next TODO : Make the timeout duration configurable
2019-11-26 11:34:27 +00:00
Arpit Mohan
db5deb520e Merge branch 'feature/gitlab-ci-docker-org' into 'release'
Converting the docker conatiners to appsmith organization

See merge request theappsmith/internal-tools-server!87
2019-11-21 07:53:56 +00:00
Arpit Mohan
2e31a74cd9 Converting the docker conatiners to appsmith organization 2019-11-21 13:20:15 +05:30
Trisha Anand
4966cb760e Merge branch 'bug/unique-action-per-dsl' into 'release'
Converted list to set to ensure unique action ids in the list of actions per dsl

Closes #90

See merge request theappsmith/internal-tools-server!85
2019-11-21 07:44:20 +00:00
Trisha Anand
4c0aa5956e Converted list to set to ensure unique action ids in the list of actions per dsl 2019-11-21 07:44:20 +00:00
Trisha Anand
4fad584158 Merge branch 'feature/action-page-bind' into 'release'
Extract action names from the DSL and bind the action to the page.

Closes #84

See merge request theappsmith/internal-tools-server!80
2019-11-21 07:30:07 +00:00
Trisha Anand
781788f4a3 Extracting mustache keys from layout and finding all the action names from the same. This is then stored to the layout 2019-11-21 07:30:07 +00:00
Trisha Anand
89d77ed0e0 Merge branch 'feature/unique-page-name' into 'release'
Adding unique constraints in the mongo db collections using composite keys.

See merge request theappsmith/internal-tools-server!79
2019-11-19 09:02:14 +00:00
Trisha Anand
9a4fea1c56 Updates for getting the test cases for Organization service to run. Since unique name is a new constraint added, the old test cases didnt account for the same. 2019-11-19 09:02:14 +00:00
Trisha Anand
3ce4326b1c Merge branch 'feature/action-valid-flag' into 'release'
Allow creation of invalid actions and datasources

Closes #82

See merge request theappsmith/internal-tools-server!75
2019-11-18 12:20:10 +00:00
Trisha Anand
44e17eef7b Added fields : flag isValid & string array of invalids to track if an action/datasource is invalid and what are the invalidities. This allows for the creation of actions and datasources even if they are invalid. Each update to the object leads to new computation of the validity.
When executing the isValid flag is tested and if false, the execution is stopped.
2019-11-18 12:20:10 +00:00
Arpit Mohan
c5445533f3 Merge branch 'master' into 'release'
Merging master into release to sync up the branches

See merge request theappsmith/internal-tools-server!78
2019-11-18 08:46:59 +00:00
Arpit Mohan
5f43918cee Merge branch 'feature/release-gitlab-ci' into 'release'
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
2019-11-14 12:50:37 +00:00
Arpit Mohan
8fbf61502f Creating dockerfile that creates the server image.
Also modifying .gitlab-ci file to push docker image to the registry
2019-11-14 12:50:37 +00:00
Trisha Anand
0184bc42b6 Merge branch 'feature/plugin-datasource-validation' into 'master'
Datasource validation as part of plugin functionality

See merge request theappsmith/internal-tools-server!70
2019-11-14 08:50:02 +00:00
Trisha Anand
31cf94f08e 1. Added datasource validator function in the plugin interface which simply returns true for all the current plugins.
2. Added static method getPluginExecutor as a util function which removes duplicate code from across different files.
2019-11-14 08:50:02 +00:00
Arpit Mohan
98662714dc Merge branch 'feature/view-published-page' into 'master'
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
2019-11-14 07:06:34 +00:00
Arpit Mohan
f62cd1f21a Endpoint to view published page using just PageId. The layoutId is no longer required. 2019-11-14 07:06:34 +00:00
Arpit Mohan
9267d00d22 Merge branch 'bug/action-with-name' into 'master'
Action only with name now supported

See merge request theappsmith/internal-tools-server!72
2019-11-13 12:26:12 +00:00
Trisha Anand
0d21680f08 Action only with name now supported 2019-11-13 12:26:12 +00:00
Arpit Mohan
4b1f673584 Merge branch 'feature/property-pane-get-api' into 'master'
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
2019-11-13 12:17:33 +00:00
Arpit Mohan
f4daa33493 Adding CRUD API for configurations. The name for the config will be unique across the dataset. 2019-11-13 12:17:32 +00:00
Arpit Mohan
72497e927c Merge branch 'feature/user-multi-orgs' into 'master'
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
2019-11-13 10:23:23 +00:00
Trisha Anand
f81e22b1a5 Adding the capability to associate a user with multiple organizations 2019-11-13 10:23:23 +00:00
Trisha Anand
ea5a892da3 Merge branch 'bug/empty-datasource' into 'master'
Datasource without any configuration is not valid. Deter the user from...

Closes #77

See merge request theappsmith/internal-tools-server!69
2019-11-13 06:08:36 +00:00
Trisha Anand
55a29c448c Datasource without any configuration is not valid. Deter the user from creating one in such a scenario 2019-11-13 06:08:36 +00:00
Trisha Anand
0a80fe8d7f Merge branch 'bug/api-names-without-space' into 'master'
Api name validation : Don't allow whitespace

Closes #76

See merge request theappsmith/internal-tools-server!66
2019-11-13 05:51:01 +00:00
Trisha Anand
df904539ca Datasource instead of DatasourceId is expected as part of Action. During create and update action, datasource can also be created, which is automatically saved as part of datasource collection 2019-11-13 05:51:01 +00:00
Trisha Anand
923159e2cd Merge branch 'bug/api-sort-by-name' into 'master'
Get all actions returns them in sorted order

Closes #74

See merge request theappsmith/internal-tools-server!68
2019-11-12 09:59:31 +00:00
Trisha Anand
41be720335 Get all actions returns them in sorted order 2019-11-12 09:59:29 +00:00
Trisha Anand
f1878d63ab Merge branch 'feature/redis-session' into 'master'
Redis used for session persistence

See merge request theappsmith/internal-tools-server!67
2019-11-12 09:58:14 +00:00
Trisha Anand
cb4493dc2d Datasource instead of DatasourceId is expected as part of Action. During create and update action, datasource can also be created, which is automatically saved as part of datasource collection 2019-11-12 09:58:14 +00:00
Trisha Anand
54fb13d332 Merge branch 'feature/action-resource-included' into 'master'
Adding datasource as part of action for create/update action, execute action

Closes #60

See merge request theappsmith/internal-tools-server!65
2019-11-12 09:15:09 +00:00
Trisha Anand
e6d9f1df88 Datasource instead of DatasourceId is expected as part of Action. During create and update action, datasource can also be created, which is automatically saved as part of datasource collection 2019-11-12 09:15:09 +00:00