Commit Graph

1543 Commits

Author SHA1 Message Date
Nidhi
9f8cb59a04
Null handling for bad state in OAuth2 callback (#3810)
* Null handling for bad state in OAuth2 callback

* Handling null

* Another case for when state is present but not as expected
2021-04-01 10:41:11 +05:30
Sumit Kumar
efa4ae072c
Firestore plugin support for FieldValue.delete() and FieldValue.serverTimestamp() values (#3693)
- Allow users to define key path for FieldValue.delete() and FieldValue.serverTimestamp() values.
- delete() value is only valid for update operation, as Firestore does not seem to support it for any other ops.
- serverTimestamp() is valid for all operations excluding get and delete operations.
2021-03-30 17:19:24 +05:30
Trisha Anand
aab75bf304
Bug fix : App viewer inviting another app viewer would assign correct permissions to applications 2021-03-30 17:05:44 +05:30
Sumit Kumar
7dbae1e481
fix regex for whitespace (#3761)
- fix regex for whitespace
2021-03-30 15:03:39 +05:30
Arpit Mohan
60400da94a
Fixing signed URL request for AWS S3 in Rest API plugin (#3734)
* added empty byte array for request body to fix aws signed url signature match problem as detailed here - https://github.com/aws/aws-sdk-java/issues/2205

Co-authored-by: Bernard Worthy <>
2021-03-29 12:58:57 +05:30
Trisha Anand
554c45eef8
[Bug Fix] Prepared Statement -String starting with a number recognized as JSON object instead of String (#3710)
* String starting with float like 2.1 recognized as JSON object instead of String.

* Incorporated review comments.
2021-03-29 12:22:06 +05:30
dependabot[bot]
00477fe686
Bump guava from 28.1-jre to 29.0-jre in /app/server/appsmith-server (#3728)
Bumps [guava](https://github.com/google/guava) from 28.1-jre to 29.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-29 00:20:04 +05:30
Trisha Anand
b9fd72e89d
Smart Substitution Debugging - Adding Appsmith data type to each parameter in response's request object for execute (#3716)
* Smart Substitution Debugging - Adding appsmith data type to each parameter in response's request object for execute

* Incorporated review comments.

* Fixed failing test cases.

* Fixed MS-SQL test failures.
2021-03-26 23:29:12 +05:30
Nidhi
683176fc48
Increased default limit for webclient payload (#3718)
* Increased default limit for webclient payload
2021-03-26 21:34:10 +05:30
Sumit Kumar
e347b61e53
Return hint on localhost url (#3611)
- Return hint for localhost URL on the following events:
Test datasource
Save datasource
Update REST API Url
Create datasource from REST API
When page gets loaded for first time.
- Hint message returned: "You may not able to access your localhost if Appsmith is running inside a docker container or on the cloud. Please check out Appsmith's documentation to understand more."
- It has been decided as part of actions pod meeting that these messages will not be persisted.
2021-03-26 15:42:34 +05:30
Trisha Anand
c420d0207f
Supporting timestamp datatype in Prepared Statement (#3690)
* WIP : Adding timestamp datatype in Prepared Statement

* Added simple tests for commonly used data types' identification

* Added plugin level test cases for timestamp with Prepared Statement to Postgres
2021-03-26 13:19:22 +05:30
Trisha Anand
ed1a0b4045
Refactor the smart substitution code to extract common code at plugin interface level. (#3497) 2021-03-25 19:10:42 +05:30
Trisha Anand
c6e4f91ffb
[Bug fix] A lax search for presence of binding during save page to match client algorithm to reduce page save error (#3698)
* Lax mustache binding check added to match the client side check when client recognizes a field to have a dynamic binding. This would reduce/remove bad bindings from throwing a 400 during save page.

* Added a test to assert that update layout does not fail in case the binding is technically incorrect because part of the mustache's lie inside quotes. Since client has a lax way of finding a dynamic path, server also follows suite.
2021-03-25 16:00:45 +05:30
Trisha Anand
1a9a410c5e
Stringifying the binding name before setting in the error to ensure client can parse it correctly (#3689) 2021-03-25 12:36:56 +05:30
Sumit Kumar
cb9df80694
change default value of s3 file data type on create file action (#3685)
- modify default value for s3 on file create to Yes.
- change dropdown option names to base64, text from yes, no.
2021-03-24 15:02:13 +05:30
Sumit Kumar
56f22edbe8
Return hint message on identical columns (#3656)
- Return hint message if identical column names are found in SQL query for postgres, MySQL, mssql, redshift plugin.
- Add a PluginUtils class to hold general utility functions for plugins.
2021-03-24 08:22:49 +05:30
Nidhi
992da806bf
Added dummy instances to UI matrix (#3683) 2021-03-24 08:18:19 +05:30
Shri
a18e569f7d
Fix data serialization in analytics (#3677)
* Serialize object fields before sending to analytics

* Push event when application is published
2021-03-23 17:13:02 +05:30
Sumit Kumar
38c5639542
Provide non client certificate based SSL support for Mysql, Mongo, Postgres plugins. (#3518)
- Provide non client certificate based SSL support for Mysql, Mongo, Postgres plugins.
- Added a new option default, apart from the the SSL mode types supported by the driver. Default means that go with whatever default configuration driver provides.
2021-03-19 15:03:56 +05:30
Nidhi
93d5a061e2
Added logs and analytics (#3622)
* Added logs and analytics

* Fix in error string

Co-authored-by: Shri <shrikant@appsmith.com>

* Review fixes :)

Co-authored-by: Shri <shrikant@appsmith.com>

Co-authored-by: Shri <shrikant@appsmith.com>
2021-03-18 21:48:13 +05:30
Shri
bb1d0059d3
Clear OAuth tokens for forked datasources (#3609)
* Clear OAuth tokens for forked datasources

* Fix datasource duplicate finder in light of oAuth tokens

* Fix potential NPE
2021-03-18 21:08:56 +05:30
Shri
cbd7828503
Add migration to remove template organization config (#3568) 2021-03-16 15:29:06 +05:30
Shri
e1fb1203b5
Application forking fixes and improvements (#3519)
* Clone only those datasources that are actually used

* Retry when cloning app causes a name class

* Search for an existing datasource before cloning

* Test deep matching of datasources

* Refactoring, since now the tests pass

* Allow forking of owning applications

* Don't limit datasource naming suffix number
2021-03-15 22:19:40 +05:30
Shrikant Sharat Kandula
3d6bd51556
Fix NPE in action execution analytics (#3541)
The NPE noticed is with the return value of `.getStatusCode`.
But this PR adds NPE guards to a few other potential cases.
2021-03-14 07:58:27 +05:30
Nikhil Nandagopal
d7a5f36fea Made bade 64 encoding the default type for S3
Added a data field for file pickers that is filled based on the property pane value
2021-03-12 13:44:32 +05:30
Trisha Anand
217e36aaa9
Enrichment of analytics event for execute. (#3492)
* WIP : enrichment of analytics event for execute.

* Plugin level : Catch all exceptions and set request in the result
Server level : Adding new fields to analytics : `isSuccessfulExecution`, `statusCode`, `timeElapsed`

* Dont catch StaleConnectionException. Server handles the same.

* Removed class specification for onErrorResume in plugins since its supposed to catch all errors.
2021-03-11 15:40:07 +05:30
Shrikant Sharat Kandula
b12057ef73
Allow client to set layouts without id when creating a page (#3477)
* Allow client to set layouts without id when creating a page

* Mild refactoring

* Fix Layout action tests
2021-03-11 15:13:24 +05:30
Nidhi
f017ef29d4
Modified maven dependencies to reduce build time and jar size of s3 (#3491) 2021-03-11 14:58:07 +05:30
Trisha Anand
9f63bfafd2
Adding JSON intelligent substitution for Rest Api plugin (#3474)
* POC : null value getting handled correctly

* Refactor code. Tested with and without quotes. This is working! Woohoo!

* Added support for mustache binding to include json objects and arrays

* Added test for smart substitution.

* Added setting to turn on/off smart substitutions in Rest API plugin

* Handling turning on smart json substitution

* Added error handling

* Added config to turn on smart substitution in JSON to make the tests pass now

* Adding a beta tag to the API setting.

* Spelling error resolved.

* Incorporated review comments.

* Catching JSON Parse exception in http call.
2021-03-11 14:10:00 +05:30
Shrikant Sharat Kandula
1d683ad458
Fix recaptcha failing on signup when not configured (#3488) 2021-03-11 11:05:48 +05:30
Shrikant Sharat Kandula
65568a4e13
Add more devices in AppLayout options (#3451)
* Remove width and introduce more AppLayout type enums

* Fix: Adding min width to layout options.

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
2021-03-11 07:51:48 +05:30
Abhishek
0b4adf198d
Add recaptcha verification for user signup on the server (#3383)
Co-authored-by: Abhishek <abhishek.ak@bytedance.com>
2021-03-11 07:25:01 +05:30
Sumit Kumar
aaf4ce95f2
use dynamic input text in plugin editor forms (#3470)
- Use dynamic input text for plugin editor forms so that the evaluated value of mustache expression is visible.
- Those fields which are meant to store Key only - i.e. they are not visible to the user and are only meant to provide key for key value pair in db have been skipped.
2021-03-10 12:29:19 +05:30
Sumit Kumar
b6961ce7a4
Add timeout failure for mongo plugin test datasource (#3431)
- Mongo plugin client driver does not return with exception upon first failure - instead it keeps retrying. Hence, adding timeout error to report failure before the client thread cancels due to delay in response.
- It seems that the mongdb connection string cannot be directly used for ping test, hence skipping it.
2021-03-10 11:11:14 +05:30
Sumit Kumar
04e8acb763
Custom S3 service support (#3469)
- Provide support for non Amazon S3 service providers like Upcloud, Digital Ocean, Wasabi, DreamObjects and any other S3 compliant storage service provider.
- Change plugin label from "Amazon S3" to "S3"
2021-03-10 10:30:07 +05:30
Shrikant Sharat Kandula
bb9a9a307f
APIs for profile photos (#3260)
* Add API for uploading profile photos for current user

* Add delete and get APIs for profile photos

* Add test for uploading and deleting profile photo

* Added negative tests for upload profile photo API
2021-03-09 17:03:20 +05:30
Trisha Anand
092a942036
Added support for Prepared Statement in MS SQL plugin. (#3438)
* Added support for Prepared Statement in MsSQL plugin.

* Minor code formatting

* Merged release and refactored code for compilation.
2021-03-09 14:42:53 +05:30
Trisha Anand
cd45a1dd74
Added support for Arrays in Prepared Statement in Postgres (#3421)
* Added support for Arrays in Prepared Statement

* Minor code cleanup

* Super minor code readability changes

* Incorporated review comment
2021-03-09 13:17:42 +05:30
Trisha Anand
38c0151e94
Changed order of message for easy grep in case of invalid dynamic binding path (#3436) 2021-03-08 16:05:05 +05:30
Trisha Anand
79164fde44
Only return request object in action execute if the action was executed in EDIT mode. (#3426) 2021-03-08 16:04:17 +05:30
Sumit Kumar
800d305dab
Gracefully handle the timeout overflow / out of expected range errors (#3411)
- Expect max value of timeout as 60000 ms.
- If value exceeds max value then add error message to the list of invalids. This list is returned to the client in response body.
- Detect integer overflow exception (Number format exception) and override the value to 60000 ms.
2021-03-05 17:09:29 +05:30
Trisha Anand
10cd7f5f80
Adding support for Prepared Statements in MySQL plugin (#3327) 2021-03-05 16:22:46 +05:30
hetunandu
8574b86926 Merge branch 'master' into release 2021-03-05 12:06:14 +05:30
Trisha Anand
20ed017a58
In case of no mustache bindings are found in dynamic path list, throw invalid dynamic binding reference error. (#3394) 2021-03-04 15:35:46 +05:30
Trisha Anand
5e448b9331
DSL parsing : Catch index out of bound exception (#3364)
* In case index being referred does not exist, throw appropriate error during DSL parsing

* Fixing bad commit.
2021-03-03 18:51:35 +05:30
Sumit Kumar
639913703a
Fix/add mongo srv support (#3341)
Provide helpful error msg when srv url is provided to mongo plugin

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-03-03 18:31:04 +05:30
Trisha Anand
75b0986b92 Fixed the incorrect JSON string in INVALID_DYNAMIC_BINDING_REFERENCE appsmith error. 2021-03-03 18:22:42 +05:30
Shrikant Sharat Kandula
bb49f04f06
Support descending ordering for Firestore documents (#3340) 2021-03-03 18:18:57 +05:30
Trisha Anand
f49cc7b455
Added throwing a properly formatted error for client to consume when dynamic binding path list contains an invalid entry (#3343) 2021-03-03 17:47:35 +05:30
Trisha Anand
ca8be4c7f5
Db Migration : Delete unreferenced dynamic binding paths in actions (#3310)
* WIP compute if the dynamic binding path list is correct.

* Tested code for deleting the incorrect dynamic binding path list from actions.

* Added comments for code readability
2021-03-03 17:11:03 +05:30
Shrikant Sharat Kandula
9c50182f0e
API for forking of public applications (#3221)
* A barely working API for forking a public application

* Tests WIP

* Mild refactoring in tests

* Refactoring in test

* Not all applications are forkable
2021-03-03 15:45:47 +05:30
Sumit Kumar
e5586a590a
fix placeholderText label in form.json files (#3331)
fix placeholderText label in form.json files
2021-03-03 09:33:02 +05:30
Sumit Kumar
5bab77a141
remove endpoint host and port fields from dynamodb datasource form (#3316)
- A consensus has emerged that the utility of overriding endpoint is only for local development and testing. Hence, removing the fields from datasource form.
2021-03-02 17:25:25 +05:30
Sumit Kumar
6c04e1467b
Provide option for only one endpoint and port in the dynamodb plugin datasource form (#3314)
- provide a max length to keyvalue_array type. If the max length is set to 1, then the "+" button will not appear.
- front end changes are pending. A new github issue will be opened to track the same : #3315
2021-03-02 15:42:38 +05:30
Arpit Mohan
bf16b45f2b
Merge pull request #3309 from appsmithorg/release
Release v1.4.1
2021-03-02 13:41:51 +05:30
Trisha Anand
bd18030c2d
Add request body in case http method is not GET (#3307)
* Add request body in case http method is not GET

* Incorporated review comments.
2021-03-02 12:46:20 +05:30
Trisha Anand
91e308665b
Requests preparation by plugins instead of ActionService (#3159)
* Added action request in S3 plugin.

* Added request data in Dynamo plugin

* Added request in Elastic Search.

* Request in Firestore.

* Request added in Mongo

* MsSQL request added.

* Added MySQL request.

* Added Postgres request.

* Added redis request.

* Redshift doen.

* Catching AppsmithPluginExceptions at the plugin level itself to ensure that the request gets passed on as part of the result.

* Fixed failing plugin test failures

* Fixed AmazonS3 test failures.

* WIP post analytics working

* WIP : Making the request data confirm to existing analytics request data format.

* Fixed the headers in the analytics body.

* Migrations S3, Postgres to the accepted format for request in analytics

* Updated S3 action to be the query

* Migration completed for all plugins for analytics.

* Removed the old analytics event. Now sending only the new one.

* Ensuring all data is captured in S3 plugin request in case of error.

* Minor editing of firestore to ensure that the errors get caught by the plugin itself.

* Fixed test cases in Amazon S3

* Incorporated review comments.
2021-03-02 10:58:46 +05:30
Sumit Kumar
68e6c7b1d8
stop logging datasource argument error externally. (#3262)
- Stop logging datasource argument error externally. The error described in the linked GitHub issue arises due to bad service account credentials provided as arg.
- Update error msg to make it clear.
- Add TC.
2021-03-01 12:13:32 +05:30
Trisha Anand
31b20da347
Adding support for NULL value parameters in Prepared Statement. (#3255) 2021-02-27 18:59:51 +05:30
Sumit Kumar
d2643a18c3
check dynamodb connection validity using listTables cmd. (#3241)
* check dynamodb connection validity using listTables cmd.
* add TC
* add encrypted logo to password field
* rectify the default value of region dropdown
* remove unused imports
2021-02-26 16:57:18 +05:30
Shrikant Sharat Kandula
a1d027bb59
Save separate appLayout for edit/view and sync on publish (#3245) 2021-02-26 16:18:04 +05:30
Shrikant Sharat Kandula
5808620716
Add API for the signed in user to set their name (#3164)
* Add API for the signed in user to set their name

* Use the correct error in session handling
2021-02-26 14:48:20 +05:30
Shrikant Sharat Kandula
dc146a1a16
Fix MongoDB test operation errors not being caught (#3234) 2021-02-26 12:55:54 +05:30
Arpit Mohan
4f16b23352 Merge branch 'release' 2021-02-25 19:34:22 +05:30
Shrikant Sharat Kandula
9f18aa2e69
Fix NPE in analytics on action execution (#3216) 2021-02-25 17:46:24 +05:30
Arpit Mohan
d420518cad Fixing merge conflicts 2021-02-25 17:29:49 +05:30
Sumit Kumar
1e59ed4928
Internal fix: Remove raw response from transformed DynamoDB response structure. (#3209)
* remove raw response from transformed response structure.
* update TCs
2021-02-25 16:34:07 +05:30
Trisha Anand
42af1fa771
Only extract dynamic bindings from leaf nodes on update layout (#3210)
* Only extract dynamic bindings from leaf nodes.

* Minor code refactoring

* Moved to using generic Map type instead of LinkedHashMap
2021-02-25 15:56:45 +05:30
Sumit Kumar
63ff3c73fa
Fix execute on page load for api on app copy (#3150)
* first draft

* added fix without TC

* cleanup

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* - add TC
- minor code refactor

* fix condition

* update clone page test

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2021-02-24 10:21:03 +05:30
Shrikant Sharat Kandula
68bbc4fb28
Support server-side pagination for Firestore (#3128)
* POC for Firestore server-side pagination

* Load pagination information values from action configuration

* Get execution information for Firestore plugin

* Working implementation of pagination for Firestore

* Add tests for next and previou page navigations

* Require ordering to be set when paginating

* Remove commented code

* Don't report error on bad configuration

* Error out on usupported operation

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Move constant indices to constant fields

* Use executeParameterized instead of execute

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2021-02-24 10:20:08 +05:30
Shrikant Sharat Kandula
72df6fb299
Allow MongoDB datasources without username/password (#3149) 2021-02-23 16:54:27 +05:30
Sumit Kumar
4b09b2c379
Transform Dynamodb response for easy consumption (#3050)
- add support to handle dnyamoDb Binary type
- transform raw response to show extracted response and raw response for:
GetItem
BatchGetItem
DeleteItem
PutItem
Scan
TransactGetItems
UpdateItem
- modify TC.
2021-02-23 16:24:06 +05:30
Trisha Anand
139d870c17
Marking Prepared Statement in Postgres plugin as a beta feature (#3161) 2021-02-23 15:39:53 +05:30
Piyush
faea2f36ff
Add support for setting.json for pluginType DB (#3156) 2021-02-23 13:57:37 +05:30
Shrikant Sharat Kandula
9b58e683b5
Fix Spring deserialization routines failing at appLayout (#3155) 2021-02-23 12:32:55 +05:30
Nidhi
61af306110
Added null check for OAuth2 scopes(#3153) 2021-02-23 11:10:47 +05:30
Shrikant Sharat Kandula
e2509ae325
Add placeholder for MongoDB datasource config's host inputs (#3145)
* Remove example indicator
2021-02-23 09:52:45 +05:30
Shrikant Sharat Kandula
4f6a48bf40
Fix BatchGetItem & TransactGetItems operations failing on the DynamoDB plugin (#3120)
* Fix batch operations APIs failing with DynamoDB

* Fixed TransactGetItems operation on DynamoDB
2021-02-23 09:51:23 +05:30
Shrikant Sharat Kandula
15b8e0f590
Add appLayout field to Applications (#3144)
* Add `appLayout` field to Applications

* Fix NPE on clone
2021-02-22 19:21:13 +05:30
Shrikant Sharat Kandula
276338af0a Rename the $ref field to _ref in Firestore plugin (#3135)
(cherry picked from commit 198abbf37d)
2021-02-22 14:40:02 +05:30
Shrikant Sharat Kandula
198abbf37d
Rename the $ref field to _ref in Firestore plugin (#3135) 2021-02-22 13:57:04 +05:30
Trisha Anand
7ff80ea192
In case an action is created without plugin template being set, update doesn't set the property as well. (#3116) 2021-02-19 23:26:33 +05:30
Trisha Anand
5a2ad75d1b
Use a toggle instead of dropdown to configure Prepared Statements (#3105) 2021-02-19 16:31:18 +05:30
Shrikant Sharat Kandula
ef732f1389 Add request body and some other details in action execution data point (#3096) 2021-02-19 15:20:20 +05:30
Shrikant Sharat Kandula
a6be22e028
Add request body and some other details in action execution data point (#3096)
* Include request body in action execution data point

* Send analytics data point when analytics fails
2021-02-19 14:39:40 +05:30
dependabot[bot]
9579b91fae
Bump jackson-databind in /app/server/appsmith-plugins/restApiPlugin (#3098)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.10.4 to 2.10.5.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-19 08:24:07 +05:30
Shrikant Sharat Kandula
6eb9f399a3
Add a boolean isHidden field for pages (#3090)
* Add a boolean `isHidden` field for pages

* Add `isHidden` when loading all pages of application
2021-02-18 19:23:15 +05:30
Trisha Anand
e5574c1945
Support Prepared Statements in Postgres (#2967)
* Pushing minor editor form changes to ensure that prepared statement could be turned off.

* Code refactor to do variable substitution in PluginExecutor instead of action service.

* WIP : Prepared Statement handling in psql plugin

* WIP Prepared Statements.

* Working version of prepared statements

* Quote trimming added for post preparing sql statements. Now the unprepared statements and prepared statements do not require edits.

* Fixed existing test cases failing.

* Code formatting.

* Super minor code cleanup.

* Added migration for the existing postgres actions.

* Fixed failing test cases in ActionServiceTest.

* Minor change in the text for turning on and off prepared statements in the postgres query pane.

* Added test cases for prepared statement.

* Some minor comments for code readability

* Moved Prepared Statement setting from Action Configuration to Plugin Specified Templates since this setting does not make sense for all the DB plugins.

* Added function level comments

* Update app/server/appsmith-interfaces/src/main/java/com/appsmith/external/helpers/SqlStringUtils.java

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* Update app/server/appsmith-interfaces/src/main/java/com/appsmith/external/helpers/SqlStringUtils.java

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* Incorporated review comments.

* Fixed compile time error.

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2021-02-18 18:33:27 +05:30
Trisha Anand
b565301afe
Datasource is given permission for a public app during create/update of a public action (#3086)
* Added test case to assert that new datasources and actions created post making an application public have the correct permissions for public execution.
2021-02-18 18:05:07 +05:30
Sumit Kumar
2c395b8c82
Enchancements for AWS S3 plugin (#3079)
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2021-02-18 17:55:01 +05:30
Shrikant Sharat Kandula
60a4ddb3c1 Fix NPE on plugin specified templates (#3084)
(cherry picked from commit 2a2b55ceaf)
2021-02-18 13:12:08 +05:30
Shrikant Sharat Kandula
128444f46c Add more information for action execution (#3060)
* Add more information for action execution

* Add orgId and pageName to action execution data point

(cherry picked from commit 6936a40361)
2021-02-18 13:12:08 +05:30
Shrikant Sharat Kandula
2a2b55ceaf
Fix NPE on plugin specified templates (#3084) 2021-02-18 09:10:15 +05:30
Shrikant Sharat Kandula
6936a40361
Add more information for action execution (#3060)
* Add more information for action execution

* Add orgId and pageName to action execution data point
2021-02-18 08:30:56 +05:30
Shrikant Sharat Kandula
c80b6b4761 Include Firestore document metadata in responses (#3063)
(cherry picked from commit b9cb76e7e5)
2021-02-17 10:59:36 +05:30
Shrikant Sharat Kandula
b9cb76e7e5
Include Firestore document metadata in responses (#3063) 2021-02-16 22:09:09 +05:30
Piyush Mishra
74b013d909
Encode params toggle (#3006)
* Makes client side changes to support actionConfiguration.encodeParamsToggle setting.
* Add migration code.

Co-authored-by: Sumit Kumar <sumit@appsmith.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2021-02-16 20:31:35 +05:30
Nidhi
afc329fd7b
Added grant type Authorization code to OAuth2 (#2992)
Co-authored-by: Piyush <piyush@codeitout.com>
2021-02-16 17:58:03 +05:30
Arpit Mohan
a973d779fd
Correcting the display message for query actions based on isExecutionSuccess flag (#3045)
Also improving the mongo error response string. Now we only send the error message instead of the entire stack trace back to the client
2021-02-15 22:10:04 +05:30
Shrikant Sharat Kandula
3fd8db90bd
Consistent handling of signup configuration over FORM and OAUTH (#3013)
* Fix OAuth flow throwing 500 when signup is disabled

* Check for error code to identify signup disabled error

* Add consistent handling of allowed-domains for signing up

* Check for existence of valid email before checking domain
2021-02-12 19:48:07 +05:30
Sumit Kumar
5638997a36
change response data format for AmazonS3 Plugin (#3023)
* change response data format.
* fix TCs
2021-02-12 19:34:03 +05:30
Shrikant Sharat Kandula
48b8bb9de1
Fix order of roles in share modal (#3017) 2021-02-12 16:37:34 +05:30
Sumit Kumar
4df595417f
return url on file create and fix image/video file upload issues with amazons3 plugin (#3012)
1. Return url on file create.
2. Fix image/video upload/download.
3. Change error msg format to directly print error msg without adding any prefix sentence.
2021-02-12 16:01:26 +05:30
Nidhi
8823f9d407
Added client credentials grant type for OAuth2 (#2649)
* Added client credentials grant type for OAuth2

Co-authored-by: Piyush <piyush@codeitout.com>
2021-02-11 17:58:06 +05:30
Shrikant Sharat Kandula
8440d4e4e3
Allow app-viewers to invite others as app-viewers (#2961)
* Allow app-viewers to invite others as app-viewers

* Fix description for new permissions

* Migration for setting invite policy for app viewers
2021-02-11 16:33:35 +05:30
Sumit Kumar
4870c0d743
enable save on missing username/password (#2979)
1. Add encrypted logo to password.
2. Enable save on empty username / password.
2021-02-11 14:35:10 +05:30
Sumit Kumar
e9e30d1fa4
Enable toggle for params encoding (#2968)
Enable toggle for params encoding
1. Add toggle param to ActionConfiguration class.
2. Add TCs to test toggle on/off/null.
2021-02-11 11:02:29 +05:30
Sumit Kumar
2a7f7ba8c4
s3 plugin (#2735)
1. Integrate S3 plugin.
2021-02-10 15:26:01 +05:30
Shrikant Sharat Kandula
95d1717f57 Merge branch 'release' 2021-02-10 14:35:02 +05:30
Shrikant Sharat Kandula
ed1c926c8a
Add datasource structure support for DynamoDB (#2919) 2021-02-10 13:28:35 +05:30
Shrikant Sharat Kandula
c5df149ba8
Add IN operator support for forms' hidden fields (#2939) 2021-02-10 11:27:21 +05:30
Shrikant Sharat Kandula
0861836db4
Fix bindings in Firestore plugin's where condition value (#2934) 2021-02-09 19:11:16 +05:30
Nidhi
c0e44d0cd9
Added null check for error messages (#2922)
* Added null check for error messages

* Added a generic null check for future null pointers from other sources.
2021-02-09 15:00:22 +05:30
Trisha Anand
af273c60d8
When fetching unpublished actions and unpublished pages, check if the undeployed version is not deleted before fetching. (#2792)
* When fetching unpublished actions and unpublished pages, check if the undeployed version is not deleted before fetching.

* Only add unpublished page deleted at check if the view mode is false (aka edit mode)

* 1. Update action repository to fetch only non deleted actions if fetching actions in edit mode.
2. Added test cases to assert re-using of deleted page and action names.
2021-02-09 12:57:10 +05:30
Trisha Anand
078870f7c9
Communicate action execute on load changes in update layout (#2825)
* 1. Update on load actions correctly
2. Send the changed actions with their changes as well as messages back to the client as part of the response.

* Added test case to assert that the action updates are correctly recorded in updateLayout.

* Code cleanup + added more comments for code readability

* Incorporated review comments.
2021-02-09 10:39:08 +05:30
Shrikant Sharat Kandula
fbf6021080
Fix nested structure translation in DynamoDB (#2915) 2021-02-09 06:59:45 +05:30
Nidhi
973cd850e7
Modified documentation links for plugins (#2909)
* Modified documentation links for plugins

* Modified documentation links for plugins
2021-02-08 17:11:31 +05:30
Shrikant Sharat Kandula
ebcbfb0043 Merge branch 'release' 2021-02-08 16:39:47 +05:30
Shrikant Sharat Kandula
433ce89c76
Add support for handling array types in Postgres plugin (#2887) 2021-02-08 15:06:57 +05:30
Nidhi
35b3e7d84f
Switched test container ver (#2898) 2021-02-08 13:40:53 +05:30
Sumit Kumar
e6b77a1299
Stop logging some AppsmithPluginException to Sentry (#2351)
1. Move package  appsmith-interfaces/src/main/java/com/appsmith/external/pluginExceptions-> appsmith-interfaces/src/main/java/com/appsmith/external/exceptions/pluginExceptions
2. Move enum AppsmithErrorAction from appsmith-server/src/main/java/com/appsmith/server/exceptions/AppsmithError.java -> appsmith-interfaces/src/main/java/com/appsmith/external/exceptions/AppsmithErrorAction.java, so that both plugin exceptions and server exceptions could use the same enum.
3. Log exception based on the error action defined for each exception.
2021-02-04 15:24:30 +05:30
Shrikant Sharat Kandula
5c9f90fd59
Fix missing user name in first organization name (#2873) 2021-02-04 14:04:24 +05:30
Nikhil Nandagopal
8c5213b6fd
Merge pull request #2851 from appsmithorg/fix/docs-link
Fix/docs link
2021-02-03 21:31:33 +05:30
Nikhil Nandagopal
486a9da8dd updated all doc links 2021-02-03 20:45:16 +05:30
Shrikant Sharat Kandula
779c41e0d3 Merge branch 'release' 2021-02-03 17:44:23 +05:30
Nikhil Nandagopal
db9c2d6c27 Updated doc link 2021-02-03 17:28:05 +05:30
Shrikant Sharat Kandula
f950a9352b
Fix datasource hostnames being saved with spaces (#2844) 2021-02-03 16:46:09 +05:30
Shrikant Sharat Kandula
e9ba40f1f4
Analytics data point on action execution (#2740)
* Add analytics data point on action execution

* Include application details in action exec data point

* Only send action execution event on cloud

* Analytics is auto-disabled on self-hosted setups

* Move event name to AnalyticsEvents enum

* Move analytics Mono to separate method

* Use a common function to enqueue analytics message

* Provide analytics properties from caller method

* Use consistent casing in event names for analytics
2021-02-02 20:24:27 +05:30
Nidhi
01bbc03857
Fixed handling of lists in dynamodb (#2818) 2021-02-02 13:35:58 +05:30
Nidhi
c83fb70b95
Fixed ExecuteOnLoad not getting set for onPageLoad actions (#2801)
* Piped onpageload update function

* Added tests
2021-02-02 10:48:51 +05:30
Shrikant Sharat Kandula
98a0cd59b1
Fix reference types in arrays in Firestore (#2811)
* Fix reference types in arrays in Firestore

* Added a whole bunch of tests for various data types
2021-02-02 10:18:06 +05:30
Tim Dillon
91d5eb5860
Fix user email duplicated as name (#2787) 2021-02-01 14:51:44 +05:30
Shrikant Sharat Kandula
8475d71600
Fix RestAPI plugin not starting up (#2757)
* Remove unneeded dependency exclusions
2021-02-01 14:38:06 +05:30
Shrikant Sharat Kandula
018e1a94d6
Fix Firestore single document method for ref types (#2790) 2021-02-01 14:23:48 +05:30
Arpit Mohan
433461a347
Merge pull request #2759 from appsmithorg/release
Release v1.3.2
2021-01-28 18:02:48 +05:30
Nidhi
c17a2ea536
Modified error displayed to user on generic bad request (#2583)
* Modified error displayed to user on generic bad request

* Separate null check for cURL import
2021-01-28 12:14:34 +05:30
Dwayne Forde
51ccd19081
Use IPv4 on WSL machines (#2729)
WSL has issues when handling IPv6 ips. In order to resolve this, on dev machines, we now check if it's a WSL environment. If yes, we default to using IPv4 instead of IPv6.
2021-01-28 12:08:44 +05:30
Shrikant Sharat Kandula
b731793a88
Fix reference type fields in Firestore throwing 500 (#2718) 2021-01-27 20:38:46 +05:30
Shrikant Sharat Kandula
350aea90c4
Revert RestAPI plugin signature timeout fix (#2748) 2021-01-27 17:24:25 +05:30
Shrikant Sharat Kandula
63b7eb6e95
Fix signature in RestAPI plugin throwing timeout error (#2745)
* Fix restapi signature throwing timeout error

* Add missing dependencies for restapi
2021-01-27 14:55:08 +05:30
Shrikant Sharat Kandula
a6d76d1672
Fix organization slug computation clashes (#2725)
* Fix organization slug computation clashes

* Handle case where number-less slug is available
2021-01-27 14:35:43 +05:30
Shrikant Sharat Kandula
6bf2be65c0
Don't attempt to get structure for invalid datasources (#2730) 2021-01-27 13:44:15 +05:30
Shrikant Sharat Kandula
42efb20d14
Remove unused cert fields for Mongo and Postgres plugins (#2723) 2021-01-26 18:44:01 +05:30
Nidhi
6515b5c91c
Fixed null endpoint issue for MySQL plugin (#2719) 2021-01-26 17:16:31 +05:30
Trisha Anand
9e0f36a6f2
Improve Server thrown Error Messages' language (#2705)
* Improve Error Messages

* Added naming convention expansion for action name in the error

* Fixed failing test case assertion.

* Minor formatting.
2021-01-25 18:50:32 +05:30
Trisha Anand
3776e82fb8
Scheduling of parallel tasks implementation for on-page load actions (#2667)
* Proof of concept code which calculates the on load page actions.

* Refactored the field names introduced in Layout. Added a new field to keep a track of direct action names used in dynamic bindings in the DSL.

* Untested compute on on page load actions completed.

* Working page load actions computation.
TODO : Update the tests for correctness.

* Added fix for BFS starting from root nodes instead of arbitrary nodes.
Fixed a test case to assert for correct page load actions.

* Fixed the bug where the ids of the actions were not getting set in the layout. Also asserting the same in the test case for catching the future breaks.

* Minor refactor of function name to clear its purpose without reading the code.

* Incorporated review comments.

* Added conditional checks for unpublished action deleted and circular dependency of actions depending on each other.
2021-01-25 16:54:45 +05:30
Shrikant Sharat Kandula
1e8aa62654 Merge branch 'release' 2021-01-22 14:34:58 +05:30
Shrikant Sharat Kandula
468e84aabb
Fix calls to release notes from cloud instances (#2680) 2021-01-22 14:25:24 +05:30
Trisha Anand
48cfa2cea0
In case an action has been deleted in unpublished state, dont return it to the user in edit mode. (#2678) 2021-01-22 13:19:42 +05:30
Shrikant Sharat Kandula
95250cf955 Merge branch 'release'
# Conflicts:
#	app/client/src/constants/messages.ts
#	app/client/src/sagas/ErrorSagas.tsx
2021-01-21 17:16:33 +05:30
Shrikant Sharat Kandula
6b406be39e
Fetch release notes for caching every two hours (#2657)
* Fetch release notes for caching every two hours

* Revert unrelated changes in Ping class
2021-01-21 11:59:35 +05:30
dependabot[bot]
e781ceb30a
Bump jackson-databind in /app/server/appsmith-interfaces (#2652)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.9.10.5 to 2.9.10.7.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-21 10:48:01 +05:30
Shrikant Sharat Kandula
52c689efee
Add a migration to fix any remembered versions (#2651)
* Add a migration to fix any remembered versions

* Drop the userData collection instead
2021-01-21 07:39:41 +05:30
Shrikant Sharat Kandula
63fb249e40 Merge branch 'release'
# Conflicts:
#	app/client/cypress/integration/Smoke_TestSuite/Onboarding/Onboarding_spec.js
#	app/client/src/components/editorComponents/Onboarding/Tooltip.tsx
#	app/client/src/constants/OnboardingConstants.tsx
#	app/client/src/pages/Editor/Welcome.tsx
#	app/client/src/sagas/ActionExecutionSagas.ts
#	app/client/src/sagas/OnboardingSagas.ts
2021-01-20 15:49:56 +05:30
Shrikant Sharat Kandula
9ead9af5f6
Respond with empty string when no new versions (#2618) 2021-01-19 11:37:31 +05:30
Shrikant Sharat Kandula
f6845486d2
Handle snapshot versions as special (#2617)
This is needed for remembering when a user has viewed
release notes. Snapshot versions aren't a tagged marker
on the version timeline so aren't useful for this purpose.
2021-01-19 08:24:56 +05:30
Shrikant Sharat Kandula
3dc6f1107b
Send repo information when fetching release notes (#2615) 2021-01-18 21:21:22 +05:30
Shrikant Sharat Kandula
04d4812fc9
Fix getting release notes always resulting empty (#2609) 2021-01-18 15:21:50 +05:30
Nidhi
e6a0b00a25
Added Oauth2 functionality for REST APIs (#2509)
* Added Oauth2 functionality for REST APIs

* Encrypted response

* Missed file

* Review comments and tests

* Removed broken test
2021-01-15 16:41:13 +05:30
Trisha Anand
91b8922f1c
In case cs service returns an error, stop processing release notes and resume with the caller flow. (#2550)
* In case cs service returns an error, stop processing release notes and resume with the caller flow.

* In case the server was unable to exchange messages with the CS server, bail out of further processing gracefully since this is not a must have but rather a good to have feature.
2021-01-13 14:30:23 +05:30
Nidhi
9ea5c884e1
Null check for empty pagination next url (#2546) 2021-01-13 12:12:29 +05:30
Trisha Anand
c24bc826e0
When an application name is changed, the isPublic flag is reset to false. (#2539) 2021-01-12 20:06:33 +05:30
Shrikant Sharat Kandula
c6c128270c
Include version information when building Docker images for server and client (#2200)
* Include version information in backend builds

* Enable manual trigger of server workflow

* Add a dummy input field for manual trigger

* Fix secret checking in github actions

* Disable cron scheduling of sync job

* Build docker image on pushing a version tag

* Fix duplicated id and invalid id in release workflow

* Don't try to login to Docker

* Avoid download progress outputs from Maven

* Add version information for building client

* Calculate version number only once

* Enable push to DockerHub after building images

* Use Docker username from GitHub secrets

* Fix Docker username in tags when building image

* Use different secret for org name

* Minor refactoring in server workflow

* Update client build workflow to use version

* Enable manual triggering of client workflow

* Set snapshot version for server builds

* Push to docker for all branches (temp)

* Undo temp change to push all branches to DockerHub

* Use Docker org from secrets in client.yml

* Fix missing version reference in client.yml

* Remove debug command in dockerfile

* Save release notes in a resource file in Docker image

* Fix query serialization to get release notes

* Get releases of current repo instead of hard-coded repo

* Fix variable quoting for repo variables

* Exclude draft and prerelease nodes from image

* Fix call to any in release notes processor

* Fix syntax error in release notes script

* Implement API to get new release count and info

* Add missing ReleaseNotes component

* Have the release workflow run after a release is created

* Build server after generating release notes

* Change release trigger to "released"

* Change release trigger to "published"

* Change release trigger to released, edited and deleted

* Use JS script to get release notes, take 1

* Filter drafts and prereleases in script

* Fix syntax error in ES6

* Write release notes to file

* Create parent directory before writing release notes

* Log cwd in release notes script

* Log pwd along with release-notes content

* Handle case where working directory is incorrect

* Remove shell based release notes generator

* Don't show error when Sentry config is missing

* Check for sentry auth token to enable Sentry

* Carry build's exit code over to CI

* Mark out build result and add a note about it

* Add a small test to verify new versions computation

* Remove incorrect test assertion

* Remove generation of release notes file

* Connect to cloud services to fetch release notes data

* Fix missing runner for test class

* Handle missing cloud_services base URL

* Fix test failures due to missing mocks

* Enable sync-ee cron job

* Revert build.sh as there's no real change

* Add API to update release notes viewed version for users

* Fix prettier line-length errors

* Create UserData model for info unrelated to auth

* Fix field name calls

* Ensure we have a userId before setting userData

* Add tests for setting version number in UserData

* Include instanceId when fetching release notes
2021-01-12 18:15:15 +05:30
Shrikant Sharat Kandula
4fc6a7e763
Disable welcome email with an environment variable (#2527) 2021-01-12 16:50:26 +05:30
Shrikant Sharat Kandula
e4ba991114
Remove unused API endpoints for invite confirmation (#2532) 2021-01-12 16:20:48 +05:30
Trisha Anand
88e8723f37
Adding id and pluginType correctly for a user set on page load action (non referenced in the DSL) (#2523) 2021-01-12 14:39:53 +05:30
Shrikant Sharat Kandula
23cffc208f
Allow signup for admins, even if publicly disabled (#2520)
* Allow signup for admins, even if publicly disabled

* Use Set for admin email addresses

* Set two admin emails in test
2021-01-12 14:13:44 +05:30
Shrikant Sharat Kandula
9cd9edd3fa
Disable uninvited signups via environment variable (#2512)
* Disable signup API via environment variable

* Allow signup for invited users, even if disabled publicly

* Add test for signup when signup is disabled

* Run invite flow tests when signup is disabled

* Revert status annotation in signup API endpoint

* Remove unused tests on invite flow

* Change signup disabled error message
2021-01-11 20:10:50 +05:30
Nidhi
1fa7d46845
Fixed unreferenced actions not being triggered for execute on load (#2434)
* Fixed unreferenced actions not being triggered for execute on load

* WIP : Have to commit some minor cosmetic code formatting changes

* Comments and fix for action ordering

* modified test case

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2021-01-11 12:18:07 +05:30
dependabot[bot]
0ab61079e2
Bump axios from 0.19.2 to 0.21.1 in /app/server/scripts/node (#2462)
Bumps [axios](https://github.com/axios/axios) from 0.19.2 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.2...v0.21.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-07 17:38:24 +05:30
Trisha Anand
d1d73070f4 Adding action execution time and logging the same (#2473) 2021-01-07 14:10:22 +05:30
Trisha Anand
527bac0827
Adding action execution time and logging the same (#2473) 2021-01-07 13:49:50 +05:30
Sumit Kumar
4748014cee
Redshift plugin (#2440)
* introduce redshift plugin
2021-01-06 17:51:07 +05:30
Trisha Anand
bd011c45ab
Removed unused organization setting, setting class, and query class. (#2464) 2021-01-06 17:30:09 +05:30
Trisha Anand
db2b002ac7 Increased logs to debug future connection leaks. (#2437)
* Increased logs to debug future connection leaks.

* Fetch a connection from the pool only if a query exists.

* Minor comment added.

* Minor rewrite

* Code formatting.

* Update app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* Added hikari cp pool stats to get database structure function as well.

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-01-05 18:39:36 +05:30
Nidhi
de5003a98e
Added type parameter for REST API plugin, and changes for no auth (#2438)
* Added type parameter for REST API plugin, and changes for no auth

* Removed logs

* Converted to reactive
2021-01-05 17:59:50 +05:30
Trisha Anand
d5074ee7f7
Increased logs to debug future connection leaks. (#2437)
* Increased logs to debug future connection leaks.

* Fetch a connection from the pool only if a query exists.

* Minor comment added.

* Minor rewrite

* Code formatting.

* Update app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* Added hikari cp pool stats to get database structure function as well.

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-01-05 15:34:55 +05:30
Trisha Anand
214f911060 Fixed merge conflict related build failure. 2021-01-04 11:24:00 +05:30
Trisha Anand
24ef325467
Merge branch 'master' into release 2021-01-04 11:18:13 +05:30
Trisha Anand
e17da5f913 Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2021-01-01 01:24:55 +05:30
Trisha Anand
a3378397d7 Increasing pool size to 20 to reduce the number of times datasource becomes unusable. Symptomatic relief till I can solve for this at leisure over the next few days.
Note : Update/Insert are leading to connection leak
2021-01-01 01:24:26 +05:30
Trisha Anand
d4640e01a2
Invite users once triggered should not be cancellable. (#2401)
* Invite users once triggered should not be cancellable.
2020-12-30 16:50:01 +05:30
Trisha Anand
712f41db92
Reducing the probability of getting pages out of order (Expected order is the order in which the pages were created and added to the application). This should : (#2391)
1. Get rid of cypress test failures which asserts a certain order till the cypress test case is fixed and unblocks the frontend team.
2. Uses a bulk API to fetch all the pages instead of fetching each page sequentially over different network calls with the database.
2020-12-29 19:10:01 +05:30
Trisha Anand
ea366b1d29 Fixed NPE in database migration 2020-12-29 17:06:30 +05:30
Trisha Anand
735a4398b2
Added a migration to old rest api datasources which adds the new mandatory key isSendSessionEnabled with value N (#2388) 2020-12-29 16:29:28 +05:30
Trisha Anand
ea0f9c159c
[Bug] Multi page applications return only a single page when fetching pages per application (#2383)
* Zipping flux with mono leads to mono not getting repeated and only the first emitted value of flux is processed further. This is leading to only a single page getting emitted in a multi page application.

* Added a test case to assert this for a multi page application
2020-12-29 13:38:47 +05:30
Trisha Anand
a70b95be37 Adding leak detection to hikari pool. Would be tracking this on logdna to ensure that we are catching any and all leaks that may be occuring with hikari. (#2374) 2020-12-28 18:29:50 +05:30
Trisha Anand
051d3c6c7f
Adding leak detection to hikari pool. Would be tracking this on logdna to ensure that we are catching any and all leaks that may be occuring with hikari. (#2374) 2020-12-28 18:26:33 +05:30
Sumit Kumar
6299c86f39
Add TC to test mongodb connection establishment (#2364)
1. Test that when a query is attempted to run on mongodb server but refused because of lack of authorization, then
also, it indicates a successful connection establishment.
2020-12-28 11:58:17 +05:30
Trisha Anand
6210b9a0c0
All newly created applications now have a default published state. (#2309)
* All newly created applications now have a default published state.

* Added a test case to assert a new application comes up with default published states for both application and the default page.

* Function name changed.

* When trying to fetch a published version of a page when the page has not been published, throw a 404.

* WIP : Not working
2020-12-28 10:30:43 +05:30
Shrikant Sharat Kandula
85350b2940 Add migration to set isEncrypted field where missing (#2332)
(cherry picked from commit d5e0fb18d8)
2020-12-23 18:07:35 +05:30
Shrikant Sharat Kandula
4ff2834559 Missing isEncrypted should mean a true value
(cherry picked from commit c7f330c4c7)
2020-12-23 18:07:35 +05:30
Shrikant Sharat Kandula
d5e0fb18d8
Add migration to set isEncrypted field where missing (#2332) 2020-12-23 15:35:45 +05:30
Shrikant Sharat Kandula
c7f330c4c7 Missing isEncrypted should mean a true value 2020-12-23 14:23:03 +05:30
Sumit Kumar
53a6160139
Revert "Redshift plugin (#2112)" (#2314)
This reverts commit 708ca7fedf.
2020-12-22 16:59:18 +05:30
Sumit Kumar
708ca7fedf
Redshift plugin (#2112)
1. Add new plugin to connect to AWS Redshift cluster and run query.
2. Add unit test cases.
2020-12-22 15:35:25 +05:30
Shrikant Sharat Kandula
ea6e897dde
Firestore ADD_TO_COLLECTION command support (#2305)
* Support ADD_TO_COLLECTION operation on Firestore

* Add test for Firestore add-to-collection command
2020-12-22 12:32:14 +05:30
Shrikant Sharat Kandula
cfcd7aa0bb
Fix Firestore datasources not encrypting secret key JSON when editing (#2296)
* Fix encrypted field not being ignored in JSON

* Don't mask error in decrypting

* Revert masking of error in decrypting
2020-12-21 17:43:15 +05:30
Nidhi
e3cf285d1e
Fixed encryption related bugs for empty/new datasource (#2287) 2020-12-21 10:41:57 +05:30
Shrikant Sharat Kandula
fdc4f7b200
Fix invalid templates and API breaking on invalid templates (#2286) 2020-12-19 13:00:24 +05:30
Shrikant Sharat Kandula
5e04ca5c9d
Add ability to configure order of templates of plugins (#2279) 2020-12-18 20:45:08 +05:30
Nidhi
5a36d17f7a
Fixed encryption related bugs for empty/new datasource (#2272) 2020-12-18 16:13:01 +05:30
Nidhi
a00c144e85
Subclassing authentication (#2215)
* Sublcassing authentication

* Removed TODO

* Review changes
2020-12-17 21:38:52 +05:30
Trisha Anand
29706f7852
Removing printing the result for firestore plugin (#2191) 2020-12-14 14:48:50 +05:30
Trisha Anand
e5c44168f3
Configured pool size for hikariCP when new pool comes uo. (#2170) 2020-12-14 11:07:53 +05:30
Nidhi
9a9feff678
Reset execute on page load for new actions (copied or otherwise) (#2162) 2020-12-11 14:33:07 +05:30
Trisha Anand
74342f8598
Adding hikariCP for postgres (#2130) 2020-12-10 21:08:02 +05:30
Arpit Mohan
85d958c2c0
[CodeFactor] Apply automated fixes (#2131)
Co-authored-by: codefactor-io <support@codefactor.io>
2020-12-10 18:44:31 +05:30
Trisha Anand
746b0ab58e Changed log to sout in postgres plugin 2020-12-09 19:16:54 +05:30
Trisha Anand
888d79b06d Removing printing of result objects from plugin execution. 2020-12-09 19:03:51 +05:30
Trisha Anand
8283396056
Moved from boundedElastic to elastic to ensure that the server services the plugin execution request as soon as the request arrives. (#2090) 2020-12-08 22:04:14 +05:30
Sumit Kumar
db3636f7b0
mysql plugin - check if connection is stale before running query (#2080)
1. Check if mysql plugin connection is stale. If so, then return stale connection exception which triggers a retry after 
    establishing a new connection.
2. Refactor execute method code to remove code duplication.
3. Add a new test case to check if stale connection gets detected.
2020-12-08 21:03:31 +05:30
Shrikant Sharat Kandula
4d24c8614f
Set random icons and colors for apps that are missing them (#2083) 2020-12-08 15:41:40 +05:30
Arpit Mohan
9d7a9d4aaf
Modifying the text for the roles in the share modal (#2045) 2020-12-07 16:16:43 +05:30
Trisha Anand
b8b24604a6
[Bug] Update of an action leads to userSetOnLoad getting reset. (#2023)
* Update of an action leads to userSetOnLoad getting reset.

* Added test case to assert the same.
2020-12-04 13:07:34 +05:30
Sumit Kumar
b6abb8b067
Encode request body in Rest API plugin (#1988)
1. Encode request body in REST API plugin when content header for URL encode is set.
2. Add a test case to test the encoding function.
3. Add a test case to check non-encoding (raw) function.
2020-12-04 11:39:15 +05:30
Shrikant Sharat Kandula
4a57a739b6
Render templates directly without Mustache (#2010)
* Render templates directly without Mustache

* Remove an unused variable
2020-12-03 14:38:31 +05:30
Shrikant Sharat Kandula
9bbbf37ae0
Fix #1597: Add a signed issuer token to proxied requests, if configured (#1953) 2020-12-02 18:20:57 +05:30
Sumit Kumar
d347448b24
Propagte mysql test datasource failure to UI. (#2001)
1. Propagte mysql test datasource failure exception message to UI.
2. Change build TC to reflect the same.
2020-12-02 17:53:38 +05:30
Sumit Kumar
b3c3102c72
Add tests for mysql plugin to test all regularly used data types in mysql. (#1994) 2020-12-02 11:49:41 +05:30
Sumit Kumar
883fa44896
Make sql plugin use R2DBC driver instead of JDBC driver (#1936)
1. Add R2BC driver and remove JDBC driver usage in mysql plugin to make the plugin reactive.
2. Update dependencies in POM file.
3. Update mysql plugin to return result based on the type of sql query i.e select vs other queries. In case the queries are chained, then the last query is used for deciding the type.
4. Added a new TC for testing datasource and removed a non functional TC.
2020-11-28 18:04:56 +05:30
Nidhi
6c974408bd
Added IntelliJ run configuration for an easier getting started experience for contributors (#1944)
* Added run configuration for IntelliJ

* Added instructions for run config
2020-11-27 14:31:09 +05:30
Trisha Anand
2062c60ca3
Moved all the scheduling of the plugin executions to bounded elastic instead of elastic. (#1931) 2020-11-26 17:50:43 +05:30
Arpit Mohan
36af9d5c5e Correcting the placeholder in firestore form.json 2020-11-24 11:00:27 +05:30
Shrikant Sharat Kandula
74cd362057
Firestore Integration (#1799)
* Adding the skeleton for Firestore integration

* Adding the datasource & query editor forms

Also adding the database changelog for the firestore plugin

Commenting out the firestore.close() connection because that causes issues with multiple Firestore tenants running in the same JVM.

* Adding the code for fetching the structure of collections from Firestore

* Use single document path field for Firestore

* Fix potential NPE when datasource destroy timeouts

* Work in progress on collection level ops for Firestore

* Get documents in a collection now works

* Add collection level querying support

* Mild refactoring

* Fix NPE when some fields are missing

* Hide clientJSON as a password field for Firestore

* Make collection level querying reactive

* Make reactive

* Validate before connecting

* Add tests for all supported methods in Firestore

* Fix forms for Firestore with hidden fields

* Hide limit and order by fields when not needed

* Restore log entry deleted by mistake

* Use S3 URL for Firestore/Firebase logo

* Add comments detailing why some code is commented

* Make parsing JSON reactive and fix subscribe calls

* Fix reactive scheduler

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2020-11-23 18:42:33 +05:30
Trisha Anand
c07264f1c1
Making Redis plugin blocking statements run on elastic thread pool (#1850) 2020-11-23 17:03:04 +05:30
Trisha Anand
772884e1a3
Making dynamo db's blocking commands run on elastic thread pool. (#1853) 2020-11-23 17:02:41 +05:30
Trisha Anand
d8cba1bf8c
Making MySql blocking commands run on elastic thread pool (#1862) 2020-11-23 17:02:18 +05:30
Trisha Anand
0bb99dd087
Elastic search plugin's blocking calls moved to elastic scheduler thread (#1855) 2020-11-23 17:01:34 +05:30
Trisha Anand
242afd5753
Making MS-SQL plugin blocking statements run on elastic thread pool (#1827)
* MS-SQL Plugin now creates connection and executes statements over elastic thread pool.

* Added a test to ensure that throwables are clean.
2020-11-23 11:28:01 +05:30
Trisha Anand
dc7a375543
Making postgres plugin blocking statements run on elastic threadpool. (#1821)
* Making postgres plugin blocking statements run on elastic threadpool.

* Moved the blocking calls to check for the connection validity, etc. also inside the Mono.fromCallable
2020-11-23 11:27:52 +05:30
Trisha Anand
c2d1ac973c
Adding thread name to the context of logs to allow for the thread names to be printed for each log. (#1824) 2020-11-23 10:45:15 +05:30
Trisha Anand
882df291d7
[Bug Fix] Indices not working for fetching actions during update layout (#1813)
Instead of using compound index, using single indices to ensure that both fetch actions by app id (during load of actions in edit/view mode) and fetch actions by page id (during update layout) are indexed queries.
2020-11-20 13:30:17 +05:30
Trisha Anand
63fe27fae1
[Bug Fix] : Clone Application creates corrupted clone when interrupted. (#1800)
* Doing a deep copy during clone application instead of updating the original application which may have been causing a concurrency bug.

* Ensuring that once the clone application flow is triggered, the flow completes eventually even if the client cancels the request before completion.

* Cloned application would not be public.

* Added parametrized Application constructor

* Removed lombok all args constructor

* Optimized import

* Incorporated review comments :
1. Updated the constructor for creating the application
2. Added a test case to assert that if during cloning of an application the flow gets cancelled, the cloning would still complete and ensure that the application created is sane.
2020-11-20 10:55:59 +05:30
Sumit Kumar
b03e815952
Change Sentry log 'environment' tag value. (#1789)
* Change Sentry log 'environment' tag value.

1. Change Sentry log 'environment' tag value to 'Properties' from 'properties'.
2020-11-19 17:29:48 +05:30
Arpit Mohan
9772d64c5b
Disable instance ping check when the disableTelemetry flag is set (#1776)
Also adding the APPSMITH_SEGMENT_CE_KEY as a build arg to the server Dockerfile. This will be used to set the environment variable in the Docker image itself.
2020-11-19 08:54:03 +05:30
Sumit Kumar
2c6d1bb361
Fix mongodb datasource test. (#1783)
1. Fix mongodb datasource cypress test failure.
2. Against certain mongodb instances, we expect to receive an exception of type "unauthorized" when testing datasource. Earlier, this case was caught and whitelisted until the recent change to replace mongodb infra with reactive mongodb infra.
2020-11-18 16:55:39 +05:30
Nidhi
941be8c58d
Fixed check for incorrect dynamic bindings (#1775)
* Fixed check for incorrect dynamic bindings
2020-11-18 14:25:55 +05:30
Shrikant Sharat Kandula
f36adeb6b5
Fix #1766: cURL parser eats backslashes in single-quotes (#1768) 2020-11-18 11:20:23 +05:30
Shrikant Sharat Kandula
2ca15ba57d
Fix #1758: columns duplicated in Postgres structure (#1767) 2020-11-18 11:19:55 +05:30
Sumit Kumar
2c2aa06e32
Add support for reactive streams with mongodb. (#1720)
Add support for reactive streams with mongodb. (fixes 1480)

1. Replace mongodb driver with reactive mongodb driver. Change APIs accordingly.
2. Use webflux + reactor framework to execute mongodb queries in event loop model.
3. Add test to test MongoPluginExecutor class' method "testDatasource".
2020-11-18 10:58:50 +05:30
Trisha Anand
fc3197b78f
Email sending is now non-blocking. The blocking code for email sending is triggered and then immediately returned. (#1762) 2020-11-18 00:31:39 +05:30
Arpit Mohan
c3a44651f2
Adding null check for dynamic binding path list (#1752)
* Adding null check for dynamic binding path list.

* Increased timeout duration for failing test

Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
2020-11-17 15:38:48 +05:30
Trisha Anand
6ac04d8a9e
Added SLA bucket for metric evaluation for 1 second (#1740) 2020-11-17 12:47:49 +05:30
Nidhi
9de085f264
Switched to using dynamicBindingPathList for generic scan, supports DB queries and nested structures
* Switched to using dynamicBindingPathList for generic scan
2020-11-17 11:26:08 +05:30
Trisha Anand
a722b08002
Adding index for unpublishedAction.pageId to bring down the number of documents fetched in mongo db query during update layouts' fetching actions on page load. (#1739) 2020-11-16 18:59:04 +05:30
Hetu Nandu
a51082fb54 Merge branch 'master' into release 2020-11-11 18:51:03 +05:30
Sumit Kumar
2dc2615311
Replace Rollbar with Sentry (#1606)
* Replace Rollbar with Sentry

1. Log exceptions using Sentry instead of Rollbar.
2. Remove all Rollbar infra.
2020-11-10 09:59:10 +05:30
Nidhi
1741e61ba0
Added user roles list to application fetcher (#1624)
* Added user roles list to application fetcher

* Fixed blanket import
2020-11-09 11:54:30 +05:30
Nidhi
62e4e28c8e
Fixed upload logo payload limit and added delete logo API (#1574)
Also changed name of default organization to xyz's apps
2020-11-09 07:52:08 +05:30
Trisha Anand
24582a2e58
Adding server side performance tooling using spring metrics. (#1562)
* Experimenting with spring metrics, prometheus

* Added prometheus config in application.properties.

* Added a few more configurations for spring metrics to improve performance tooling.

* Added basic authentication to allow prometheus to scrape our monitoring data in an authenticated fashion.

* Only exposing prometheus end point at this junction instead of other metric endpoints as well.

* Fixed test case which failed because of actuator instantiating bean.
2020-11-05 14:33:40 +05:30
Sumit Kumar
6db7101662
Report selective errors to rollbar. (#1516)
* Report selective errors to rollbar.

1. Assign an action attribute to each AppsmithError enum item. Take action based on the action attribute.

* Fixing the condition for organization name being empty

* Report selective errors to rollbar.

1. Assign an action attribute to each AppsmithError enum item. Take action based on the action attribute.

Co-authored-by: Sumit Kumar <sumitsum@Sumits-MacBook-Pro.local>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2020-11-04 17:32:43 +05:30
Nidhi
fc4fca8bf0
Added fallback email to new organization from user email (#1536) 2020-11-04 12:57:17 +05:30
Nidhi
c7efe55c9c
Fixed timeout error message, added new type of error for plugin timeout (#1519)
* Fixed timeout error message, added new type of error for plugin timeouts

* Switched error code and added test for a secondary StaleConnectionException
2020-11-04 12:56:52 +05:30
Trisha Anand
111922d49e Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-11-03 13:19:06 +05:30
Trisha Anand
936ddc4fa0
Added indexes on NewPage and NewAction. Also made changes to the sorting order of actions when read in view and edit mode. (#1527) 2020-11-03 13:15:51 +05:30
Arpit Mohan
71ede6622a Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-11-03 07:58:58 +05:30
Arpit Mohan
d087b8152d Fixing the condition for organization name being empty 2020-11-03 07:58:22 +05:30
Arpit Mohan
91fded3ddd Fixing merge conflicts 2020-11-03 07:40:53 +05:30
Dmitriy Danilov
26da9ce60b
fix(organization-service): add check that organization is not empty (#1120)
Fixes ##774
2020-11-02 20:35:12 +05:30
imgbot[bot]
f5924c6895
[ImgBot] Optimize images (#1513)
*Total -- 1,942.96kb -> 1,638.83kb (15.65%)

/app/client/src/assets/icons/header/save-loading.gif -- 14.17kb -> 5.67kb (59.99%)
/app/client/src/assets/images/Postman.png -- 10.34kb -> 4.63kb (55.24%)
/app/client/src/assets/images/Google.png -- 11.18kb -> 5.62kb (49.76%)
/static/appsmith_logo_primary.png -- 8.02kb -> 4.06kb (49.34%)
/app/client/src/assets/images/appsmith_logo.png -- 8.02kb -> 4.06kb (49.34%)
/static/logo.png -- 13.20kb -> 7.77kb (41.11%)
/app/client/src/assets/images/no_image.png -- 4.94kb -> 2.97kb (39.97%)
/app/client/src/assets/images/query-image-outline.png -- 1.65kb -> 1.01kb (38.71%)
/app/client/src/assets/images/404-image.png -- 141.37kb -> 94.81kb (32.93%)
/app/server/appsmith-server/src/test/resources/test_assets/OrganizationServiceTest/my_organization_logo.png -- 1.77kb -> 1.20kb (32.41%)
/app/client/src/assets/images/appsmith_logo_white.png -- 1.88kb -> 1.29kb (31.17%)
/app/client/src/assets/icons/control/play-icon.png -- 2.00kb -> 1.39kb (30.15%)
/Query.png -- 219.82kb -> 155.18kb (29.41%)
/app/client/src/assets/images/Github.png -- 4.17kb -> 2.94kb (29.36%)
/API.png -- 332.87kb -> 239.07kb (28.18%)
/static/logo-no-padding.png -- 17.63kb -> 12.84kb (27.16%)
/app/client/src/assets/images/Curl.png -- 40.68kb -> 32.55kb (19.99%)
/app/client/src/assets/icons/ads/logout.svg -- 0.94kb -> 0.76kb (19.38%)
/app/client/src/assets/icons/menu/datasource-column.svg -- 0.64kb -> 0.52kb (19.15%)
/static/API2.png -- 167.58kb -> 140.36kb (16.24%)
/static/Query2.png -- 118.59kb -> 102.85kb (13.27%)
/app/client/src/assets/icons/ads/context-menu.svg -- 0.52kb -> 0.45kb (12.99%)
/app/client/src/assets/icons/help/github-icon.svg -- 2.63kb -> 2.34kb (10.85%)
/app/client/src/assets/icons/ads/search.svg -- 0.26kb -> 0.25kb (3.73%)
/app/client/src/assets/icons/widget/slash.svg -- 0.19kb -> 0.18kb (3.59%)
/app/client/src/assets/icons/widget/plus.svg -- 0.30kb -> 0.29kb (3.58%)
/app/client/src/assets/icons/widget/modal.svg -- 0.20kb -> 0.19kb (2.99%)
/app/client/src/assets/icons/ads/frame.svg -- 0.50kb -> 0.48kb (2.96%)
/app/client/src/assets/icons/menu/explorer.svg -- 0.19kb -> 0.18kb (2.11%)
/app/client/src/assets/icons/control/lightning.svg -- 0.23kb -> 0.23kb (2.1%)
/app/client/src/assets/icons/ads/product.svg -- 0.34kb -> 0.33kb (2.03%)
/app/client/src/assets/icons/widget/container.svg -- 0.20kb -> 0.19kb (1.99%)
/app/client/src/assets/images/placeholder-image.svg -- 0.15kb -> 0.14kb (1.99%)
/static/Share5.png -- 143.35kb -> 140.55kb (1.95%)
/app/client/src/assets/icons/form/info-outline.svg -- 1.77kb -> 1.73kb (1.93%)
/app/client/src/assets/icons/ads/file.svg -- 0.36kb -> 0.35kb (1.89%)
/app/client/src/assets/icons/ads/success.svg -- 0.26kb -> 0.25kb (1.88%)
/app/client/src/assets/icons/widget/input.svg -- 0.32kb -> 0.31kb (1.84%)
/app/client/src/assets/icons/ads/create-new.svg -- 0.23kb -> 0.22kb (1.73%)
/app/client/src/assets/icons/ads/book.svg -- 0.52kb -> 0.51kb (1.69%)
/app/client/src/assets/icons/control/email.svg -- 0.17kb -> 0.17kb (1.69%)
/app/client/src/assets/icons/ads/down_arrow.svg -- 0.18kb -> 0.18kb (1.63%)
/app/client/src/assets/icons/ads/upper_arrow.svg -- 0.18kb -> 0.18kb (1.63%)
/app/client/src/assets/icons/ads/bag.svg -- 0.42kb -> 0.42kb (1.61%)
/app/client/src/assets/icons/control/compact.svg -- 0.55kb -> 0.54kb (1.59%)
/app/client/src/assets/icons/help/openlink.svg -- 0.70kb -> 0.69kb (1.53%)
/app/client/src/assets/icons/help/document.svg -- 0.80kb -> 0.79kb (1.47%)
/app/client/src/assets/images/logo.svg -- 2.61kb -> 2.57kb (1.46%)
/app/client/src/assets/icons/ads/manage.svg -- 0.27kb -> 0.27kb (1.42%)
/app/client/src/assets/icons/ads/error.svg -- 0.35kb -> 0.34kb (1.4%)
/app/client/src/assets/icons/ads/view-all.svg -- 0.21kb -> 0.21kb (1.39%)
/app/client/src/assets/icons/control/pick-location-initial.svg -- 0.50kb -> 0.49kb (1.38%)
/app/client/src/assets/icons/menu/storage.svg -- 0.21kb -> 0.21kb (1.36%)
/app/client/src/assets/icons/ads/calender.svg -- 0.51kb -> 0.50kb (1.35%)
/app/client/src/assets/icons/menu/widgets-colored.svg -- 0.22kb -> 0.22kb (1.32%)
/app/client/src/assets/icons/control/input.svg -- 0.31kb -> 0.30kb (1.27%)
/app/client/src/assets/icons/header/share-white.svg -- 0.47kb -> 0.46kb (1.26%)
/app/client/src/assets/icons/control/pick-location-onclick.svg -- 0.48kb -> 0.48kb (1.21%)
/app/client/src/assets/icons/menu/datasource-table.svg -- 0.25kb -> 0.24kb (1.2%)
/app/client/src/assets/icons/form/add-new.svg -- 0.34kb -> 0.34kb (1.15%)
/app/client/src/assets/icons/ads/camera.svg -- 0.86kb -> 0.85kb (1.14%)
/app/client/src/assets/icons/widget/image.svg -- 0.35kb -> 0.35kb (1.11%)
/app/client/src/assets/icons/ads/shopper.svg -- 0.62kb -> 0.61kb (1.11%)
/app/client/src/assets/icons/control/sort-icon.svg -- 0.27kb -> 0.27kb (1.09%)
/app/client/src/assets/icons/menu/pages.svg -- 0.37kb -> 0.36kb (1.07%)
/app/client/src/assets/icons/ads/delete.svg -- 0.28kb -> 0.27kb (1.06%)
/app/client/src/assets/icons/menu/page.svg -- 0.37kb -> 0.37kb (1.06%)
/app/client/src/assets/icons/ads/workspace.svg -- 0.28kb -> 0.28kb (1.05%)
/app/client/src/assets/icons/control/download-table.svg -- 0.47kb -> 0.47kb (1.03%)
/app/client/src/assets/icons/control/help.svg -- 0.47kb -> 0.47kb (1.03%)
/app/client/src/assets/icons/control/close.svg -- 0.29kb -> 0.29kb (1.01%)
/app/client/src/assets/icons/control/move.svg -- 0.39kb -> 0.39kb (1%)
/app/client/src/assets/icons/ads/general.svg -- 0.29kb -> 0.29kb (1%)
/app/client/src/assets/icons/ads/duplicate.svg -- 0.30kb -> 0.30kb (0.96%)
/app/client/src/assets/icons/control/edit-white.svg -- 0.41kb -> 0.40kb (0.96%)
/app/client/src/assets/icons/control/view.svg -- 0.32kb -> 0.32kb (0.92%)
/app/client/src/assets/icons/header/feedback.svg -- 0.43kb -> 0.42kb (0.91%)
/app/client/src/assets/icons/control/remove.svg -- 0.33kb -> 0.33kb (0.89%)
/app/client/src/assets/icons/ads/heart.svg -- 0.79kb -> 0.79kb (0.86%)
/app/client/src/assets/icons/control/more-vertical.svg -- 1.02kb -> 1.01kb (0.86%)
/app/client/src/assets/icons/widget/rich-text.svg -- 1.60kb -> 1.58kb (0.86%)
/app/client/src/assets/icons/control/info.svg -- 0.34kb -> 0.34kb (0.85%)
/app/client/src/assets/icons/control/draggable.svg -- 0.47kb -> 0.47kb (0.83%)
/app/client/src/assets/images/API.svg -- 4.92kb -> 4.88kb (0.81%)
/app/client/src/assets/icons/widget/radio.svg -- 0.50kb -> 0.49kb (0.79%)
/app/client/src/assets/icons/ads/share.svg -- 0.37kb -> 0.37kb (0.79%)
/app/client/src/assets/images/EditPen.svg -- 0.38kb -> 0.37kb (0.78%)
/app/client/src/assets/icons/widget/collapse.svg -- 0.50kb -> 0.50kb (0.78%)
/app/client/src/assets/icons/control/edit.svg -- 0.65kb -> 0.65kb (0.75%)
/app/client/src/assets/icons/ads/user.svg -- 0.54kb -> 0.53kb (0.73%)
/app/client/src/assets/icons/widget/checkbox.svg -- 0.54kb -> 0.53kb (0.73%)
/app/client/src/assets/icons/ads/edit.svg -- 0.40kb -> 0.40kb (0.73%)
/app/client/src/assets/icons/control/collapse.svg -- 0.55kb -> 0.54kb (0.71%)
/app/client/src/assets/icons/menu/queries.svg -- 0.41kb -> 0.41kb (0.71%)
/app/client/src/assets/icons/ads/close.svg -- 0.42kb -> 0.42kb (0.7%)
/app/client/src/assets/images/NoSearchResult.svg -- 8.61kb -> 8.55kb (0.69%)
/app/client/src/assets/icons/widget/chart.svg -- 0.43kb -> 0.43kb (0.68%)
/app/client/src/assets/icons/control/decrease.svg -- 0.45kb -> 0.45kb (0.65%)
/app/client/src/assets/icons/menu/api.svg -- 1.51kb -> 1.50kb (0.65%)
/app/client/src/assets/icons/widget/filepicker.svg -- 0.61kb -> 0.60kb (0.64%)
/app/client/src/assets/icons/ads/launch.svg -- 0.61kb -> 0.61kb (0.64%)
/app/client/src/assets/icons/menu/homepage.svg -- 0.92kb -> 0.92kb (0.64%)
/app/client/src/assets/icons/control/launch.svg -- 0.62kb -> 0.61kb (0.63%)
/app/client/src/assets/icons/control/pick-location-selected.svg -- 0.48kb -> 0.48kb (0.61%)
/app/client/src/assets/icons/widget/video.svg -- 0.49kb -> 0.49kb (0.6%)
/app/client/src/assets/icons/control/currency.svg -- 0.50kb -> 0.49kb (0.59%)
/app/client/src/assets/icons/control/filter-icon.svg -- 0.84kb -> 0.84kb (0.58%)
/app/client/src/assets/icons/control/search.svg -- 0.55kb -> 0.54kb (0.54%)
/app/client/src/assets/icons/control/zoomout.svg -- 0.55kb -> 0.55kb (0.53%)
/app/client/src/assets/icons/form/lock.svg -- 0.56kb -> 0.56kb (0.52%)
/app/client/src/assets/icons/control/multiline.svg -- 1.51kb -> 1.50kb (0.52%)
/app/client/src/assets/icons/ads/flight.svg -- 1.33kb -> 1.32kb (0.51%)
/app/client/src/assets/icons/control/pick-my-location.svg -- 1.16kb -> 1.16kb (0.5%)
/app/client/src/assets/icons/ads/chat.svg -- 1.36kb -> 1.35kb (0.5%)
/app/client/src/assets/icons/widget/table.svg -- 0.78kb -> 0.78kb (0.5%)
/app/client/src/assets/icons/control/delete.svg -- 0.59kb -> 0.59kb (0.5%)
/app/client/src/assets/icons/control/phone.svg -- 0.59kb -> 0.59kb (0.5%)
/app/client/src/assets/icons/control/password.svg -- 1.97kb -> 1.96kb (0.49%)
/app/client/src/assets/icons/widget/alert.svg -- 0.81kb -> 0.81kb (0.48%)
/app/client/src/assets/icons/control/right-align.svg -- 0.62kb -> 0.61kb (0.48%)
/app/client/src/assets/icons/ads/invite-users.svg -- 0.64kb -> 0.64kb (0.46%)
/app/client/src/assets/icons/widget/tabs.svg -- 0.86kb -> 0.85kb (0.46%)
/app/client/src/assets/icons/control/columns-visibility.svg -- 1.08kb -> 1.07kb (0.45%)
/app/client/src/assets/icons/control/zoomin.svg -- 0.65kb -> 0.65kb (0.45%)
/app/client/src/assets/icons/control/left-align.svg -- 0.67kb -> 0.67kb (0.44%)
/app/client/src/assets/icons/control/underline.svg -- 0.68kb -> 0.68kb (0.43%)
/app/client/src/assets/icons/ads/globe.svg -- 1.60kb -> 1.59kb (0.43%)
/app/client/src/assets/icons/menu/widgets.svg -- 0.97kb -> 0.97kb (0.4%)
/app/client/src/assets/icons/widget/text.svg -- 0.99kb -> 0.98kb (0.4%)
/app/client/src/assets/icons/control/center-align.svg -- 0.76kb -> 0.76kb (0.38%)
/app/client/src/assets/icons/widget/location-picker.svg -- 1.02kb -> 1.02kb (0.38%)
/app/client/src/assets/icons/menu/overflow-menu.svg -- 1.05kb -> 1.05kb (0.37%)
/app/client/src/assets/icons/header/deploy.svg -- 1.59kb -> 1.59kb (0.37%)
/app/client/src/assets/icons/control/italics.svg -- 0.80kb -> 0.80kb (0.36%)
/app/client/src/assets/icons/control/increase.svg -- 0.81kb -> 0.81kb (0.36%)
/app/client/src/assets/icons/help/discord.svg -- 1.08kb -> 1.08kb (0.36%)
/app/client/src/assets/icons/widget/map.svg -- 1.10kb -> 1.09kb (0.36%)
/app/client/src/assets/images/email-not-configured.svg -- 28.71kb -> 28.61kb (0.35%)
/app/client/src/assets/icons/help/help.svg -- 1.15kb -> 1.15kb (0.34%)
/app/client/src/assets/icons/control/copy.svg -- 0.87kb -> 0.86kb (0.34%)
/app/client/src/assets/icons/control/bold.svg -- 0.88kb -> 0.88kb (0.33%)
/app/client/src/assets/icons/widget/dropdown.svg -- 1.21kb -> 1.21kb (0.32%)
/app/client/src/assets/icons/ads/billing.svg -- 0.96kb -> 0.95kb (0.31%)
/app/client/src/assets/icons/control/decimal.svg -- 0.98kb -> 0.97kb (0.3%)
/app/client/src/assets/icons/control/settings.svg -- 1.33kb -> 1.32kb (0.29%)
/app/client/src/assets/icons/control/chevron-down.svg -- 1.02kb -> 1.02kb (0.29%)
/app/client/src/assets/icons/widget/switch.svg -- 1.38kb -> 1.37kb (0.28%)
/app/client/src/assets/images/secure.svg -- 1.07kb -> 1.07kb (0.27%)
/app/client/src/assets/icons/menu/datasource-colored.svg -- 1.12kb -> 1.12kb (0.26%)
/app/client/src/assets/icons/menu/api-colored.svg -- 1.13kb -> 1.12kb (0.26%)
/app/client/src/assets/icons/menu/foreign-key.svg -- 1.15kb -> 1.15kb (0.26%)
/app/client/src/assets/icons/menu/org.svg -- 1.15kb -> 1.15kb (0.25%)
/app/client/src/assets/icons/control/redo.svg -- 1.17kb -> 1.16kb (0.25%)
/app/client/src/assets/icons/menu/primary-key.svg -- 1.17kb -> 1.17kb (0.25%)
/app/client/src/assets/icons/control/undo.svg -- 1.17kb -> 1.17kb (0.25%)
/app/client/src/assets/icons/form/trash.svg -- 2.75kb -> 2.74kb (0.25%)
/app/client/src/assets/icons/control/integer.svg -- 1.25kb -> 1.25kb (0.23%)
/app/client/src/assets/icons/widget/form.svg -- 1.32kb -> 1.32kb (0.22%)
/app/client/src/assets/icons/control/drag.svg -- 1.33kb -> 1.33kb (0.22%)
/app/client/src/assets/icons/header/save-failure.svg -- 1.45kb -> 1.44kb (0.2%)
/app/client/src/assets/icons/control/js-toggle.svg -- 1.97kb -> 1.96kb (0.2%)
/app/client/src/assets/images/Curl-logo.svg -- 5.33kb -> 5.32kb (0.18%)
/app/client/src/assets/icons/alert/info.svg -- 1.60kb -> 1.60kb (0.18%)
/app/client/src/assets/icons/alert/warning.svg -- 1.63kb -> 1.63kb (0.18%)
/app/client/src/assets/icons/header/save-success.svg -- 1.67kb -> 1.66kb (0.18%)
/app/client/src/assets/icons/alert/success.svg -- 1.67kb -> 1.67kb (0.18%)
/app/client/src/assets/icons/menu/data-sources.svg -- 1.74kb -> 1.73kb (0.17%)
/app/client/src/assets/icons/alert/error.svg -- 1.95kb -> 1.95kb (0.15%)
/app/client/src/assets/icons/widget/datepicker.svg -- 3.23kb -> 3.22kb (0.12%)
/app/client/src/assets/icons/widget/button.svg -- 3.75kb -> 3.75kb (0.1%)
/app/client/src/assets/icons/control/address.svg -- 3.37kb -> 3.37kb (0.09%)
/app/client/src/assets/icons/control/datepicker.svg -- 3.75kb -> 3.75kb (0.08%)
/app/client/src/assets/images/appsmith-datasource.svg -- 505.60kb -> 505.43kb (0.03%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2020-11-02 19:44:01 +05:30
Automated Github Action
4c48d61a50 Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-11-02 09:08:12 +00:00
Trisha Anand
32301ae3b4
Printing the invalid messages of the action properly. (#1507) 2020-11-02 14:15:29 +05:30
Arpit Mohan
a65b915fb3 Fixing merge conflicts when back merging master into release 2020-10-30 15:33:43 +05:30
Trisha Anand
d6ff4dedd6 Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-29 15:04:00 +05:30
Trisha Anand
13e2cc2a63
[Do Not Merge]Brought down cloud migration time from 122 minutes to 9.5 minutes (#1441)
* [Do Not Merge]Brought down cloud migration time from 122 minutes to 9.5 minutes

* Removed commented code.
TODO : Figure out if we want to change the migration order numbers once the release environment is reverted back to pre original migration data.

* Added plugin id for the migrated action.

* Renamed the createIndex functions for new action and new page and added a drop collection command before creating the index. This ensures that if any developer has pulled code in the last two days, this migration does not negatively impact them
2020-10-29 15:03:41 +05:30
Automated Github Action
ccac36928f Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-29 09:08:35 +00:00
Nikhil Nandagopal
2d7ccdc515
flipped user id and instance id so that the ping can be correlated with the email from the install script (#1461) 2020-10-29 14:17:45 +05:30
Arpit Mohan
f2e37b8759 Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-10-28 19:06:37 +05:30
Arpit Mohan
470f2fafcd
Adding support for https endpoints for ES plugin (#1445)
* Adding host:port validation checks to ES plugin & Redis plugin

Also correcting the assertions in the RedisPluginTest so that the error message on test failure is accurate.

* Removing the endpoint validation from datasourceServiceImpl

Moving the endpoint validation to the plugin implementation classes because there are databases that require complete HTTP URL in their configuration. Checking for http/https at the platform level affects the UX for the user & plugin developer when using a new integration. Hence, all plugins must implement their own client/server validations in their own implementations

* Adding tests to assert hostname validation in mysql & postgres plugins
2020-10-28 19:06:10 +05:30
Arpit Mohan
d13de8709a Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-10-27 15:30:39 +05:30
Trisha Anand
5197b17d8c
Bug Fix : Reading the datasource configuration incorrectly from actionDTO instead of datasource object. (#1415)
* Bug Fix : Reading the datasource configuration incorrectly from actionDTO instead of datasource object.

* Added test case to assert that datasource configuration and action configurations are not null when action execute is called.
2020-10-27 15:23:25 +05:30
Automated Github Action
e034f1062e Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-26 18:08:24 +00:00
Trisha Anand
230126ebcf
Remove unnecessary database migration (#1406) 2020-10-26 22:50:36 +05:30
Trisha Anand
eda489fd7f Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-26 18:07:37 +05:30
Trisha Anand
fc9ea45e3b
[API breaking change : Automated Tests Will Fail] Page And Action Refactor (#549)
* Introduced new page which stores the published and unpublished pages as separate.

* Mid level commit to save the state.

* Parity of new page repository with old page repository (custom functions)

* WIP : Delete a page. This requires changes across application structure as well.

* Added publishedPages construct inside application to store the pages in the deployed view as well as isDefault so that the same changes (delete or isDefault) in unpublished view doesn't alter these fields for the published application

* Parity reached with PageService.

* Minor ActionService refactor to remove unnecessary code.
ApplicationPageService, LayoutActionService, LayoutService use the new page service to fetch the pages
Minor corrections in fetching the page from new page service in tests

* New save function which sets the PageDTO for unpublished page and then saves the new page into repository.

* Migration of page service functions to new page service functions across other services/tests/controller

* Finished migrating all the page service functions to the new page service functions

* Application Service Tests have been fixed.

* All the existing test cases are working now.

* Publish application implemented to store published pages as well. Added a basic test case to check that published pages is being set and that page's publishedPageDTO is being set accordingly.

* Minor TODOs added to add test cases for published application.

* A few tests to ascertain that published application page fields (deleted, isDefault) does not get changed when these statuses are changed for a page in edit mode.

* Added a new controller end point to fetch application in view mode.

* Added new endpoint for fetching an application in view mode on the client.

* Bug fix where get application in view mode API was not getting called.

* Fixed the get page names by application & archive pages which have been deleted in edit mode during publishing of application.

* During delete page, if a page was never published and it was deleted during edit, delete the entire page instead of just deleting the unpublished PageDTO

* Minor formatting.

* Non working client side code to fetch page list using view mode.

* revert unnecassary changes and streamlined view and edit actions

* Fix missed import

* Fixed a bug where if a page is not published, it should not be returned in view mode in list of page names api.

* Fixed update for a page which was not working in integration test.

* ActionDTO added.

* Solidified the new action structure.

* Migration added for NewAction index creation and NewAction per Action insertion in the database.

* Basic file structure added the new repository, custom repository, service, etc.

* Delete OldPage.java

* Repo functions added - TODO : Haven;t handled the published/edited views

* Helper functions added to convert Action to NewAction and vice-versa. Removed unused currentUserMono usage.

* Create & update action functionality added.

* Execute Action refactored. Removed dry run specific code.

* Repository migrated to handle new data structure. Execute action refactored to no longer support dry runs of actions.

* TODO added for special handling of change view of application to handle edge cases of pages/actions which either exist in published mode but don't exist in unpublished mode or vice versa.

* Migrated finding on load actions from spring repository to custom repository.

* In view mode, now actions are being fetched by application id directly instead of first fetching application and then using the page ids, fetching the actions. This reduces the db calls from 2 to 1 per fetch actions in view mode api call.

* Delete action and get all actions (used in edit mode on the client side) implemented.

* Updated CollectionService and ActionCollectionService to use the new action service instead of the old one.

* LayoutActionService refactored to now use the new service functions.

* ActionController now no longer used ActionService. The remaining service functions have been migrated to the new action service.

* Refactor across ACL code for addition/removal of policies during addition/removal of users to organization, making app public, refactor for services like policy utils, item service, etc.

* Removed the last of action repository and action service and replaced with new action repo and new action service.

* Compile and run time issues fixed. The server is coming up without any spring dependency errors.

* WIP in fixing fetching actions by page id.

* Finally!!! Fixed the fetch actions (both published and unpublished actions) by page id repository function.

* Fixed create action bug where null datasource in published actiondto (inside newly created action) leads to error.

* Fixed the execute action issues :
1. Removed the dry runs from the tests
2. Fixed the null pointer error in variable substituted action and datasource configurations.

* 1. Fixed the custom action repository field names.
2. Fixed the data structures used in ExamplesOrganizationClonerTests

* Fixed countByDatasourceId repository function which was querying the actions incorrectly.

* Fixed the clone example organization error where the id of the action was not getting updated in the page correctly. Yay!

* Fixed post merge compilation failure.

* Fixed more compilation time failures in ActionServiceTest

* Fixed failing test case for fetching actions in view mode.

* Minor changes to resolve merge changes and incorporate in the new refactored code.

* 1. Fixed compile time errors on Client code.
2. Fixed fetching of actions in view mode by application id. The repository function did not need name parameter. Removed the same.

* [Integration Testing Error Fix] : Added a new test case for refactor action name.

* Instead of fetching actions in the page, mistakenly used the base service which was fetching all the actions in the repository, barring none which led to the name refactor being blocked even though no action in the current page exists with the new proposed name,

* Added delete functionality to action service.

* Minor code cleanup

* Adding viewMode to action execution

* Replacing action with actionId.

* 1. Bug fix for deletion of unpublished action. In case of never published action, the entire action should be deleted. In case an action was published, only the unpublished action should be deleted.
2. In case of DB actions (external datasources), only the bare minimum fields should be stored inside the action (datasource id and datasource plugin id). The other fields should not be duplicated across code.

* Fixed yarn build compilation issues.

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ActionController.java

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* Changed the API path for GET applications in view mode. Some minor code formatting.

* Incorporated review comments.

* Some more unnecessary code removed.

* Instead of returning Page, now the interface object between client and server for Pages is PageDTO

* Migrated Page and Action to PageDTO and ActionDTO
Fixed the compilation issues.
TODO : Fix the test compilation issues.

* Fixed compilation time issues with all the tests by migrating Page and Action to PageDTO and ActionDTO respectively

* Action Controller and Page Controller no longer extend Base Controller. All the required functions have now been implemented and no base line API end points are being re-used from the base.

* Test case fixes.

* Bug Fix : Updating an action was not updating execute on load. Fixed the data flow leading to the error.

* Deprecating Page and Action domain objects. This is to ensure no new code is written with these till we remove this old code.

* Cloned example applications are now published before returning. This is to ensure that the applications are in ready to view mode when the new user signs up.

* Added a function comment to expand on the usage of new param introduced.

* When cloning a page, new actions were not being stored. Added that. Also updated the clonePage test to assert that the actions are also cloned when the pages are cloned.

* Updated a Api call

* removed extra slash

Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: nandan.anantharamu <nandan@thinkify.io>
2020-10-26 18:04:23 +05:30
Arpit Mohan
d502e08040 Fixing merge conflicts 2020-10-24 21:30:21 +05:30
Arpit Mohan
d977befc54 Merge branch 'master' of github.com:appsmithorg/appsmith 2020-10-23 20:58:58 +05:30
Automated Github Action
4eaa52f520 Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-23 15:07:54 +00:00
Arpit Mohan
c6d4902e3d
Adding microsoft SQL server plugin integration (#1374) 2020-10-23 20:36:45 +05:30
Arpit Mohan
4cd9964649 Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-10-23 13:32:13 +05:30
akash-codemonk
9d27315213
Update datasource form config to include encrypted property (#1360) 2020-10-23 13:31:46 +05:30
Arpit Mohan
365e9b6bf6 Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-10-22 17:56:35 +05:30
Shinn Lok
4768fd3848
Fix organization ordering by name on the homepage (#1177) 2020-10-22 17:53:51 +05:30
Arpit Mohan
fc9562fb85 Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-10-22 16:42:00 +05:30
Arpit Mohan
74fe08f8bf
Adding the database changelog for Redis (#1346)
1. Fixing the build by excluding the slf4j-api from redis-plugin pom.xml
2. Adding the editor.json and form.json for the query pane & datasource pane.
3. Adding array handling in the Redis response by feeding all the output into a "result" key
2020-10-22 16:40:19 +05:30
Automated Github Action
e99e8d8673 Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-22 08:09:01 +00:00
Prashant Chaubey
bf69c7d66b
Adding basic structure for plugin integrating with Redis (#1085)
Co-authored-by: nitesh261193 <nitesh261193@gmail.com>
2020-10-22 13:26:58 +05:30
Automated Github Action
1e9fd22f3e Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-21 17:07:26 +00:00
dependabot[bot]
bc14b6ce4b
Bump junit in /app/server/appsmith-plugins/elasticSearchPlugin (#1331)
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-21 22:20:49 +05:30
Automated Github Action
497dc46266 Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-21 13:07:36 +00:00
dependabot[bot]
a4872f3cb6
Bump junit in /app/server/appsmith-plugins/dynamoPlugin (#1335)
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-21 17:57:44 +05:30
Shrikant Sharat Kandula
2a53abd8a6
Add DynamoDB Plugin (#1167)
* Added DynamoPlugin to integrate with DynamoDB

* Connection management for DynamoPlugin

* Process action from a single JSON object as input

* Moved ListTables command to separate class

* Add missing UI definition files

* Use reflection to build request objects for AWS SDK

* All DynamoDB actions are now run purely by reflection

* Serialize responses to JSON

* Remove some unused/commented code and some refactorings

* Add non-working test with generic dynamodb container

* Added working test for ListTables action

* Added test for PutItem action

* Add tests for get and update actions

* Added comments and some refactoring

* Removed unused Command class.

* Added more tests for map to SDK object conversion

* Add templates

* Add option to set an endpoint override

* Fix Dynamo plugin tests when ~/.aws is missing

* Add documentation link for DynamoDB plugin

* Fix validation checks

* Remove debug log

* Added comments on expected query structure

* Fix incorrect error condition with incorrect request format

* Add comment for converting action to method name

* Error out if region is missing

* Remove unused throws declaration

* Use rich form for action configuration

* Removed templates

* Use PNG for logo images

* Use PNG logos for all plugins

* Avoid hard-coded field names

* Change logo to PNG only for ElasticSearch for now

* Wrap errors in AppsmithPluginException

* Typo

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Fix changeset order number

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Minor refactoring and fixed error messaging

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-10-21 17:45:54 +05:30
Arpit Mohan
951935ac30 Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-10-21 15:35:32 +05:30
Shrikant Sharat Kandula
fa1a0549ff
Add ElasticSearch integration (#1181)
* add elasticSearchPlugin

* Fix container startup in tests

* Add elasticsearch dependency

* Get plugin to a base working state

* Add templates and tests for all Document APIs

* Add support for bulk queries

* Add test and template for bulk operations

* Use rich form for action configuration

* Add test API for ElasticSearch

* Use rich form's values for plugin execution

* Add authorization header support

* Fix tests after config object use changes

* Add test for bulk requests with nd-json body

* Remove templates and minor refactoring

* Fix potential NPE with null body

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Add datasource validation for endpoint

* Wrap errors in AppsmithPluginException

Co-authored-by: Suman Patra <spatra@akamai.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-10-21 15:34:29 +05:30
Automated Github Action
38b9dfaa86 Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-21 07:08:25 +00:00
Shinn Lok
014ff80548
Parameter missing for email template replace (#1323)
Co-authored-by: Trisha Anand <trisha1990@gmail.com>
2020-10-21 11:40:32 +05:30
Arpit Mohan
06f8c1ab6b Fixing merge conflicts from community edition 2020-10-20 23:18:21 +05:30
Arpit Mohan
47b2ecec83 Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-10-20 22:56:23 +05:30
Arpit Mohan
c89f5179b3 Removing db changelog for mssql 2020-10-20 22:46:59 +05:30
Automated Github Action
8f85e91f9a Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-20 17:07:39 +00:00
Arpit Mohan
2bb093a5d7 Removing Mssql plugin 2020-10-20 22:27:29 +05:30
Automated Github Action
a61dd3f5f4 Merge branch 'release' of https://github.com/appsmithorg/appsmith into release 2020-10-20 15:08:15 +00:00
Arpit Mohan
0f7f0df790 Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-10-20 19:48:28 +05:30
Arpit Mohan
f507cc8a0e Changing version for commons-validator 2020-10-20 19:47:30 +05:30
Arpit Mohan
3b49e849e6 Fixing the build for server.yml 2020-10-20 15:06:18 +05:30
Arpit Mohan
3164c4a7d6
Fixing the build for mssql plugin (#1313) 2020-10-20 14:52:57 +05:30
Arpit Mohan
783880c856 Merge branch 'master' of github.com:appsmithorg/appsmith 2020-10-19 23:04:43 +05:30
Arpit Mohan
31a199c5e5 Merge branch 'release' of github.com:appsmithorg/appsmith into release 2020-10-19 23:02:36 +05:30
Arpit Mohan
45e436a7c6 Merging latest master into release 2020-10-19 23:02:24 +05:30
Trisha Anand
603f647e79 Fixing merge conflicts in AuthenticationSuccessHandler 2020-10-19 23:00:07 +05:30
Arpit Mohan
acb2e874dc Merge branch 'master' of github.com:appsmithorg/appsmith 2020-10-19 22:56:32 +05:30
Trisha Anand
870a38af1c
[Bug Fix] Removed create_USER event during userCreate because this breaks OAUTH first user login. (#1292) 2020-10-19 22:51:26 +05:30
Arpit Mohan
7cb9583034 Making the request to oauth2 endpoints publicly accessible 2020-10-19 19:52:27 +05:30
Sufiyan Gani
f52a2500c1
Added sending email when the role of the member is (#1253)
Added sending email when the role of a member is changed
2020-10-19 17:53:12 +05:30
Trisha Anand
37aedcba24
User emails should be changed to lower case before creating/inviting user. (#1281) 2020-10-19 16:39:04 +05:30
Nikhil Nandagopal
77e1998e74
updated query template to have an explanatory comment (#1260) 2020-10-19 15:10:21 +05:30
Shrikant Sharat Kandula
a8d5138541
MS SQL Plugin implementation (#1272)
* Working version of MsSQL plugin

* Add tests for mssql-plugin
2020-10-19 15:06:08 +05:30
João Rafael
85d5477039
BugFix (#944): Add HTTP prefix to URLs in RestApiPlugin and RapidApiPlugin (#1266)
Also, add null check before adding HTTP prefix. This avoids null pointer exceptions and lets the UriBuilder deal with it
2020-10-19 12:19:04 +05:30
Akshay Avinash
4e99ab7ace
Fix 781 invalid message on password reset failure (#1234)
* Updated to add button to redirect to forgot password page
2020-10-16 19:48:03 +05:30
Arpit Mohan
277b97cf3f Adding dummy commit to trigger build 2020-10-16 13:58:42 +05:30
Arpit Mohan
337db97a18 Adding dummy commit to trigger build 2020-10-16 13:57:18 +05:30
Arpit Mohan
b52d4c3377 Adding dummy commit to trigger build 2020-10-16 13:55:49 +05:30
akash-codemonk
0772bffe23
Create a new input field which outputs a key value pair (#1226) 2020-10-16 13:04:32 +05:30
Shrikant Sharat Kandula
273a120f1b Add isFromInvite field to create_USER event (#1223) 2020-10-16 12:02:25 +05:30
Shrikant Sharat Kandula
9c04f65901 Add isFromInvite field to create_USER event (#1223) 2020-10-16 12:01:23 +05:30
Daniel Shuy
a93bd52684
Don't append " Copy" suffix to cloned pages in cloned application (#1172)
* Add test to verify that Pages are cloned
2020-10-15 23:27:32 +05:30
Prashant Chaubey
7a1a2f55e1
Added an WebExceptionHandler to return JSON errors instead of HTML (#1178) 2020-10-15 17:47:13 +05:30
Shrikant Sharat Kandula
921c827817
Add isFromInvite field to create_USER event (#1223) 2020-10-15 17:42:37 +05:30
Prashant Chaubey
05380a9c43
Added email verification while creating user and sending email (#1208) 2020-10-15 12:19:20 +05:30
Prashant Chaubey
8d2701ed75
Made getAll operation of PageController unsupported (#1176) 2020-10-15 11:24:09 +05:30
Prashant Chaubey
67ef538409
Returning validation failures while creating organization (#1084)
* Returning validation failures while creating organization

* Added unit tests

* Changing the name of test security config

Co-authored-by: nitesh261193 <nitesh261193@gmail.com>
2020-10-15 09:07:57 +05:30
Shinn Lok
e85d5ed420
TTL must be set on date field (#1128)
The PasswordResetToken collection now expires the password reset request in 48 hours.
2020-10-15 09:01:30 +05:30
Shrikant Sharat Kandula
ff860e402c
Add logging to segment SDK (#1188) 2020-10-15 00:05:09 +05:30
Shrikant Sharat Kandula
8af1852b6a
Refactor tasks on first-login (#1190)
* Primarily doing example app cloning and analytics in parallel.

* Only create a examples organization, if not already done
2020-10-15 00:02:57 +05:30
Shrikant Sharat Kandula
c4d73ac752 Don't send full object to analytics (#1186) 2020-10-14 15:42:01 +05:30
Shrikant Sharat Kandula
908364e643 Don't send full object to analytics (#1186) 2020-10-14 14:56:30 +05:30
Shrikant Sharat Kandula
02dc63840a
Don't send full object to analytics (#1186) 2020-10-14 14:56:09 +05:30
Shrikant Sharat Kandula
c74617b9c3 Add first_login event for analytics (#1184) 2020-10-14 12:46:51 +05:30
Shrikant Sharat Kandula
7d1af8e27f Add first_login event for analytics (#1184) 2020-10-14 12:42:58 +05:30
Shrikant Sharat Kandula
164824ca85
Add first_login event for analytics (#1184) 2020-10-14 12:40:47 +05:30
Prashant Chaubey
8a892b6e15
Removed invitation token from the invite email (#1180) 2020-10-14 10:30:19 +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]
668c8e9c1c
Bump junit from 4.11 to 4.13.1 in /app/server/appsmith-interfaces (#1161)
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:50 +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
Nikhil Nandagopal
928ea68b0f
Release v1.2.7 (#1144)
* Update README.md

* Updating README to add contributor section (#870)

* Remove gitlab-ci configuration files (#865)

We have since moved our CI to Github Actions and no longer require Gitlab CI config files.

* Updating the README in the client codebase

We now reference the global contribution guide directly

* Feature/share app test (#843)

* Add ShareApp test

* Sharing app tests and public access

* Update CONTRIBUTING.md

* Update install.sh

fixes #889

* Update deploy install script to use api64.ipify.org which supports IPv4 (#887)

Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>

* Id value issue for radio groups (#895)

Fixes: #661 

There was issue related to id value while creating new radio group options other than the default ones. And as said I, the id field is not needed at all, but some old config still has the id field.
So since ID field is not required , I have removed it. Which solves the issue.

* Fix triggering of onChange when value is the same (#892)

Fixes: #710

* Invite user modal in view mode can be closed by clicking outside (#906)

* Update README.md

Spelling correction

* #678 Correction in contributing.md for client setup (#907)

Co-authored-by: Saket Agrawal <saketagr@in.ibm.com>

* Docs: Add instructions in client setup for any port conflicts with 80/443  (#918)

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* Fix(sign-up): change in sign up error message (#908)

* Fix(backend): Wrong error message while resetting the password fixed, changed from id to email (#911)

Fixes #637

* Options Validaor checks for empty values

Fixes: #662

* fix: add missed error callback for download (#912)

Fixes: #673

* Revert "Options Validaor checks for empty values"

This reverts commit 6b49d4c4e4.

* Update table icon (#761)

* style: center login form when 3rd party auth is not enabled (#919)

* style: center login form when 3rd party auth is not enabled

* style: center signup form when 3rd party auth is not enabled

* fix: input widget number validation #768 (#917)

* Explorer fixes (#689)

* Make entity icon an actionable area

Persist  user toggled entity collapse states

* remove dependency on props.isDefaultExpanded

* Hover effect for dependencies

* Pass search keyword for reliable toggling of entity groups on entity search

* Fix default expanded state of Datasource group entity

* Remove plugingroup file, which was added due to a botched merge conflict resolution

* Fix issue with radio widget crashing (#922)

* fix types

* Options Validaor checks for empty values

Fixes: #662

Co-authored-by: Sanchit Jain <171220040@nitdelhi.ac.in>

* Fixed the pull request template issue partially (#902)

Fixes #826

* Feature: Invite modal (#927)

* light and dark mode added in Invite modal

* warnings removed

* create org and invite user test cases fixed

* Application invite design implemented

* manage user icon added

* button width fixed

* PR feedback implemented

* Improve PR template.

* Remove troublesome test

* Fix failing Radio tests (#931)

* Possible fix for CI checkout issue

* Possible fix for CI checkout issue

* Fixed the ipify URL in PingScheduledTask (#1013)

* Revert "Feature: Invite modal (#927)" (#1017)

This reverts commit 63daf74a44.

* Fix image widget not showing default image when image property is invalid (#882)

Fixes: #760

* Fix CI checkouts for all pull_request_target steps

* Local meta state in widgets (#851)

* Update README.md

* Fix for action execution (#1023)

* Adding the condition to fix push vs pull_request_target commit checkouts

* Input Widget: Parse regexp before regex validation (#884)

Fixes #697

* Display warning icon for forgot password failure (#890)

Fixes: #587

* Create Org Form: don't allow to use only spaces in names (#913)

Also disables the submit button when invalid
Fixes: #807, #621

* Auto Focus on email fields in auth screens (#923)

Fixes: #610 
Co-authored-by: Anshul <anshul@typito.com>

* Added check for duplicate values in Dropdown and Radio Widgets (#1011)

Fixes #655

* Fix Reset password not disabled after successful reset (#1021)

Fixes #636

* Fix active styles for checkbox & radio (#1061)

Fixes: #994

* Add source to user sign up event (#1065)

* Send separate user create event for new users (#1066)

* Expand datasource entity in explorer based on some conditions (#1062)

* Expand datasource entity in explorer based on some conditions

* Fix test

* Do not show error tost when api fails

* Expand datasource entity on test success

* Use email as id for users and fix signup events not being reported (#1067)

* Fixing typos in the README file (#871)

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* Forgot password submit button enable condition (#701)

Fixes: #586 
Co-authored-by: Anshul <anshul@typito.com>

* Adding a new email template for sending an email when an appsmith use… (#1077)

* Adding a new email template for sending an email when an appsmith user's role in an organization changes.

* Minor changes in text.

* Fix -  Distorted UI when there are too many characters in email ID #584 (#1010)

* Fix -  Distorted UI when there are too many characters in email ID #584

* Fix -  Distorted UI when there are too many characters in email ID #584

* Fix the hidden column list is not bounded and overflows in height (#981) (#1024)

* fix(applications): add validation for empty name (#914)

* Update CONTRIBUTING.md

* Update CodeContributionsGuidelines.md

* replaced dragdrop with dsl (#1081)

* Fix datasource structure test (#1080)

* Fix datasource structure test

* Dummy commit

* CI: Try creating build id

* CI: Fix build id step:

* Revert build id changes

* Update README.md

* Fix/new ui is distorted due to long organization name #735 (#1014)

* Fix for long org names on side menu.

Now ellipsizes with tooltip if Orgname is over the value set in ellipsize prop. Otherwise functions as before.

* added ellipsize prop to index. Fixes #735

20 seems to be a good value that stop org names running onto next line. Tested on Firefox and chrome. Linux debian stretch.

Co-authored-by: root <root@rutabaga.groudon>

* Use username instead of object_id in analytics (#1082)

* Adding the close-label.yml file required by Github App to mark issues as QA (#1091)

Fixes #1090

When a PR is successfully merged, the Github bot will add the label QA to the issue. These issues can then be picked up by the QA team for verification. Refer: https://github.com/Logerfo/close-label

* Only mark applications as example applications if the application id exists in the template configuration. (#1093)

* docs: add mohanarpit as a contributor (#1095)

* docs: update README.md [skip ci]

* docs: create .all-contributorsrc [skip ci]

* Moving the contributor badge to the correct location in README

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* docs: add Nikhil-Nandagopal as a contributor (#1096)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* docs: add areyabhishek as a contributor (#1097)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add trishaanand as a contributor (#1098)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add riodeuno as a contributor (#1099)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add hetunandu as a contributor (#1100)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>

* docs: add satbir121 as a contributor (#1106)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* docs: add sharat87 as a contributor (#1102)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* docs: add aakashDesign as a contributor (#1107)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add Debsourabh as a contributor (#1108)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add NandanAnantharamu as a contributor (#1103)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* docs: add prapullac as a contributor (#1104)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* docs: add Saket2 as a contributor (#1109)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add harishkotra as a contributor (#1110)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add visibleajay as a contributor (#1111)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add akbansa as a contributor (#1112)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add gogetter22 as a contributor (#1113)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add Xniveres as a contributor (#1114)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* Correcting hyperlink from contributor badge to contributor section

* Show datasource structure fixes (#1078)

* Tests for binding related use cases (#1116)


Co-authored-by: Nandan <nandan@thinkify.io>

* Feature/video widget test (#1115)


Co-authored-by: nandan.anantharamu <nandan@thinkify.io>

* Adding filter tests for table (#1117)


Co-authored-by: nandan.anantharamu <nandan@thinkify.io>

* Getting Cypress to work correctly for internal pull requests (#1121)

* Hotfix to fix the client build workflow

* Update README.md

* Fix release cleanup issues (#1132)

* Changed CSS to prevent share button from coming out (#925)

Changed CSS to prevent share button from coming out.
Decreased the width of the wrapper to a suitable value.

* Fix issue with setting dynamic triggers on immutable widget objects (#1137)

* Feature/invitation modal (#938)

* light and dark mode added in Invite modal

* warnings removed

* create org and invite user test cases fixed

* Application invite design implemented

* manage user icon added

* button width fixed

* PR feedback implemented

* test cases fixed

* used blueprint classes

* used calc for width distribution

* copy button width fixed

* prop passing fixed

* copy button size reduced

* readonly input field background color fixed

* input background theme name ordering changed

* TagInputComponent moved to ads

* created DropdownWrapper for select field in orgInviteForm

* Warnings created due to unique key and depdencies is fixed

* Warning fixed in dropdown component

* correct prop name used

Co-authored-by: Rohit Kumawat <rohit.kumawat@primathon.in>

* fix(codemirror-autocomplete): show selection background on hover for options (#1134)

This fix if merged shows the selection background by hovering on autocomplete
options.

Ref: #946

* Stop expanding datasource in explorer after testing (#1138)

Co-authored-by: areyabhishek <nayak.abhishek@gmail.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Ari <36749814+ari-hacks@users.noreply.github.com>
Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: Sanchit Jain <171220040@nitdelhi.ac.in>
Co-authored-by: Nicholas <wasabigeek@users.noreply.github.com>
Co-authored-by: Aditya Vats <avats.osc@gmail.com>
Co-authored-by: Saket2 <49346036+Saket2@users.noreply.github.com>
Co-authored-by: Saket Agrawal <saketagr@in.ibm.com>
Co-authored-by: MartinT <44962077+MartinTuroci@users.noreply.github.com>
Co-authored-by: Dmitriy Danilov <daniloff200@gmail.com>
Co-authored-by: Petro Popelyshko <petrneok@gmail.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: akash-codemonk <67054171+akash-codemonk@users.noreply.github.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Omkar Phansopkar <48476025+OmkarPh@users.noreply.github.com>
Co-authored-by: devrk96 <rohit.kumawat@primathon.in>
Co-authored-by: Prashant Chaubey <prashantchaubey9795@gmail.com>
Co-authored-by: satbir121 <39981226+satbir121@users.noreply.github.com>
Co-authored-by: Ajay Kumar <visibleajay@gmail.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: dodococo <deepakchethan@outlook.com>
Co-authored-by: Josh Mak <joshmak@berkeley.edu>
Co-authored-by: Anshul Bansal <bansalanshul11@yahoo.com>
Co-authored-by: Anshul <anshul@typito.com>
Co-authored-by: Caitlin-Fotheringham <49273562+Caitlin-Fotheringham@users.noreply.github.com>
Co-authored-by: Akash Hamirwasia <akash.hamirwasia@gmail.com>
Co-authored-by: Yash Joshi <jyash97@gmail.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Aadhitya A <59508546+alphaX86@users.noreply.github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Kishore <reachtokish@users.noreply.github.com>
Co-authored-by: Adam <ascratcherd@gmail.com>
Co-authored-by: root <root@rutabaga.groudon>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Nandan <nandan@thinkify.io>
Co-authored-by: Ishaan Mehta <ishaanmehta4@gmail.com>
Co-authored-by: Thakur Karthik <iamkarthik08@gmail.com>
2020-10-12 18:13:35 +05:30
Shrikant Sharat Kandula
4420117888 Use username instead of object_id in analytics (#1082) 2020-10-09 16:21:25 +05:30
Trisha Anand
421b624cc4
Only mark applications as example applications if the application id exists in the template configuration. (#1093) 2020-10-09 15:21:28 +05:30
Shrikant Sharat Kandula
d872b3631b
Use username instead of object_id in analytics (#1082) 2020-10-09 12:47:27 +05:30
Trisha Anand
ffb1142b20
Adding a new email template for sending an email when an appsmith use… (#1077)
* Adding a new email template for sending an email when an appsmith user's role in an organization changes.

* Minor changes in text.
2020-10-08 14:48:41 +05:30
Shrikant Sharat Kandula
fa709a6cde Use email as id for users and fix signup events not being reported (#1067) 2020-10-07 21:08:27 +05:30
Shrikant Sharat Kandula
feda7ce022
Use email as id for users and fix signup events not being reported (#1067) 2020-10-07 21:06:58 +05:30
Shrikant Sharat Kandula
65eb9c97d2 Send separate user create event for new users (#1066) 2020-10-07 18:29:31 +05:30
Shrikant Sharat Kandula
985c17a87b Add source to user sign up event (#1065) 2020-10-07 18:29:31 +05:30
Shrikant Sharat Kandula
c77fcfa9ee
Send separate user create event for new users (#1066) 2020-10-07 18:28:17 +05:30
Shrikant Sharat Kandula
c4332b9a1c
Add source to user sign up event (#1065) 2020-10-07 18:07:30 +05:30
Prashant Chaubey
50072ff179
Fixed the ipify URL in PingScheduledTask (#1013) 2020-10-06 06:54:27 +05:30
Petro Popelyshko
e57615e3eb
Fix(backend): Wrong error message while resetting the password fixed, changed from id to email (#911)
Fixes #637
2020-10-05 09:49:05 +05:30
Dmitriy Danilov
4a26aee19f
Fix(sign-up): change in sign up error message (#908) 2020-10-05 09:42:39 +05:30
Ari
39bf7db1d7
Remove gitlab-ci configuration files (#865)
We have since moved our CI to Github Actions and no longer require Gitlab CI config files.
2020-10-02 08:43:41 +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
577e9a7017
Refactor ignoreCache parameter to use Boolean type (#681) 2020-09-23 11:01:58 +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
Nikhil Nandagopal
b6071a054e Merge branch 'master' into release 2020-09-19 17:15:46 +05:30
Arpit Mohan
790ad71a2c
Adding more details to Contributing.md for server compilation (#582) 2020-09-19 12:56:42 +05:30
Arpit Mohan
64549e4b06 Removing cacheResponse from the JSON response for actions (#564)
This is because this `cacheResponse` field is only used for auto-complete on the UI. The user can still run the action manually and get the auto-complete to work. The downside to sending the `cacheResponse` field in the JSON response is that for large responses, the client times out as our response times increase to 20 secs. Hence removing this for now.

In future, we'll extract the JSON schema structure from the response body and send that to the client for populating auto-complete.
2020-09-18 13:19:56 +05:30
Arpit Mohan
149df6925a
Removing the keep-alive ping check for CI builds (#565) 2020-09-18 13:13:40 +05:30
Shrikant Sharat Kandula
19bd7d272a
Use a unique instance ID for pinging home (#566)
* Use a unique instance ID for pinging home

* Fix event name
2020-09-18 06:38:53 +05:30
Arpit Mohan
e688f62378
Removing cacheResponse from the JSON response for actions (#564)
This is because this `cacheResponse` field is only used for auto-complete on the UI. The user can still run the action manually and get the auto-complete to work. The downside to sending the `cacheResponse` field in the JSON response is that for large responses, the client times out as our response times increase to 20 secs. Hence removing this for now.

In future, we'll extract the JSON schema structure from the response body and send that to the client for populating auto-complete.
2020-09-17 18:51:26 +05:30
Shrikant Sharat Kandula
65c247a10c
Add a scheduled task to ping home (#560)
* Add a scheduled task to ping home

* Removed commented logging code

* Add docstrings to ping scheduled task

* Move IP address API URI to a constant
2020-09-17 17:54:48 +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
Nikhil Nandagopal
cac15f2cac
Update welcomeUserTemplate.html 2020-09-16 18:40:43 +05:30
Trisha Anand
423b7eb176
Added confirmBeforeExecute field in action view dto which is returned only during view mode. (#547)
* Added `confirmBeforeExecute` field in action view dto which is returned only during view mode.

* Added test for fetch actions in view mode.
2020-09-15 15:22:35 +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
Trisha Anand
069dd53e32
Changing spelling of colour to match the front-end used spelling. (#532) 2020-09-11 12:31:07 +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
Nikhil Nandagopal
3b4db07697
Update welcomeUserTemplate.html 2020-09-10 16:20:00 +05:30
Nikhil Nandagopal
5fbe993541
Update welcomeUserTemplate.html 2020-09-10 16:01:35 +05:30
Nikhil Nandagopal
9063488acf
Update welcomeUserTemplate.html 2020-09-10 14:50:44 +05:30
Trisha Anand
9dcb7d5522
When on page load setting is changed, update layout must be called to update the onPageLoadActions field in the layout. (#467) 2020-09-10 14:30:30 +05:30
Shrikant Sharat Kandula
42545d1e88
Add migration to fix incorrect action IDs for onLoad (#519)
* Add migration to fix incorrect action IDs for onLoad

* Remove redundant comments

* Fix migration to work with published onLoad actions as well

* Only update the action ID when correcting onLoad action IDs

* Fix migration name for correcting action IDs

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Fix migration id for correcting action IDs

* Reformat code

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-09-10 11:37:32 +05:30
Nikhil Nandagopal
96093426bf Merge branch 'release' 2020-09-07 23:13:05 +05:30
dependabot[bot]
41a51c2885
Bump bl from 2.2.0 to 2.2.1 in /app/server/scripts/node (#496)
Bumps [bl](https://github.com/rvagg/bl) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/rvagg/bl/releases)
- [Commits](https://github.com/rvagg/bl/compare/v2.2.0...v2.2.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-07 12:52:35 +05:30
Shrikant Sharat Kandula
f5f66229ec
Get list of application IDs to be cloned as examples from template config (#442)
* Get list of application IDs to be cloned as examples

* Fix tests so that apps to be cloned are explicit

* Add migration to set applicationIds for example cloning

* Fix example org cloning tests
2020-09-07 11:40:28 +05:30
Trisha Anand
a8a7955f41
Added new fields colour and icon in application required for homepage redesign project (#499) 2020-09-07 11:13:58 +05:30
Trisha Anand
437d04f045
Added a field to denote confirmBeforeExecute field whose functionality would be handled by the client. (#487) 2020-09-07 11:12:08 +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
Trisha Anand
3648a2b804
Returning an error in case the user tries to get all users. (#472) 2020-09-02 17:18:22 +05:30
Shrikant Sharat Kandula
54c75b26dd
Add a node.js script to dump examples organization (#448)
* Add a node.js script to dump examples organization

This dump file is used to setup initial examples organization
in a self-hosted setup.

* Remove unused variable

* Add npm run shortcut for dump script
2020-09-02 17:15:55 +05:30
Shrikant Sharat Kandula
91ad617904
Add validation for host values in DB datasources (#444)
* Add validation for host values in DB datasources

* Mild refactoring, for a dummy commit

* Add test for host name validation in datasources
2020-09-02 11:28:41 +05:30
Shrikant Sharat Kandula
223a735b87
Add API for uploading logo images for organizations (#376)
* Start with new controller for assets

* Progress on uploading logo image

* Saving and loading organization logo assets now works

* Remove existing logo asset before saving a new one

* Fix 500 when uploading logo for the first time

* Fix URL in response for uploading logo image

* Add test for uploading logo for ogranization

* Mild refactoring in tests
2020-09-02 11:28:15 +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
Trisha Anand
dfabda6009
GET API actions recognized as page load actions should also be update… (#450)
* GET API actions recognized as page load actions should also be updated as executeOnLoad actions.

* Update action during updateLayout only if executeOnLoad is not set or is false.
2020-08-27 20:05:07 +05:30
Trisha Anand
a806935f82
Use a new API to set (unset) execute on load for an action. (#443) (#446) 2020-08-27 16:22:50 +05:30
Shrikant Sharat Kandula
9534eeef0a
Add logs to alert when cloned action id is unavailable (#441) 2020-08-27 12:46:04 +05:30
Trisha Anand
11eac73013
Clone application within the same organization (#414)
* WIP : First draft of clone applications

* Cloning of application now works correctly.

* Fixed the failing test case for page cloning.

* Added test case to assert the clone of application successfully.

* Minor function renaming to avoid confusion.

* Minor code refactoring to remove duplicate code.
2020-08-25 14:08:52 +05:30
Trisha Anand
8c20aeb95b
Example app being cloned must be set to private instead of public because public permissions are not given during cloning. (#418) 2020-08-25 11:12:55 +05:30
Trisha Anand
c253b7430b
1. Fixed the bug where policies are being set to empty during organization update (#415)
1. Fixed the bug where policies are being set to empty during organization update.
2. Added email field in organization.

* Updated the test case for update organization to assert the organization policies being present post the update.
2020-08-25 08:13:37 +05:30
Trisha Anand
ce41fec346
Bug fix : Example applications should have make public permissions for the administrator. (#416) 2020-08-25 08:12:13 +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
ba72e21f7b
Add two more apps to examples org dump (#393)
* Add two more apps to examples org dump

* Fix undefined checks in example org dump
2020-08-21 19:53:16 +05:30
Shrikant Sharat Kandula
2a2dda0ab0
Fix race condition in setting default page in application (#394)
We are currently getting the *list* of all pages, updating the
`isDefault` fields inside, and then saving the whole *list* of
all pages. If a new page got added to that list in the DB during
this process, that page would be lost. This commit fixes this
problem.

This race condition was causing tests for cloning applications
to fail *sometimes*.
2020-08-21 16:31:40 +05:30
Shrikant Sharat Kandula
87f27c9182
Add two new/updated apps for self-hosted (#392)
* Add two new/updated apps for self-hosted

* Fix potential NPE when template org dump has API datasources
2020-08-21 14:37:35 +05:30
Shrikant Sharat Kandula
e97ceab412
Fix default page not being set for cloned applications (#383)
* Fix default page not being set for cloned applications

* Add test for setting default page in clone applications
2020-08-21 10:38:23 +05:30
Shrikant Sharat Kandula
27511c90d4
Users created won't have any orgs if a template is configured (#374) 2020-08-20 18:24:31 +05:30
Shrikant Sharat Kandula
3ae6c745b1
Initial implementation to import examples organization as a migration (#290) 2020-08-20 16:46:23 +05:30
Shrikant Sharat Kandula
bd670487a7
Redirect to forked application when signed up by clicking on Fork of a public example app (#335)
* Redirect to forked application works for direct login

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-08-20 14:15:54 +05:30
Shrikant Sharat Kandula
f57e2a2fb8
Refactor: Remove unused type parameter in AnalyticsService (#340)
* Move repeated code for analytics into functions inside AnalyticsService

* Fix type parameters in BaseService & BaseController
2020-08-20 10:47:22 +05:30
Trisha Anand
efab105e19
Clone Page feature inside an application (#357)
* Working version of cloning page given page id. The clone is created inside the same application and is in unpublished state.

* Added a test case for Clone Page feature

* Incorporated review comments.
2020-08-19 15:20:00 +05:30
Trisha Anand
82018547f5
Added tests to test invite user permissions for administrators and developers and make public app permissions for only administrators. Also added test to ensure that roles for an organization are being returned depending on the current user's roles. (#326) 2020-08-18 10:53:46 +05:30
Trisha Anand
336514344b
If an invited user follows the path of reset password (instead of sign up), this should be allowed. (#328) 2020-08-17 14:57:41 +05:30
Shrikant Sharat Kandula
a79951bae9
Don't always automatically create a blank personal org (#306)
* Don't always automatically create a blank personal org

It will still be created, only if a example template organization
has not been configured in the system.

* Name examples organization same as personal organization

* Minor fixes in tests

* Remove unused userService in clone tests
2020-08-14 15:30:52 +05:30
Shrikant Sharat Kandula
50e8ee7255
Fix link in invite emails to point to signup page (#268)
* Fix link in invite emails to point to signup page

* Auto-fill email in signup page and remove CreatePassword component
2020-08-14 11:31:50 +05:30
Trisha Anand
52e7ed4f02
Bug Fix : When role changes from developer to admin, the user was not being given make application public permission for the application (#302)
* During add role to an organziation, the application was only inheriting from subset of the organization permissions. Generalized this code to ensure that this doesnt happen again in the future when more permissions are introduced. Refactored some code as well.
2020-08-13 18:53:00 +05:30
Arpit Mohan
a9e16ee6c0
Adding dummy check in server build to satisfy required status checks (#296)
This is a hack to get around the fact that Github Actions doesn't support conditional status checks for monorepo PRs. Hence, we create similar jobs in the both server & client builds. In the server build, those jobs are dummy jobs that do nothing but satisfy the all-encompassing green tick so that PRs can be merged without using Admin privileges.
2020-08-13 14:50:34 +05:30
Arpit Mohan
10f462b229
Adding a test for the valid scenario when returning the plugin form details (#295)
We use @SpyBean annotation to partially mock the PluginService class.
2020-08-12 20:09:56 +05:30
Shrikant Sharat Kandula
368ed79f4b
Removed OPA config (#291)
* Removed OPA config along with the bundle and rules files
2020-08-12 16:52:42 +05:30
Shrikant Sharat Kandula
30c595678d
Set transient fields when loading application by id (#287) 2020-08-12 15:35:50 +05:30
Trisha Anand
c3c8e532c6
Updated the invite and make public app migration script more performant so that it takes lesser time on big db (#289)
* Updated the migration script to make more db queries instead of searching in the local app memory

* Permission correction.
2020-08-12 15:35:04 +05:30
Trisha Anand
7ee21456d5
Share Changes : Adding users to organization permission updates (#262)
* Introduced new permissions for making app public and inviting users.

* WIP : Returning a subset of roles depending on the current user's role

* Added code and tests for generating hierarchical children given a role name

* Get all invite roles now returns roles depending on the current users permissions (aka - admin can invite users for all roles, developers can invite users for roles develoeprs and below)

* When invite api is called, check if the user has correct permissions ( invite permission) and check if the role for which the users are bieng invited is allowed (aka the current user has the permission to invite for the said role)

* Introduced a new permission at application level which is inherited from manage:organizations. This new permission gives the administrator of the organization to make any application public .

* Incorporated review comments.

* Minor code changes.

* Added migration script to add the new policies introduced as part of this new share modal changes.

* Null pointer exception handled due to improper data in the database.

* Integration testing bug fixes.
2020-08-12 13:23:44 +05:30
Trisha Anand
a6496bd5af
Correcting the Docker image for Appsmith server for Github actions test (#260)
* Correcting the Docker image for Appsmith server for Github actions test

* Also fixing the bug where the datasource config is not returned properly for restapi-plugin

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2020-08-11 16:53:47 +05:30
Shrikant Sharat Kandula
115bff546c
Replace class-level generics with method-level in PolicyUtils (#257) 2020-08-11 14:07:52 +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
0c344115c3
Add transient field on applications to indicate whether it's an example application (#256)
* Add transient field on application to indicate whether it's an example

* Add test for marking of example applications

* Remove unused constant
2020-08-11 14:00:41 +05:30
Shrikant Sharat Kandula
dc10f09906
Fix organization cloning gets stale action IDs inside onLoad actions (#245)
* Fix organization cloning gets stale action ids for onload

* Fix test for onload action's organization after cloning
2020-08-11 13:58:50 +05:30
Trisha Anand
43d633f007
Setting role name while adding a user to an organizaiton. (#258) 2020-08-11 09:45:23 +05:30
Trisha Anand
d2442eb815
DO NOT MERGE: Bulk invite user to organization (#182)
* WIP: Not working bulk invite.

* WIP : Non compilable.

* Current test cases running.
TODO : Code Cleanup and write new test cases for bulk invite.

* Code cleanup

* Added a test case for bulk invite of users to an organization.

* Incorporated review comment.

* Merged the latest release and incorporated review comments.

* Corrected the error thrown when usernames is empty or null for invite user API.
2020-08-11 09:24:21 +05:30
Shrikant Sharat Kandula
25b752843f
Auto-login on signup (#201)
* Auto-login on signup works!

* Support form-encoded data body for signup requests

* Remove debug log entry when getting session

* Refactoring and add some docs to UserSignup solution

* Move user object construction to UserSignup solution

* Redirect with error message on signup errors
2020-08-10 14:59:56 +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
Arpit Mohan
3faaabbd31
Minor fix to create certbot directories during installation (#211) 2020-08-03 21:07:40 +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
cef1241bcb
Return 200 when action could not be executed (#202) 2020-08-03 07:35:14 +05:30
Shrikant Sharat Kandula
43304ca146
Fix form data not showing up in the right place when importing from curl (#198) 2020-07-30 16:30:39 +05:30
Trisha Anand
c6a9fc2bb4
Organization getById should use custom repository get function (#195)
* Overwriting the base service's getById for OrganizationService to ensure that the response contains userPermissions (by using custom repository instead of default mongo repository classes)

* Fixed the failing test cases.

* Minor code formatting.
2020-07-29 16:57:46 +05:30
Arpit Mohan
4475bc2b1e
Configuring dynamic redirect post login (#194)
The client will have to send a query parameter redirectUrl or a header X-Redirect-Url in order for the server to redirect the client to the appropriate URL post login. If neither of these parameters are present, the client is redirected to /applications by default.

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2020-07-29 16:07:40 +05:30
Trisha Anand
eba38ae1fa
During signup, if the user already exists, instead of throwing a generic duplicate key exception, request the user to sign in. (#192)
* During signup, if the user already exists, instead of throwing a generic duplicate key exception, request the user to sign in.

* Minor change in the error message.
2020-07-29 13:44:23 +05:30
Shrikant Sharat Kandula
60efdb998b
Fix: Datasource password gets double encrypted on cloning (#191)
* Decrypt sensitive fields before cloning a datasource

* Fix NPE in cloning datasource when configuration is missing
2020-07-29 11:12:04 +05:30
Trisha Anand
9c51ac3f8d
🔥 & forget asynchronous email sending (#187)
* Email sending is now an asynchronous function. It follows a 🔥 & forget strategy to make it run asynchronously.
2020-07-28 20:06:12 +05:30
Shrikant Sharat Kandula
66bf23106d
Fix cloning fails in some cases for organizations (#159)
* Fix cloning fails in some cases for organizations

Cloning currently fails in cases like the following:
- Application with no pages
- Pages with no actions
- Pages with more than one action

* Remove debug naming of cloned datasources

* Add test for organization cloning

* Add more tests for organization cloning

* Fix potential race condition in adding pages to an application

* Move db update call to add page to application, into repository

* Use `getIdCriteria` to query for document's _id
2020-07-28 17:54:06 +05:30
Shrikant Sharat Kandula
74da0f117e
Reuse layout that's automatically created with page (#163)
* Reuse layout that's automatically created with page

* Use correct API for updating a layout

* Commenting out organization cloning test.

* Removed organization cloning test

* Adding a dummy commit to run the pipeline.

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2020-07-25 18:13:29 +05:30
Shrikant Sharat Kandula
10ad639b28
Bug/layouts not updated on action change (#161)
* Fix layouts not be updated when an action is updated

* Add test for updating onLoadActions when action updated

* Split layout and action test to separate class

* Remove duplicated test in ActionServiceTest
2020-07-25 16:45:42 +05:30
Shrikant Sharat Kandula
5ee1c24224
Fix layouts not be updated when an action is updated (#160)
* Fix layouts not be updated when an action is updated

* Add test for updating onLoadActions when action updated
2020-07-25 15:43:22 +05:30
Shrikant Sharat Kandula
4a269efd4a
Reset default fields of User object before update (#158)
The policies of `User` objects is an empty set by default. So, when using a new `User` object to call `update`, it also updates existing policies to be an empty list.
2020-07-24 18:32:43 +05:30
Trisha Anand
9f8b5ca4d8
Adding execute action permissions policy to match read actions policy in existing actions. (#156)
* Fixing test cases failing due to non unique names.

* Adding execute action permissions policy to match read actions policy in existing actions.

* Only save the action if there are read actions permission present (and hence could have been updated)
2020-07-24 17:05:49 +05:30
Trisha Anand
61c62c9212
Datasource Test should test against the datasource object sent by the client (#155)
* Datasource test should always test the latest object given by the client (instead of fetching the same from the db). If it is a saved datasource, then we should decrypt and set the password in the datasource (unless the password is one of the changes that is being tested).

* Added function level comment to clarify that this function can no longer be used by just sending the datasource.id field set.
2020-07-24 15:53:40 +05:30
Shrikant Sharat Kandula
23dd84d9c8
Clear application pages list before cloning (#154) 2020-07-24 14:35:16 +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
Arpit Mohan
36bf14f221
Adding dynamic redirect to form & OAuth2 login (#149)
The client can send the redirect URL in X-Redirect-Url header. The server will honour the value set and redirect the client browser to this particular url. By default the server will redirect to /applications if the custom header is missing. The redirect url can either be absolute or relative.

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2020-07-23 20:32:38 +05:30
Trisha Anand
3c30b38937
Bug fix : External datasources do not execute for public application (#143)
1. Bug fix for when actions for a public application use an external datasource (aka db queries). The db queries were not getting executed because the permission for execute datasource was not getting set for anonymousUser.

2. When using the Test endpoint for datasource, if the datasource is being read from the db and there are encrypted fields, first decrypt the field and then send to the plugin for testing the co
2020-07-23 20:31:36 +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
Shrikant Sharat Kandula
fd888e33c8
Add migration for updating plugin doc links to our own docs (#142) 2020-07-22 15:28:27 +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
Shrikant Sharat Kandula
1fc582af08
When cloning examples organization, clone only public applications (#125)
* When cloning examples organization, clone only public applications

* Create template organization within the test

* Cleaned up test for cloning of examples organization

* Fix Mono chaning

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* Create test apps and config simultaneously

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-07-21 13:39:07 +05:30
Trisha Anand
d1dd74018f
Bug fix : Update of datasource object leads to authentication field getting encrypted again. (#124)
* Datasource authentication object fields should only be encrypted during create or if the update object contains authentication object. Added a test case to check that update to any other field doesnt update the encrypted fields.

* Incorporated review comment
2020-07-21 10:53:03 +05:30
Shrikant Sharat Kandula
55a6cc6614
Clone examples organization for every new user (#78)
* Trying to clone the examples repo on new user signup

* Working implementation of cloning examples organization on user sign up

* Fix personal org not being created when template org is missing

* A working version of cloning of examples organization on first-login

* Add docs for methods in ExamplesOrganizationCloner

* Refactor computing user's first name into a method

* Add some menial tests for examples organization cloning

* Use explicit permissions when fetching applications and datasources

* Fix template organization config name hard-coding
2020-07-20 13:07:31 +05:30
Shrikant Sharat Kandula
f9e1d4f1ad
Chore/remove implicit permissions (#90)
* Refactor implicit permissions in service methods as function arguments

* Revert an unintended change that got committed

* Fix permission variable name

Co-authored-by: Trisha Anand <trisha@appsmith.com>

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-07-20 13:06:47 +05:30
Shrikant Sharat Kandula
140bfed24f
Disable the direct create methods for pages and applications (#109)
* Disable the direct `create` methods for pages and applications
* Create differently named versions of create methods to avoid ambiguity
* Removed unused pageService in DatasourceServiceTest
* Rename createPlain method to createDefault to better convey intent
2020-07-16 15:13:03 +05:30
Trisha Anand
04db3d4242
Bug Fix : Execute Action is not open for execution in public application. (#105)
* Opening the execute path & fetching db without permissions during execute path.
2020-07-15 21:36:35 +05:30
Trisha Anand
936c013b3b
Bug fixes : 401 for public applications + Empty set of actions for get in case cookies is anonymous (#104)
* Bug fixes :
1. Get actions in view mode should be open for unauthorized requests. Fixed that.
2. set transient fields in action is called post fetching all the actions (after taking care of all the permissions). At this point, we shouldnt be using permissions to fetch datasource.
2020-07-15 20:15:10 +05:30
Trisha Anand
20ae5fa546
Adding timeout in ActionViewDTO for the client to use to programmatically timeout on the execution request (#103)
* Adding timeout in ActionViewDTO for the client to use to programmatically timeout on the execution request.
2020-07-15 18:44:55 +05:30
Trisha Anand
6bfed87e40
Added pageId to action view dto (#101)
* Added pageId in the ActionViewDTO and NPE check for setting the json path keys.

* Checking for both json path keys being null and not empty before copying the json path keys into action view dto.
2020-07-15 17:53:38 +05:30
Trisha Anand
212e98c4ba
Fixing test cases failing due to non unique names. (#100) 2020-07-15 16:42:53 +05:30
Arpit Mohan
6c16cba4b9
Adding null checks before encrypting or decrypting the password in AuthenticationDTO object (#99)
This ensures that we don't run in NPE
2020-07-15 16:29:05 +05:30
Arpit Mohan
c15f83dbc3
Adding configuration variables for MAIL_FROM and REPLY_TO in EmailConfig (#97)
The MAIL_FROM & REPLY_TO addresses default to appsmith@localhost. This should be changed in the generated docker.env file during deployment to actual values.

Most email providers will not send emails unless they originate from a valid sender ID.
2020-07-15 15:47:33 +05:30
Trisha Anand
fd0f23b9cc
Database credentials encryption in MongoDB (#80)
* Encrypting the password stored in AuthenticationDTO for every db.

* Adding comment to the properties file to denote that adding encryption salt and password are mandatory to the server coming up.

* Added the encryption salt and password to server.yml to allow the github actions to succeed.

* Adding database migration to encrypt the existing passwords for authentication object (used for storing db connection username/password)

Changes to the installation script install.sh:

1. Instead of overwriting the existing encryption password or salt, giving the user an option to conserve the previous encryption credentials to ensure that the developer users do not lose access to their database configurations (passwords).
2. Added another file for writing encryption credentials (encryption.env) to ensure that we dont delete the encryption password and salt by mistake.
2020-07-14 14:45:08 +05:30
Trisha Anand
56acb5c9fd
New endpoint added to get actions by applicationId in view mode. (#88)
* New endpoint added to get actions by applicationId in view mode. Only id, name and jsonPathKeys are returned in view mode.
2020-07-13 23:27:49 +05:30
Shrikant Sharat Kandula
4796b6edba
Add maven-license-plugin to the project (#73) 2020-07-10 15:58:04 +05:30
Trisha Anand
4a720b80e2
Removing the marketplace basic auth credentials which was hard coded into the code to environment variable. (#71) 2020-07-09 22:38:21 +05:30
Trisha Anand
8734067cad
Resolving the dependabot vulnerabilities. (#69) 2020-07-09 21:12:16 +05:30
Arpit Mohan
ed00c59068 Adding instructions on how to test the code in app/server/README 2020-07-09 17:54:12 +05:30
trishaanand
9eedb15620
Updating anonymous user permissions for application and associated pages & actions when public access is modified (#57)
* On setting an application to public view, correct permissions are assigned to the application and its pages & actions.

* If anonymous user is allowed a certain permission, the all users (anonymous/logged in) should be allowed the certain permission.
2020-07-09 11:21:39 +05:30
trishaanand
53b61b4942
Skeleton code added for changing application view between public and private to help with client development. (#56) 2020-07-08 17:13:42 +05:30
trishaanand
a5a3a5f4a2
Bug fix - In case of invited user signing up on Appsmith, the password is getting doubly hashed leading to sign in breaking for this user. (#51)
* Bug fix is working. Added a test case which is not working.

* Code cleanup. Test case fixed. Now, when we set the user to enabled, we also store the password that has been passed to the flatMap.

* Minor code cleanup.
2020-07-08 13:16:13 +05:30
trishaanand
765f1c7164
Get user profile should return anonymousUser instead of 401 unauthorized in case the API is called without logging in. (#50)
This will help us display the 404 page on the client reliably.
2020-07-08 11:54:00 +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
trishaanand
c9703ea3b1
Special 404 handling and adding a few paths to the unauthenticated list to allow for public applications (#45)
* 404 error added for a few API calls which would be specially handled on the frontend to display an ACL 404 error.

* Putting everything except GET actions, GET pages, and GET applications behind authenticated. This ensures that in the future public applications (view only) would not lead to 401 but any other page would.

* Code formatted.
2020-07-06 20:21:07 +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
trishaanand
4a05ba6ac5
An invited user on signup should be set to enabled and should not lead to duplicate key exception. (#36) 2020-07-06 12:46:46 +05:30
Arpit Mohan
3035ec9bef
Adding the Github action workflow for the server code (#24)
* Adding the Github action workflow for the server code

* Modifying the redis endpoint in application-test.properties to point to localhost because the Docker service exposes ports to the host
2020-07-03 14:40:57 +05:30
Arpit Mohan
fdeed757ff
Fixing the move action API by removing invocations to subscribe (#17)
* Fixing the move action API by removing invocations to subscribe

Calling subscribe() inside function calls is an anti-pattern and we shouldn't be doing it.
The reactiveContext is not called if the subscribe() function is called in the middle of execution flows. This breaks DB queries.

* Added test case for move action.

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-07-02 15:41:45 +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
Shrikant Sharat Kandula
95b9860bf9
Give appropriate error when method is invalid in cURL command (#1) 2020-07-01 12:37:59 +05:30