Commit Graph

328 Commits

Author SHA1 Message Date
Trisha Anand
b8eb2f1aa5
Adding support for explicit data type casting in postgres prepared statement (#5842)
* Adding support for explicit data type casting in postgres prepared statement

* Added text and int psql data types for support in explicit typecasting

* Documenting the code
2021-07-15 19:33:32 +05:30
lifeneedspassion
95d5557749
Add UTF-8 encoding in the RestApiPlugin for all invocations
The default charset is determined during virtual-machine startup and typically depends upon the locale and charset of the underlying operating system (#5788)

Co-authored-by: 王昆 <quincy@cloudtogo.cn>
2021-07-15 11:36:18 +05:30
Sumit Kumar
50ae200350
Fix: fix read only option for postgres connection (#5848)
* fix read only option for Postgres connection.
2021-07-15 09:55:35 +05:30
Nidhi
4f42c29f95
Ignore comments while preparing executable statement in MySQL plugin (#5838)
* Ignore comments while preparing executable statement in MySQL plugin

* Added tests
2021-07-14 11:36:10 +05:30
Sumit Kumar
9c2ac9f26a
Feature: add support in Redis plugin to select database when creating db connection. (#5807)
* add support in Redis plugin to select database when creating db connection.
* refactor code to use URI string instead of constructor call, because of lack of appropriate constructor.
* add TCs.
* fix validate datasource.
2021-07-13 15:22:08 +05:30
Sumit Kumar
727f4aa4b3
Feature: return hint message to user if the expected content type is json but the api response is not a valid json. (#5666)
* return hint message to user if the expected content type is json but the api response is not a valid json.

Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-07-09 22:31:50 +05:30
Trisha Anand
18fa47e2b4
Taking Smart Substitution for Mongo out of Beta (#5650) 2021-07-08 11:25:53 +05:30
Sumit Kumar
d68ca405a8
Feature: integrate ArangoDB plugin (#5518)
* integrate arangoDB plugin.

Co-authored-by: Ming Fang <mingfang@mac.com>
Co-authored-by: Automated Github Action <automated@github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
2021-07-06 18:40:19 +05:30
Arpit Mohan
28284b7207
Setting string response if the JSON is not valid (#5642) 2021-07-06 18:07:08 +05:30
Nidhi
7da59a4afe
Content length for multipart (#5556) 2021-07-05 19:28:45 +05:30
Trisha Anand
9dfe66d45c
[Bug] Mongo Plugin : Handle socket exception when the connection is dropped by Mongo database (#5499) 2021-07-01 17:23:24 +05:30
Nidhi
def5cb5c1d
Content type and filename for multipart form data parts (#5509)
* Content type and filename for multipart form data parts

* Handling empty json

* Handling empty json
2021-07-01 15:53:53 +05:30
Trisha Anand
02e5445731
[Mongo Plugin] Raw is now a command option instead of Form vs Raw (#5446)
* Raw is now a command option instead of Form vs Raw

* Added database migration for migration raw input type to be of raw command type

* Fixed test case failure

* Minor cleanup
2021-06-29 11:13:17 +05:30
Nikhil Nandagopal
e8ba1bee7f
removed quotes from sql templates because of prepared statements being on (#5404)
removed comments from sql templates confusing users with errors because of linting
2021-06-25 14:39:39 +05:30
Sumit Kumar
b2d4454492
Feature: add api key based and bearer token based authentication options to REST API datasource (#5367)
* add api key based and bearer token based authentication options to REST API datasource
* this change is ported to release from Feature: datasource changes for api key auth, bearer token auth, combine config. #4683
2021-06-25 12:15:48 +05:30
Sumit Kumar
7787a0ddac
Bug Fix: Fix dynamic binding substitution failure with Firestore where condition input boxes. (#5280)
Modify dynamic binding substitution method to handle list and map types containing generic type values.
2021-06-21 19:36:06 +05:30
Nidhi
57adbd7777
Schema info in templates query (#5244) 2021-06-18 11:31:17 +05:30
Trisha Anand
388418cec5
Merge the two update commands into a single update command in Mongo Form (#5171)
* Update commands have been merged into a single update command for both single and multi updates

* Added migrations to migrate any update one mongo form command to new update command

* Incorporated review comments
2021-06-18 11:04:39 +05:30
Nidhi
884636f33f
Snowflake integration (#5176)
* POC for snowflake integration with Appsmith

This is just a rough version to see if the functionality works. Needs to be cleaned up & enhanced for production usage.

* Plugin with connection, monos, ds testing, validation, templates, structure and forms

* Better comments

* Default schema to public

* Changed logging destination, populated request in result and used thread group for datasource creation

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2021-06-17 15:03:18 +05:30
Sumit Kumar
26cd46ea53
Fix: parse json/jsonb data type values as json for postgres plugin (#5135)
* parse json/jsonb data type values as json
* add support for json (non binary, earlier support for jsonb was added)
2021-06-17 11:31:34 +05:30
Trisha Anand
77e965523c
[Feature] Smart Substitution for JSON fields in Mongo Form (#5136)
* Reduced verbosity of the command names for Insert, Find and Delete

* WIP : Smart substitution untested changes for mongo form

* Tested code for smart substitution working for mongo form fields

* Added test case for assert for smart substitution
2021-06-16 13:31:00 +05:30
Sumit Kumar
64408df8fa
Fix: Use connection pool for Redis (#5093)
* Replace single connection instance with a connection pool. This will ensure that simultaneous actions don't fail / break the connection.
2021-06-15 10:59:49 +05:30
Trisha Anand
06cafb6066
Getting Prepared Statement for Postgres, MySQL, and MS-SQL and Smart Substitution for Rest API plugins out of beta (#5019)
* Correcting text for Mongo Form Insert command

* Getting Prepared Statement for Postgres, MySQL, and MS-SQL and Smart Substitution for Rest API plugins out of beta

* Fixed failing test case

* Fixed Ms-sql plugin test failure
2021-06-10 13:55:56 +05:30
Abhijeet
0246563bd2
Bugfix for applications with MongoDB datasources authenticated with SRV string (#4944)
* Avoid updating authenticationDTO for mongo-plugin with SRV if the authentication object is already present
2021-06-10 10:52:23 +05:30
Trisha Anand
1bb54b0c7c
[Bug Fix] : Mongo Form Find - Projection field is parsed correctly (#4976)
* Parsing the field projection in Mongo Form

* Added test case to assert Projection field working.
2021-06-08 19:27:55 +05:30
Anagh Hegde
1a44df90e1
Merge pull request #4921 from appsmithorg/bug/tests-failing-on-silicon
Fix - tests don't run on an M1 Silicon Mac
2021-06-08 16:52:10 +05:30
Sumit Kumar
d2a74b5ac9
Feature: firestore plugin support for multiple where conditions (#3740)
* allow users to add multiple where conditions to firestore's get documents query.
2021-06-07 10:43:16 +05:30
Anagh Hegde
4268e4caaa Replace the repoTag from latest to fixed version 2021-06-04 13:49:20 +05:30
Anagh Hegde
b73f5c8ed1 Replace the repoTag from latest to fixed version 2021-06-04 12:37:16 +05:30
Anagh Hegde
b7ccb1da01 Fix - tests don't run on an M1 Silicon Mac 2021-06-04 11:15:44 +05:30
Sumit Kumar
8199db669a
- remove DB Auth type check. (#4896)
* remove DB Auth type check, since the type is not getting set and the check does not seem to be required in any way.
2021-06-03 23:31:37 +05:30
Nidhi
f9a4b0e0dc
Fixes failure due to extra spaces in authorization url in OAuth2 datasource (#4818)
* Trimmed authorization url

* Using validation instead

* Update app/server/appsmith-plugins/restApiPlugin/src/main/java/com/external/helpers/DatasourceValidator.java

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

* Update app/server/appsmith-plugins/restApiPlugin/src/main/java/com/external/helpers/DatasourceValidator.java

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

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-06-01 13:45:04 +05:30
Sumit Kumar
e2f4fd5e94
Fix: Fix redis plugin socket error (#4791)
* fix socket error
* fix default port
* remove invalid check for missing port, since default port would be supplied if user leaves the port field empty.
2021-05-31 11:55:47 +05:30
Nidhi
5ddd58cdfd
Added optional audience and resource fields for oauth2 datasources (#4678)
* Added optional audience and resource fields for oauth2

* Review changes

* Don't show audience and resource fields by default
2021-05-27 21:53:59 +05:30
Nidhi
2bf1fbff04
Removed check for encryption since this is not handled manually anymore (#4673)
* Removed check for encryption since this is not handled manually anymore

* Removed migration for isEncrypted
2021-05-25 20:29:57 +05:30
Trisha Anand
d5e5be5d6a
[Feature] Mongo Form (#4378) 2021-05-19 11:05:24 +05:30
Arpit Mohan
b1d7258dcb
Adding support for multipart form data (#4547)
* Handling multipart form data in the CURL import flow

* Adding Cypress test for curl import with multipart/form-data

* Also fixing minor bug where the form values need not always be double-quoted
2021-05-19 10:48:51 +05:30
Sumit Kumar
21948ab254
Fix: postgres plugin: add support for jsonb type (#4519)
* add support for jsonb type
2021-05-17 11:19:19 +05:30
Sumit Kumar
247e5d7ea4
Feature: return prepared stmt / smart substitution params under request params section for debugging (#4421)
- return prepared stmt / smart substitution params under request params section for debugging
2021-05-17 08:59:17 +05:30
Sumit Kumar
e74d99b794
fix NPE (#4448)
fix NPE
2021-05-13 11:59:43 +05:30
Shrikant Sharat Kandula
c2af4a97fd
Fix sporadic build errors (#4453)
Because of the Java version not being explicitly set
in this plugin, the build of the whole project fails
sporadically in IntelliJ since it's trying to compile the
code as Java 8, which will obviously fail.
2021-05-12 16:41:42 +05:30
Sumit Kumar
0ec3604eac
Feature: connect to mongo db via connection string URI (#4131)
allow user to connect using a mongo connection string URI directly.
2021-05-10 10:35:45 +05:30
Nidhi
4a288439f0
Added basic authentication type to REST APIs (#4040)
* Added basic authentication type to REST APIs

* Spacing for prefix

* Tests and json ignore for password

* Client side form changes

* Review comments
2021-05-07 17:24:05 +05:30
Sumit Kumar
52bfd25824
Feature: return request parameters with type for debug tab (#4078)
- return request parameters with type for debug tab.
- request params are stored in a RequestParamDTO object.
- a configProperty -> label map is cached in pluginService, which returns the param label as per the configProperty it is mapped to via editor.json file.
- This feature currently only works with prepared statements disabled.
2021-04-30 16:26:51 +05:30
Nidhi
11556b0bbb
Add authorized check (#4222) 2021-04-30 11:10:20 +05:30
Rishabh Saxena
a0d2e8533d
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs

* add actions

* add assets

* state management for existing comments and creating new

* add ui components

* add overlay comments wrapper to baseWidget

* add toggle comment mode button at editor header

* trigger tests

* Disallow commenting as someone else

* Add applicationId for comments

* lint

* Add overlay blacklist to prevent component interaction while adding comments

* Comment thread style updates

* Placeholder comment context menu

* Controlled comment thread visibility for making new comments visible by default

* Update comment type description

* Reset input on save

* Resolve comment thread button ui

* fix close on esc key, dont create new comment on outside click

* Submit on enter

* add emoji picker

* Attempt at adding a websocket server in Java

* CRUD APIs for comment threads

* Add API for getting all threads in application

* Move types to a separate file

* Initial commit for real time server (RTS)

* Add script to start RTS

* Fix position property

* Use create comment thread API

* Use add comment to thread API

* Add custom cursor

* Dispatch logout init on 401 errors

* Allow CORS for real time connection

* Add more logs to RTS

* Fix construction of MongoClient

* WIP: Real time comments

* Enable comments

* Minor updates

* Read backend API base URL from environment

* Escape to reset comments mode

* Set popover position as auto and boundary as scroll parent

* Disable warning

* Added permissions for comment threads

* Add resolved API for comment threads

* Migration to set commenting permission on existing apps

* Fix updates bringing the RTS down

* Show view latest button, scroll to bottom on creating a new comment

* Cleanup comment reducer

* Move to typescript for RTS

* Add missing server.ts and tsconfig files

* Resolve / unresolve comment

* Scaffold app comments

* Minor fixes: comment on top of all widgets, add toggle button at viewer header

* Reconnect socket on creating a new app, set connected status in store

* Retry socket connection flow

* Integration tests for comments with api mocks using msw

* Fix circular depependency

* rm file

* Minor cleanup and comments

* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper

* Use policies when pushing updates in RTS

* ENV var to set if comments are enabled

* Fix: check if editor/viewer is initialised before waiting for init action

* Add tests for comments reducer

* Revert "ENV var to set if comments are enabled"

This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.

* Enable comments for users with appsmith email

* lint

* fix

* Try running a socket.io server inside backend

* Update comment reducer tests

* Init mentions within comments

* Fix comment thread updates with email rooms

* Minor fixes

* Refactors / review suggestions

* lint

* increase cache limit for builds

* Comment out tests for feature that's under development

* Add Dockerfile for RTS

* Fix policies missing for first comment in threads

* Use draftJS for comments input with mentions support

* fix fixtures

* Use thread's policies when querying for threads

* Update socket.io to v4

* Add support for richer body with mentions

* Update comment body type to RawDraftContentState

* fix stale method

* Fix mentions search

* Minor cleanups

* Comment context menu and thread UI updates

* revert: Scaffold app comments

* Yarn dependencies

* Delete comment using id api added

* Init app comments

* Add test for creating thread

* Api for delete comment with id

* Test comment creation response and policies

* Copy comment links

* Fix reset editor state

* Delete valid comment testcase added

* Delete comment TC : code refactor

* Don't allow creating comments with an empty body

* Pin comments WIP[]

* Ignore dependency-reduced-pom.xml files from VCS

* Cleanup of some dev-only files, for review

* Delete comment

* Update socket.io to v4 in RTS

* Pin and resolve comment thread object added in commentThread

* Pin and resolve comment thread object added in commentThread

* Update comment thread API

* Added creationTime and updationTime in comment thread response

* Added creationTime and updationTime in comment thread response

* Added human readable id to comment threads, fallback to username for null name in user document

* Refactor

* lint

* fix test, rm duplicate selector

* comment out saga used for dev

* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status

* lint

* trigger tests

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 16:03:51 +05:30
Nidhi
4d0d01950b
Error handling for unknown sheet when deleting row (#4165)
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2021-04-26 20:50:45 +05:30
Nidhi
f86f6a4de9
Only consider headings till value grid size, but consider all values till this size (#4115)
* Only consider headings till value grid size, but consider all values till this size

* Switched from null to blank for consistency

* Whoops, we don't do null row objects anymore
2021-04-26 12:11:18 +05:30
Sumit Kumar
275843e61a
Fix: Return helpful error message when get structure fails for mongo db due to lack of read permission. (#4077)
- return helpful error message when get structure fails for mongo db due to lack of read permission. The message returned is: Appsmith has failed to get database structure. Please provide read permission on the database to fix this.
- any get structure error is also generically being caught by the getStrucuture method in DatasourceStructureSolution.java
- error msg and status code is now returned as part of DatasourceStructure object.
- ErrorDTO is used to store error info.
- ErrorDTO definition is moved to appsmith-interfaces package so that it can be used all packages.
- Other changes:
  - stop logging PLUGIN_GET_STRUCTURE_ERROR externally, as this error is mostly triggered by credentials error or -lack of read permission.
  - start logging PLUGIN_GET_STRUCTURE_TIMEOUT_ERROR externally, because this is not a user error.
2021-04-26 11:18:08 +05:30
Shrikant Sharat Kandula
2971324be6
Fix unable to connect to MongoDB without username (#4130) 2021-04-23 18:21:36 +05:30