Commit Graph

126 Commits

Author SHA1 Message Date
akash-codemonk
0772bffe23
Create a new input field which outputs a key value pair (#1226) 2020-10-16 13:04:32 +05:30
dependabot[bot]
1157ecbbe6
Bump junit in /app/server/appsmith-plugins/rapidApiPlugin (#1159)
Bumps [junit](https://github.com/junit-team/junit4) from 4.11 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.11.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.11...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-13 14:35:29 +05:30
dependabot[bot]
2b70011f66
Bump junit in /app/server/appsmith-plugins/mongoPlugin (#1160)
Bumps [junit](https://github.com/junit-team/junit4) from 4.11 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.11.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.11...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-13 14:35:00 +05:30
dependabot[bot]
d80a70de8d
Bump junit in /app/server/appsmith-plugins/postgresPlugin (#1162)
Bumps [junit](https://github.com/junit-team/junit4) from 4.11 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.11.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.11...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-13 14:33:24 +05:30
dependabot[bot]
f6b1ff2ed4
Bump junit in /app/server/appsmith-plugins/mysqlPlugin (#1163)
Bumps [junit](https://github.com/junit-team/junit4) from 4.11 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.11.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.11...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-13 14:33:02 +05:30
dependabot[bot]
43f1478d81
Bump junit in /app/server/appsmith-plugins/restApiPlugin (#1164)
Bumps [junit](https://github.com/junit-team/junit4) from 4.11 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.11.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.11...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-13 14:32:28 +05:30
Shrikant Sharat Kandula
13ddcc0cc9
Upgrade pf4j & test containers and fix plugin tests (#1156) 2020-10-13 13:42:14 +05:30
Shrikant Sharat Kandula
4f3de3ab9f
Datasource structure support for MongoDB (#641)
* Added structure for MongoDB datasources

* Fixed tests for MongoDB template queries
2020-10-01 10:41:29 +05:30
Shrikant Sharat Kandula
2bb2ad4d19
Fix zero date-times in MySQL throwing exceptions (#705) 2020-09-24 14:36:22 +05:30
Shrikant Sharat Kandula
de1ea7dfb4
Add option to override server timezone for MySQL datasources (#659)
* Add option to override server timezone for MySQL datasources

* Added test for server timezone override for MySQL

* Fix serverTimezone property config
2020-09-23 10:07:33 +05:30
Shrikant Sharat Kandula
6ef5838cd8
Add UPDATE query templates for Postgres and MySQL plugins (#646) 2020-09-21 17:56:24 +05:30
Shrikant Sharat Kandula
34edbe87e3
Fix unquoted identifiers in generated queries for Postgres (#639) 2020-09-21 16:28:14 +05:30
Shrikant Sharat Kandula
75ba90928e
Add datasource structure caching and MySQL structure support (#553)
* Implement caching for datasource structure

* Avoid using final fields so spring-data can load objects

* Use type variable for getStructure method

* Initial version with base structure for MySQL plugin

* Add tests for MySQL plugin structure

* Add sorting for keys in Postgres structure as well

* Show "primary key" instead of just "primary"

* Refactor to reduce inline magic strings
2020-09-17 13:59:46 +05:30
Shrikant Sharat Kandula
e551043080
Fix plugin executions/test/structure breaks when auth is null (#544) 2020-09-15 12:09:49 +05:30
Shrikant Sharat Kandula
6c7e45d010
Add a connection type variable for Plugin implementations (#531)
* Add a connection type variable for Plugin implementations

This type variable is intended to represent the type of the
connection object, if any, that the plugin will use. This will
help make the implementations more robust by leveraging Java's
type checking instead of rudimentary type casts over the
connection objects.

* Fix missing typevar usage
2020-09-14 20:36:47 +05:30
Shrikant Sharat Kandula
3f5930e52e
Add datasource structure support for DB plugins (#523)
* Base interface for getting datasource structure for databases

* Add keys and constraints to structure for Postgres datasources

* Use connection from datasource context for computing structure

* Refactor context retrying into a separate method

* Add base datastructures for templates in entity explorer

* Fix spring circular dependency

* Add test for postgres datasource structure

* Generate column names and sample values for INSERT query

* Add LIMIT clause to generated SELECT query

* Fix tests for generated SELECT query

* Minor refactoring
2020-09-14 18:59:11 +05:30
Arpit Mohan
2a3ccd7e25
Removing SSH Tunnel from Mongo & Postgres plugins (#529)
We don't yet support this feature hence removing it from the UI. Will add it back again once the backend supports SSH tunnelling.
2020-09-10 18:29:49 +05:30
Shrikant Sharat Kandula
3353962719
Fix MongoDB plugin update commands produce an empty response (#469) 2020-09-04 10:56:09 +05:30
Shrikant Sharat Kandula
59349fd03e
Fix column alias names in MySQL actions (#466)
* Fix aliases not showing up for MySQL actions

* Fix date column display for MySQL actions

* Fix datetime columns for MySQL actions

* Add support for timestamp and year data types for MySQL actions

* Fix column label for MySQL plugin

* Add tests for MySQL temporal data types

* Add tests for alias columns in MySQL and Postgres
2020-09-02 17:19:41 +05:30
akash-codemonk
8f0015eaf3
Show validation errors if any for keyvalue fields (#445)
* Update host field with validation properties
2020-08-31 10:45:04 +05:30
Shrikant Sharat Kandula
eb7dcd69a5
Fix MongoDB datasource testing fails due to unauthorized error (#402) 2020-08-24 12:23:38 +05:30
Shrikant Sharat Kandula
27b7f6c5e2
Fix test DS fails on datasources with direct mongo connection (#400) 2020-08-22 07:40:02 +05:30
Shrikant Sharat Kandula
3e1522628f
Fix numbers being converted to floats in JSON Post body (#241) 2020-08-11 14:07:34 +05:30
Shrikant Sharat Kandula
b511c3ada9
Change return type of plugin execution to be more specific (#247) 2020-08-10 14:41:32 +05:30
Nikhil Nandagopal
f7cf7e1182
Fix/copy changes (#210)
* Added information to setup domain

* Fixed incorrect var reference

* Updated documentation message

* Updated env template

* updated template

* removed debug echo

* Updated Script

* Updated Text

* Removed option to connect to external mongo for fresh installs
Exit script of docker desktop is not installed

* Updated docker installation explanation

* added a question to skip custom domain if user is installing locally

* Inverted script question and

* Removed question to determine local installation

* Updated Popup CTA to Modal
Updated query templates to contain bindings
Added a message to display on API / Query errors

* updated styles for evaluated value
updated styles for auto complete

* added spaces to questions

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-08-04 17:51:02 +05:30
Trisha Anand
b5841e96d2
GET plugin form now returns json to render both datasource configuration form and the editor query pane (#199)
Keeping the function to read plugin resource generic for any type of resource. Now the parent function can also conditionally decide which plugin would require to read which resources from the filesystem.

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2020-08-03 16:37:28 +05:30
Shrikant Sharat Kandula
dfcabab4cc
Handle stale database connection from datasources (#151)
* Handle stale database connection from datasources

* Fix potential secondary case of stale connection error

* Fix Postgres to MySQL

* Move validity check timeout to a constant field

* Add test for recovery when stale connection error is thrown
2020-07-24 12:18:25 +05:30
Shrikant Sharat Kandula
ca73c3e625
Copy plugin dependencies to their target/lib to fix driver not found errors (#152)
The plugin class loader from Pf4J looks for jars under target/lib
to use to load any classes that are missing target/classes. This
PR adds the `maven-dependency-plugin` to copy the jars to this
folder automatically so the classes are available during
development.
2020-07-24 09:49:17 +05:30
Shrikant Sharat Kandula
a46d355422
Fix class name casing for MySqlPlugin (#148) 2020-07-23 17:33:34 +05:30
Arpit Mohan
f9d4262d7e
Removing the default value for postgresql and mysql ports (#147) 2020-07-23 10:40:18 +05:30
Arpit Mohan
690c327f2c
Adding default values for mysql datasource (#140)
Also correcting icon details to mysql plugin migration.
2020-07-22 14:00:15 +05:30
nupur
d0e60a1890
Mysql plugin integration (#53)
This commit adds the Mysql plugin to the Appsmith server. We also add a migration to ensure that this plugin is installed by default for all existing organizations. The migration also adds the plugin details into the DB.

Also adding the test cases for mysql plugin.

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Arpit Mohan <me@arpitmohan.com>
Co-authored-by: Nupur Singhal <nupursinghal@Nupurs-MacBook-Air.local>
2020-07-21 16:01:42 +05:30
Trisha Anand
8734067cad
Resolving the dependabot vulnerabilities. (#69) 2020-07-09 21:12:16 +05:30
Shrikant Sharat Kandula
ff3c0c0451 Fix column ordering not being consistent in responses from PostgresPlugin 2020-07-07 10:56:56 +05:30
Shrikant Sharat Kandula
8c113834d6
Fix error when dealing with null value columns in Postgres plugin (#46) 2020-07-07 10:52:09 +05:30
Shrikant Sharat Kandula
afe0dfdc75
Dates from Postgres queries now show up as ISO date strings (#5)
* Dates from Postgres queries now show up as ISO date strings
* Use constant for date column name in PostgresPlugin
* Fix formats for more date-time types on Postgres
* Add support for time and timestamp data types in Postgres plugin
* Add support for timestamptz column data type in Postgres plugin
* Add support for interval data type in PostgresPlugin
2020-07-06 18:52:41 +05:30
Shrikant Sharat Kandula
f0658d69b2
Read RapidAPI variables directly form environment (#38) 2020-07-06 14:56:39 +05:30
Shrikant Sharat Kandula
56547ec02f
Move application configuration to be loaded from environment variables (#23)
* Move application configuration to be loaded from environment variables
* Remove unused sentry.properties
* Make missing value sentinel a constant and ignore all *.env files
* Removed now-used ACL properties
* Prefix RapidAPI environment variable with APPSMITH_
* Fix application properties not being loaded into static fields
* Remove application-test.properties file
* Add required env variables for test in GitHub
* Quote URLs for MongoDB and Redis in test config
* Change RAPIDAPI to RAPID_API in environment variable names
* Source .env file in the root of repo in start script
2020-07-06 14:35:56 +05:30
Shrikant Sharat Kandula
0dd1114917
Clean up MongoDB object types before sending data to client (#8) 2020-07-01 16:40:39 +05:30
Arpit Mohan
b63ca6726d Merge branch 'feat/plugin-templates' into 'release'
Add server-side templates support for plugins

Two main themes in this MR:

1. Add support for saving query templates as resource files inside a plugin. This has been done for both Postgres and MongoDB plugins, based on current template contents.
2. Loading of form JSON is now reactive. The blocking call has been moved inside a `Mono.fromSupplier`.
3. The loading of from JSON as well as the templates is cached and are loaded on-demand. This means that the templates are loaded once for a plugin through the lifetime of the server process, and that they are loaded only at the first time they are needed.
4. If loading of these resources fails, we try again when they are needed the next time.

See merge request theappsmith/internal-tools-server!385
2020-06-24 11:08:25 +00:00
Shrikant Kandula
eee2cfcaff Add server-side templates support for plugins 2020-06-24 11:08:25 +00:00
Shrikant Kandula
40b5466bd8 Fill response body with value when running findAndModify Mongo query 2020-06-24 11:05:19 +00:00
Shrikant Kandula
522e6221f7 Make NO_SSL the default for Mongo datasources 2020-06-24 11:02:34 +05:30
Trisha Anand
cd30e36eaa Hacky solve for setting the action execution request in case of failures in URL/HTTP Method/etc. 2020-06-19 23:43:32 +05:30
Trisha Anand
0603da29ee User test - Add request URL and http method to the execution result 2020-06-19 16:24:58 +00:00
Trisha Anand
73757c3425 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	.gitignore
#	appsmith-plugins/mongoPlugin/plugin.properties
#	appsmith-plugins/postgresPlugin/plugin.properties
#	appsmith-plugins/rapidApiPlugin/plugin.properties
#	appsmith-plugins/restApiPlugin/plugin.properties
#	appsmith-plugins/restApiPlugin/src/main/java/com/external/plugins/RestApiPlugin.java
#	appsmith-server/src/main/java/com/appsmith/server/constants/FieldName.java
#	appsmith-server/src/main/java/com/appsmith/server/repositories/ActionRepository.java
#	appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java
#	appsmith-server/src/main/java/com/appsmith/server/services/DatasourceContextServiceImpl.java
#	appsmith-server/src/main/java/com/appsmith/server/services/DatasourceServiceImpl.java
#	appsmith-server/src/test/java/com/appsmith/server/services/ActionServiceTest.java
#	appsmith-server/src/test/java/com/appsmith/server/services/ApplicationServiceTest.java
#	appsmith-server/src/test/java/com/appsmith/server/services/LayoutServiceTest.java
#	appsmith-server/src/test/java/com/appsmith/server/services/PageServiceTest.java
#	build.sh
2020-06-12 19:14:31 +05:30
Arpit Mohan
01737b9599 Experimenting with maven-shade-plugin to create a fat-jar of the postgres dependency.
Will have to do this for all plugins. Currently, it's not registering the plugin with the SpringPluginManager
2020-06-10 11:11:23 +00:00
Shrikant Kandula
1ce336257c Mark any 2xx status code in REST API plugin as successful execution. 2020-06-10 10:51:07 +00:00
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