Commit Graph

171 Commits

Author SHA1 Message Date
Sumit Kumar
611ff3b776
feat: make Mongodb plugin error messages more readable. (#7857)
* Make MongoDB plugin's error messages more readable. A Client side change is required before this change becomes visible to the end user.
2021-09-27 15:10:14 +00:00
Nidhi
59ec853498
Fixed installation for multiple plugins into organizations (#7767) 2021-09-24 05:44:14 +00:00
Trisha Anand
a2e68c9724
Minor grammar/language change in the errors for filtering library (#7779) 2021-09-23 23:56:20 +05:30
Trisha Anand
3412644a75
feat: Adding Prepared Statement for H2 database for handling all user data without special error handling (#7653) 2021-09-23 18:29:15 +05:30
Nidhi
688b75af22
Changes to introduce peader prefix in API key authentication type (#7742) 2021-09-23 13:20:44 +05:30
Nidhi
c3f4cdaa15
feat: Introducing SaaS integrations as a plugin (#7560)
* WIP client side changes

* Saas execution flow + scheduled import of remote plugins
2021-09-21 17:35:29 +05:30
Trisha Anand
0ef0b3c3da
fix: Adding handling for columns with multiple words in name for filtering data in filtering library (#7602)
* Adding handling for columns with multiple words in name

* Maintaining the order of columns by using LinkedHashMap instead of Map

* Incorporating review comments

* Migrating the test from Set to List to assert the order of the columns as well in the response
2021-09-20 08:36:28 +00:00
Trisha Anand
240816e01c
feat: Adding "where" clause support for Google Sheets Plugin (#7597)
* Adding UI changes for inputting where conditions

* Working version of filtering! Woot woot!
2021-09-19 17:53:19 +00:00
Trisha Anand
659d7c3866
feat: Where condition helper library using H2 in memory database (#7592) 2021-09-19 20:33:47 +05:30
Trisha Anand
936f014b3e
feat: Add UQI infrastructure to Mongo Plugin (#7238) 2021-09-17 12:22:22 +00:00
Sumit Kumar
146f536190
fix: fix mysql prepared statement integer and boolean type handling (#6987)
* fix mysql prepared statement integer and boolean type handling
2021-09-17 08:56:12 +00:00
Nidhi
a7239cfa5b
feat: Changes to add js plugin (#4861)
Adds server side changes for supporting JS editor
2021-09-08 19:17:30 +05:30
Abhijeet
168000be92
[skip_changelog] Feature/directory structure for version control (#6757)
* Insert git application metadata to application object, for git sync/version control feature there is a need to save the application in the structured format

* Added changelog to index application collection with git branch and remoteurl

* Rehydrate and dehydrate applications among different instances

* Added serailisation purpose while exporting the application to make distinction between version control and regular import-export flow 

* Git file operations moved to appsmith-git module

* Delete json reference from directory for deleted resource in DB

* Added git authentication in application metadata

* Replace String with Path to handle file path in git file structure
2021-09-06 18:18:18 +05:30
Trisha Anand
7526129a3a
feat: Adding APPSMITH_PLUGIN_MAX_RESPONSE_SIZE which can be configured as an environment variable to increase plugin response size (currently only supported for Postgres Plugin) (#7126)
* Adding `APPSMITH_PLUGIN_MAX_RESPONSE_SIZE` which can be configured as an environment variable to increase plugin response size (currently only supported for Postgres Plugin)

* Updated error message + added the environment variable to the template docker env files for new installations
2021-09-05 15:38:36 +00:00
Anagh Hegde
a4434872b0
Classify the Plugin errors to Action and Datasource configuration issues (#7095) 2021-09-04 02:54:23 +05:30
Anagh Hegde
d4ee07ab58
Remove list widget from suggested widget on action execution (#7038) 2021-09-03 11:52:27 +05:30
Trisha Anand
cbf7dc2745
feat: New Mongo UQI Plugin with new datastructures (with old UI) (#6666) 2021-09-02 14:00:18 +00:00
Trisha Anand
f6df16bde4
fix: Json smart substitution breaks when evaluated value contains the character '?' (#7031)
* Minor refactoring

* Partial code change to replace question mark with appsmith placeholder

* Working version

* Removing unnecessary code

* Added test case to assert that when evaluated value contains a "?", the replacements are still correct

* Added test case in Mongo Plugin as well for the same scenario

* Minor change in the language of the comment
2021-09-02 12:30:04 +00:00
Anagh Hegde
078ad25613
feat: Create interface for git service and add all the required classes (#6903)
* Create interface for git service and add all the requireq classes

* Fix name of the service class

* Fix name of the service class as per review
2021-08-27 14:17:35 +05:30
Anagh Hegde
e08c5b83e4
Add errorType to Categorise Debugger Errors (#6413)
* Add errorType to response

* Fix Test Failures

* group the errors

* Add errorType to categorise the issue/error

* remove the helper class

* update changes as per review

* Update the logical groupings of errors

* Fix formatting issues

* Updated the error types

* Update error classification
2021-08-19 19:59:25 +05:30
Nidhi
92f4d878ab
Adding form data for uqi consumption (#6655) 2021-08-17 15:34:45 +05:30
Nidhi
f2cba9a601
Escaped inputs for bson substitution (#6565) 2021-08-13 14:44:51 +05:30
Sumit Kumar
15061765da
Encrypt attributes (#6508)
* encrypt attributes
2021-08-11 11:43:57 +05:30
Trisha Anand
9251312cf1
Adding a max size of approximately 1 MB of data fetched using appsmith (#6491)
* WIP Restrict fetch size

* Adding a cut off of approximately 1 MB of data fetched in postgres plugin

* Code cleanup

* Minor cleanup
2021-08-10 11:02:19 +05:30
Anagh Hegde
cef530e835
Add binding query to the suggested widget to improve the experience (#6016)
* Add binding query to the suggested widget to improve the experience

* Fix test failures

* Add comments and change as per review

* Move the query template to enum class

* Change Test cases as per review

* Remove unused methods from the test class

* Remove commented code

* Use proper attributes in binding query

* Refactor suggestWidget method to support node

* Add unit tests
2021-07-23 14:29:27 +05:30
Abhijeet
9633d1e1c3
Add autogenerate field in datasource structure for each column (#6018)
* Added field to autogenerate values in DB column

* Added comment and refactor

* Autogenerate field update according to names instead of type for ArangoDB
2021-07-23 09:00:32 +05:30
Abhijeet
c5a909ddc8
Google sheet APIs for getting all the spreadsheet, getting all sheets within spreadsheet and column headers (#5875)
* API to run DB query using plugin specified templates

* Included get spreadsheet metadata in get info method

* Added TCs for checking Spreadsheet info response

* Added error message for invalid datasources

* Authentication check for datasource modified to AuthenticationStatus field
2021-07-16 16:15:29 +05:30
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
Anagh Hegde
99a06728d4
Suggest List of possible widgets and add exception handling (#5800)
* Add try catch block to handle the data conversion exception

* Suggest widget only in edit mode

* Add JsonNodeType to the widget suggestion logic

* Use ClassCastException instead of generic exception

* add tests for the array data type

* Suggest list of possible widgets instead of one

* Use constant in if condition to avoid possible NPE
Fix typo
2021-07-14 22:25:13 +05:30
Nidhi
597033e623
Modified error message and code for authentication failure (#5810) 2021-07-14 11:36:25 +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
Anagh Hegde
027603697a
Suggest widget after executing Action (#5574)
* Add widget suggestion to query execution flow

* Change the logic for Chart widget suggestion

* Add tests for the all the suggested widgets

* Added enum class to store widget types
2021-07-06 18:15:48 +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
Abhijeet
6ec6f9578c
API for generating a page with UI based on the structure of a given database table (#5269)
* Keymapping, Clone actions from template application, Used exported application JSON file as template app

* Delete references of widgets from action config if extra widgets not required

* Separate API added when pageId is not present with the client

* Added TCs

* Update in regex, enable reqArgsConstructor, separate DTO for CRUD page
2021-06-24 14:58:57 +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
Abhijeet
51addbc963
Feature/import-export-application (#4553)
* Decryption for dbauth, basic and OAuth datasources added in exported file

* All authentications for datasources included while exporting as deserialization is done through json file otherwise cast is throwing error

* Content-Disposition header implemented 

* MongoEscapedWidget names segregated for published and unpublished layout, to prevent overwrite while exporting

* Published pages and actions explicitly handled in cases where unpublished resources are deleted
2021-06-01 17:38:26 +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
Nidhi
49c489dac0
Assume tokens with expiry have always expired (#4644) 2021-05-24 16:35:32 +05:30
Trisha Anand
d5e5be5d6a
[Feature] Mongo Form (#4378) 2021-05-19 11:05:24 +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
Nidhi
53c2d815f6
Fixes refresh token flow (#4450)
* Fixes refresh token flow

* Review comments

* Reverting mistake with CI cs url
2021-05-12 17:07:59 +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
Nidhi
b2aaa7787c Merge branch 'release' of github.com:appsmithorg/appsmith into task/apply-encryption 2021-05-06 12:55:25 +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
c8b2035eeb Accessibility reset 2021-04-26 18:13:55 +05:30
Nidhi
8afac888c7 Merge branch 'release' of github.com:appsmithorg/appsmith into task/apply-encryption 2021-04-26 13:30:49 +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
Nidhi
6b31aa333b
Introducing Google Sheets Plugin (#3517)
* cherry pick -make new

* revert to enable fix from release

* attempt to hook into existing datasource editor

* gSheets plugin skeleton from Rest API

* Changes for database migration

* fix for auth code

* separate it out

* action page loads!

* add to explorer

* create action from datasource

* Editor JSON WIP

* working query form

* Editor JSON WIP

* import to

* fix toast message

* redirect from datasource and editor pages

* fix onboarding

* fix imports and constants

* refactor form out

* refactor queryForm

* Merge branch 'release' into feature/google-sheets

* Merge branch 'release' into feature/google-sheets

* initial values from settings, editor and form

* Check

* remove dangling code around lightTheme

* Safety net

* remove class

* try mouseover solve

* force click

* changes from review

* fix action form name on import

* Merge branch 'release' into feature/google-sheets

* minor cleanup

* Merge branch 'release' into feature/google-sheets

* WIP

* Google sheets changes

* Merge conflicts

* Merging and fixes, needs refactoring

* Check

* Merge branch 'release' into feature/google-sheets

* Fixed tests

* Add cloud services env variable

* Clean up saga

* Clean up

* Refactoring

* Deleted svg file

* Minor fixes

* Modified design to allow behaviour in google sheets methods (#3486)

* Modified design to allow behaviour in google sheets methods

* Review changes

* Removed sysout

* Added handling of edge cases with table data

* Merge branch 'release' into feature/google-sheets

* Fixes

* Fixes

* Added validations

* Improved tests

* Removed extraneous injected bean

* Review changes

* Fixed bug with method

* Changes to Google sheets plugin's request and response structures (#3692)

* Method changes

* Removed logging

* Renaming options

* Reverting pom version

* Modified type of collection variables, fixed errors

* Converted row offset field to one that supports dynamic bindings

* Review changes

* List SAAS plugin type actions under lightning menu apis (#3820)

* list saas plugin type actions under lightning menu apis

* combine saas plugin type actions in the other sub menu of lightning menu

Co-authored-by: Hetu Nandu <hetunandu@gmail.com>

* Fix merge issues

* Prettified query editor and a few fixes w/ ux

* Test fixes

* Reformatting request

* code for REST added (#3876)


Co-authored-by: hetunandu <hetu@appsmith.com>

* Renamed body to row object

* Renamed placeholder for range

* Renamed range heading

* Modifications to handle range semantics

* Use spreadsheet Url instead of id

* Ordering of methods

* Removed logging

* Add tests for Dynamic text controls

* Add tests for url helpers

* Fix coverage config

* Nevermind

* Interface changes

* There is no body here

* Yay to hints

* Delete row field is separately handled as row index

* placeholder support (#4001)

* Fixed tests, typos and creating new sheets with random rows

* Switched to using 'rowIndex' throughout

* binding path added for query input field (#4016)

* - Fixed QA bugs (#4032)

- Split delete sheet into two
- Removed dynamic query input types from hidden keys

* Proper exceptions

* Removed extra logging

* Throw exception if update method does not match any of the columns

* Same for bulk update

* Zero-indexed delete row

* I'm a space bound rocket ship

* Logic to register installations with cs (#4062)

* Logic to register installations with cs

* Clean up

* Casting to string

* Checking to see if this makes the test pass

* Added an extra null check

Co-authored-by: Piyush <piyush@codeitout.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-04-22 09:00:09 +05:30