Commit Graph

328 Commits

Author SHA1 Message Date
Arpit Mohan
3cf8ff008f Hacky fix for the postgres plugin to work. Including the dependency in the appsmith-server/pom.xml file instead of the plugin 2020-06-10 10:46:09 +05:30
Arpit Mohan
bbd33c2968 Removing the query field in ActionConfiguration and using String body as the field to store the query
This is to simplify the query pane on the frontend client. The client doesn't need to have separate interfaces for sql and non-sql plugins. All queries will be sent to the server in the form of a String that is parsed in different formats based on the plugin.

Also adding test cases for PostgresPlugin. Used TestContainers to simulate the postgres db in Docker inside the Java test itself. Very useful.
2020-06-09 12:12:27 +00:00
Arpit Mohan
99e7519550 Handling form data via the field bodyFormData in ActionConfiguration
This is because the client sends us the data for form-data in the form of a list of Property fields with keys and values. This is consistent with how the client stores & renders headers & query parameters as well.
For MediaType application/x-www-form-urlencoded we will use the bodyFormData field.
2020-06-09 05:48:16 +00:00
Shrikant Kandula
c18c344f4b Don't fail after executing a non-SELECT query on Postgres. 2020-05-15 18:13:36 +05:30
Arpit Mohan
fb9e9fbf4c Request body and header in Action Execution Response 2020-05-14 02:08:46 +00:00
Trisha Anand
5829a92998 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java
2020-05-13 23:37:31 +05:30
Shrikant Kandula
9c48f42990 Rename ActionExecutionResult.shouldCacheResponse -> isExecutionSuccess. 2020-05-12 18:25:49 +05:30
Nikhil Nandagopal
5dad85ff3e Update form.json 2020-05-12 09:48:56 +00:00
Shrikant Kandula
f3e448019d Auth mechanism is not added to URI in the MongoPlugin. Fixed now. 2020-05-11 12:16:09 +05:30
Trisha Anand
f7bb87824c Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/src/main/java/com/appsmith/server/domains/User.java
2020-05-08 20:57:51 +05:30
Shrikant Kandula
3e2dea8f84 Merge branch 'bug/hide-exception-class-in-plugin-error-message' into 'release'
Hide Exception class details in the Plugin error message.

See merge request theappsmith/internal-tools-server!321
2020-05-05 11:08:38 +00:00
Shrikant Kandula
e99c104fe7 Hide Exception class details in the Plugin error message. 2020-05-05 16:34:09 +05:30
Nikhil Nandagopal
8f95fe22a9 Update form.json 2020-05-05 10:46:58 +00:00
Nikhil Nandagopal
c4f3ccfd8b Update form.json 2020-05-05 10:34:02 +00:00
Shrikant Kandula
57dc2205e2 Add missing default database field in Mongo plugin form. 2020-05-05 13:39:03 +05:30
Trisha Anand
c43218eea6 Merge branch 'release' into feature/acl-spring-object 2020-05-01 17:05:43 +05:30
Shrikant Kandula
8ea8fb295e Handle 500 when JSON body doesn't make up an object data type. 2020-04-30 13:32:24 +00:00
Trisha Anand
bc99ce9244 Merge branch 'release' into feature/acl-spring-object 2020-04-30 17:50:32 +05:30
Shrikant Kandula
c8e8c9136d Check the value of Content-Type before trying to make an HTTP call. 2020-04-30 16:50:17 +05:30
Shrikant Kandula
50a8bad19e Merge branch 'bug/restapi-test-without-port' into 'release'
Fix testing of REST API datasources fails when no port is set.

See merge request theappsmith/internal-tools-server!307
2020-04-30 06:02:28 +00:00
Shrikant Kandula
be7f1c0a81 Fix testing of REST API datasources fails when no port is set. 2020-04-30 06:02:28 +00:00
Shrikant Kandula
06e85c308f Update form.json for datasource configurations. 2020-04-29 16:25:30 +05:30
Trisha Anand
2d1fe9d8b4 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-interfaces/src/main/java/com/appsmith/external/models/SSHPrivateKey.java
#	appsmith-server/src/main/java/com/appsmith/server/filters/AclFilter.java
#	appsmith-server/src/main/java/com/appsmith/server/services/CurlImporterService.java
#	appsmith-server/src/test/java/com/appsmith/server/services/CurlImporterServiceTest.java
2020-04-28 18:13:06 +05:30
Shrikant Kandula
23bd4e1722 Add NO_SSL option to SSL authType to turn off SSL explicitly. 2020-04-28 12:31:34 +00:00
Shrikant Kandula
e0880c7d31 Support separate default database for MongoPlugin, besides authDatabase. 2020-04-23 11:09:02 +00:00
Trisha Anand
a8f32d8b2a Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceService.java
2020-04-23 14:45:40 +05:30
Nikhil Nandagopal
18acf373f5 Update form.json 2020-04-23 06:08:25 +00:00
Trisha Anand
dacc6a5c9e The header key should be matched to all possible variations : Content-Type, content-type, etc. This fixes that. 2020-04-22 18:13:31 +05:30
Shrikant Kandula
3ad98a4367 Support SSL connections with self-signed from MongoPlugin. 2020-04-21 18:53:30 +05:30
Shrikant Kandula
3dfc62034f Merge branch 'feature/datasource-form-config-apis' into 'release'
Add form config JSONs for individual plugins and an API for GETting them.

See merge request theappsmith/internal-tools-server!295
2020-04-21 12:23:23 +00:00
Shrikant Kandula
58c0f94508 Add form config JSONs for individual plugins and an API for GETting them. 2020-04-21 17:42:14 +05:30
Shrikant Kandula
9f2427f1df Merge branch 'bug/mongo-plugin-test-on-unavailable-host' into 'release'
Fix MongoPlugin test returning success even when host is unavailable.

See merge request theappsmith/internal-tools-server!294
2020-04-21 10:22:50 +00:00
Shrikant Kandula
d94a231934 Fix MongoPlugin test returning success even when host is unavailable. 2020-04-21 15:39:44 +05:30
Shrikant Kandula
a49ef95d5b Fix 500 on invalid port sent for restapi plugin test request. 2020-04-21 13:40:12 +05:30
Trisha Anand
373c9ac738 Code formatting corrected. 2020-04-20 18:17:25 +05:30
Trisha Anand
6be0b7ae23 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/pom.xml
#	appsmith-server/src/main/java/com/appsmith/server/migrations/DatabaseChangelog.java
#	appsmith-server/src/main/java/com/appsmith/server/repositories/BaseRepositoryImpl.java
#	appsmith-server/src/main/java/com/appsmith/server/services/LayoutActionServiceImpl.java
#	appsmith-server/src/test/java/com/appsmith/server/services/OrganizationServiceTest.java
2020-04-20 18:13:55 +05:30
Shrikant Kandula
ee556b729c Fix 500 error when authentication.type is not provided in request body. 2020-04-17 14:35:53 +05:30
Arpit Mohan
46879fae2b Committing the plugin.properties to let us run the code from IntelliJ 2020-04-17 13:35:07 +05:30
Shrikant Kandula
08b7f51d5d Datasource API cleanup and better error reporting 2020-04-17 07:27:56 +00:00
Trisha Anand
801cd59c14 Merge branch 'bug/marketplce-fixes' into 'release'
Updated Rapid API key. Also, now URL Encoding the route parameters as well.

See merge request theappsmith/internal-tools-server!285
2020-04-16 15:59:56 +00:00
Trisha Anand
8aaff70ef0 Updated Rapid API key. Also, now URL Encoding the route parameters as well. 2020-04-16 21:13:37 +05:30
Shrikant Kandula
822afdc064 Rich datasource support for MongoPlugin 2020-04-16 08:21:40 +00:00
Shrikant Kandula
2dbf9d1c6b Test API for data sources 2020-04-15 10:02:09 +00:00
Shrikant Kandula
abd9235360 Richer plugin validations 2020-04-10 09:59:50 +00:00
Shrikant Kandula
91dd8bf5c3 Fix old enums being used in Postgres plugin. Build failed because of this. 2020-04-08 12:45:18 +00:00
Shrikant Kandula
065f0f1c3d Suppress redundant-if warning in datasource validation method.
This method can be simplified, but is more readable this way.
2020-04-08 11:50:58 +00:00
Trisha Anand
16742403ec Merge branch 'bug/restapi-data-buffer-limit-exception' into 'release' 2020-04-08 12:11:53 +05:30
Shrikant Kandula
ff6b0ce6bc Increase restapi client buffer size from 256KB to 10MB. 2020-04-07 11:20:46 +00:00
Trisha Anand
5911234276 To ensure that special characters like "\n", "\t", etc are preserved in the request json body, convert the json string into object. 2020-04-03 14:27:10 +00:00
Shrikant Kandula
1f524827b9 Datasource CRUD APIs 2020-04-01 08:50:36 +00:00
Trisha Anand
44d5dccbbb Rest API and Rapid api plugin url encode the query parameters. The Providers returned are sorted by sortOrder in ascending order 2020-03-18 20:35:50 +05:30
Trisha Anand
015713f409 1. Add to Page changes : In case the sample response is null, don't set the cached response for the action.
2. Add to Page changes : Documentation object has been added in Action to handle the extra Template documentation for actions that have been imported from 3p marketplace
3. Added basic structure for rapid api plugin by copy pasting the rest api plugin
2020-03-17 18:19:22 +00:00
Trisha Anand
b17fae8e44 1. Add to Page changes : In case the sample response is null, don't set the cached response for the action.
2. Add to Page changes : Documentation object has been added in Action to handle the extra Template documentation for actions that have been imported from 3p marketplace
3. Added basic structure for rapid api plugin by copy pasting the rest api plugin
2020-03-11 17:16:15 +00:00
Arpit Mohan
249bbbde39 Adding the field shouldCacheResponse to the ActionExecutionResult to make the response caching generic across various plugins 2020-02-25 11:36:02 +00:00
Trisha Anand
2e11a5c2d5 Added datasource configuration to the provider to support the provider level configurations in rapid api 2020-02-14 06:32:34 +00:00
Trisha Anand
d3769bad62 In case of duplicate key, send the application error code instead of http error code so that frontend can handle the duplicate key error gracefully 2020-01-29 10:22:21 +00:00
Trisha Anand
d1705a1931 Corrected receiving the response from String to byte[] array. This ensures that binary responses can also be handled. Added handling of content type Image. 2020-01-24 07:49:52 +00:00
Trisha Anand
576453639f Converted Exceptions thrown to Appsmith Plugin Exception so that its handled correctly. 2020-01-15 17:59:11 +05:30
Trisha Anand
670ca4cb7e Added log for execute action 2020-01-15 09:13:27 +00:00
Trisha Anand
f4a2a73abe In case of non json results, set the result body as string, otherwise parse the json and then store it as jsonNode 2020-01-14 09:48:43 +00:00
Trisha Anand
71a8936e10 Handles http redirect upto 5 times. In case it exceeds the same, it would error out. 2019-12-23 09:12:15 +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
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
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
aac31235f6 Merge branch 'master' of gitlab.com:theappsmith/internal-tools-server
# Conflicts:
#	appsmith-plugins/restApiPlugin/src/main/java/com/external/plugins/RestApiPlugin.java
#	appsmith-server/src/main/java/com/appsmith/server/services/ResourceContextServiceImpl.java
2019-11-07 14:28:09 +05:30
Trisha Anand
63c0f07708 Query param handling has been added to Rest API plugin using URIComponentsBuilder 2019-11-06 12:30:56 +00:00
Arpit Mohan
bcda3f0feb Renaming all the references of resource to datasource
This renaming is reflective of the entity and it's potential values in the future.
2019-11-06 16:25:08 +05:30
Arpit Mohan
a61b9ab325 Handling null values in the request body 2019-11-05 12:25:08 +00:00
Arpit Mohan
3622d8b0d3 Converting actionConfiguration to a string to extract mustache keys
Also making jsonPathKeys a read-only field. Cannot be written via the API.
2019-11-05 10:40:09 +00:00
Trisha Anand
daeba007a1 Bug/rest api 2019-11-04 11:20:18 +00:00
Trisha Anand
84837fe57f Mongo Plugin works here. Barring the scenarios where the query json contains special characters in keys ($, .) it works properly. 2019-10-18 08:27:19 +00:00
Trisha Anand
e1d59ca3a6 Multi data source support for plugins using Resource Context 2019-10-11 10:32:18 +00:00
Trisha Anand
8658df95a9 All action executions now return object of type ActionExecutionResult. RestApiPlugin returns the same object which contains statusCode, headers and body. 2019-09-30 18:17:35 +00:00
Trisha Anand
566a245451 Segment & Rollbar Integration 2019-09-25 16:20:51 +00:00
Trisha Anand
bec8b2e0a1 Adding the docker-compose up command to the build
This should ideally run the mongo-seed container to restore the DB before each run
2019-09-24 12:14:41 +00:00
Arpit Mohan
b618bfc5d8 Adding a very initial version of the RestApiPlugin
Requires a bunch of testing for corner cases and error scenarios.
2019-09-17 12:24:45 +00:00
Arpit Mohan
0edc0f6363 Adding the executeAction API in the ActionController.
Also changed the interface for the PluginExecutor to include the resourceConfig and ActionConfig as well.
2019-09-17 12:18:23 +00:00
Arpit Mohan
b3c987a9f9 Convert the project into a multi-module structure
We are moving to a multi-module structure so that different parts of the codebase can be exposed to the public while others can remain private. Using pf4j for plugin framework.

Also adding a build script `build.sh` which compiles the code and creates the `dist` folder for distribution purposes. Now we can build the code via

```
$ ./build.sh -DskipTests
```
2019-09-16 11:21:57 +00:00