Commit Graph

68 Commits

Author SHA1 Message Date
Sumit Kumar
a8dcedac7b
chore: refactor crud page flow to move plugin specific handling to plugin module (#26287) 2023-08-18 16:36:19 +05:30
Sumit Kumar
d7f940ffaa
chore: replace wildcard imports with specific imports (#25723) 2023-07-26 16:31:29 +05:30
Nidhi
fca545a115
ci: Added pre-commit hook to check for Spotless formatting (#25228) 2023-07-10 11:18:52 +05:30
Sumit Kumar
73305d940c
fix: fix Amazon S3 test datasource handling for access denied error (#25128) 2023-07-07 17:10:43 +05:30
Nidhi
d6e74bf012
chore: Applied Spotless formatter (#25173) 2023-07-07 00:43:11 +05:30
Sumit Kumar
98a509227f
fix: fix MySQL stale connection error (#24429)
## Description
- Add changes to address the`StaleConnection` exception caused by MySQL plugin.
- Update MySQL driver version.
- Other refactor changes not related to the main issue: 
  - Explicit empty constructor definition is replaced with Lombok annotation for all error messages class.
  - A base class is created for plugin error messages class to store all common error messages.
  - Fix Indentation.
2023-06-30 11:40:05 +05:30
tkAppsmith
4d18943099
chore: Added loginTimeout datasource param for jdbc connection to reduce tim… (#22922)
## Description

> In this pr, loginTimout param is added to datasourceProperties map of
HikariConfig object so that the ssl peer is verified within the UI
timeout limit
> This fixes the issue:
https://github.com/appsmithorg/appsmith/issues/22035

Fixes #22035

## Type of change
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
> Add a Snowflake DB with wrong account name as provided in the related
issue. Test the datasource, and wait for the error to come up. Error
should show up on UI in ~15 seconds with message that ssl peer identity
validation has failed.

- Manual
- Jest
- Cypress

### Test Plan
> Add a Snowflake DB with wrong account name as provided in the related
issue. Test the datasource, and wait for the error to come up. Error
should show up on UI in ~15 seconds with message that ssl peer identity
validation has failed. A correct account id should be instantly
validated. This is because with the account id provided in the issue,
the error took 60 seconds to occur which now has been reduced to 15
seconds.


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-25 16:28:59 +05:30
Nidhi
2c7798cca6
chore: Refactoring datasource storage consumption to start using the new collection (#23296)
Starts to use the datasource storage collection to store configs moving
forward. WIP

---------

Co-authored-by: Manish Kumar <107841575+sondermanish@users.noreply.github.com>
2023-05-23 19:27:53 +05:30
albinAppsmith
629999f124
feat: [epic] appsmith design system version 2 deduplication (#22030)
## Description

### Fixes
- [x] https://github.com/appsmithorg/appsmith/issues/19383
- [x] https://github.com/appsmithorg/appsmith/issues/19384
- [x] https://github.com/appsmithorg/appsmith/issues/19385
- [x] https://github.com/appsmithorg/appsmith/issues/19386
- [x] https://github.com/appsmithorg/appsmith/issues/19387
- [x] https://github.com/appsmithorg/appsmith/issues/19388
- [x] https://github.com/appsmithorg/appsmith/issues/19389
- [x] https://github.com/appsmithorg/appsmith/issues/19390
- [x] https://github.com/appsmithorg/appsmith/issues/19391
- [x] https://github.com/appsmithorg/appsmith/issues/19392
- [x] https://github.com/appsmithorg/appsmith/issues/19393
- [x] https://github.com/appsmithorg/appsmith/issues/19394
- [x] https://github.com/appsmithorg/appsmith/issues/19395
- [x] https://github.com/appsmithorg/appsmith/issues/19396
- [x] https://github.com/appsmithorg/appsmith/issues/19397
- [x] https://github.com/appsmithorg/appsmith/issues/19398
- [x] https://github.com/appsmithorg/appsmith/issues/19399
- [x] https://github.com/appsmithorg/appsmith/issues/19400
- [x] https://github.com/appsmithorg/appsmith/issues/19401
- [x] https://github.com/appsmithorg/appsmith/issues/19402
- [x] https://github.com/appsmithorg/appsmith/issues/19403
- [x] https://github.com/appsmithorg/appsmith/issues/19404
- [x] https://github.com/appsmithorg/appsmith/issues/19405
- [x] https://github.com/appsmithorg/appsmith/issues/19406
- [x] https://github.com/appsmithorg/appsmith/issues/19407
- [x] https://github.com/appsmithorg/appsmith/issues/19408
- [x] https://github.com/appsmithorg/appsmith/issues/19409

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: akash-codemonk <67054171+akash-codemonk@users.noreply.github.com>
Co-authored-by: Tanvi Bhakta <tanvi@appsmith.com>
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Rohit Agarwal <rohit_agarwal@live.in>
Co-authored-by: Nilesh Sarupriya <nilesh@appsmith.com>
Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: Vijetha-Kaja <vijetha@appsmith.com>
Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
Co-authored-by: Apple <nandan@thinkify.io>
Co-authored-by: Saroj <43822041+sarojsarab@users.noreply.github.com>
Co-authored-by: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Aishwarya-U-R <91450662+Aishwarya-U-R@users.noreply.github.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: Preet Sidhu <preetsidhu.bits@gmail.com>
Co-authored-by: Vijetha-Kaja <119562824+Vijetha-Kaja@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2023-05-20 00:07:06 +05:30
Shrikant Sharat Kandula
4280ded88e
chore: Fix unnecessary re-shading of jars (#21994)
Solves a single thing in the build configurations, resulting in a few
wins.

1. Reduced number of warnings in the output.
   1. In release branch:
      ```
mvn clean package -DskipTests | grep --fixed-strings --count '[WARNING]'
      3233
      ```
   1. In this PR's branch:
      ```
mvn clean package -DskipTests | grep --fixed-strings --count '[WARNING]'
      172
      ```

2. All uber-jar files are shaded twice, currently. Once with the default
execution of `maven-shade-plugin`, and again with the `shade-plugin-jar`
execution in these `pom.xml` files. This is double-work, and is the
cause of most of the warnings we see.
1. This `shade-plugin-jar` was added to have the plugin information
included in the `/META-INF/MANIFEST.MF` file, since we can't configure
the default execution of the shade plugin (it comes to us from Spring
Boot).
2. Instead, we switch to configuring plugin information in a
`/plugin.properties` file.
3. Previously, we used `/plugin.properities` for plugin information in
dev time, and `/META-INF/MANIFEST.MF` in production. This PR will change
it so that we use `/plugin.properties` all the time. We configure PF4J
with a custom plugin manager to achieve this.

3. Moved all `plugin.properties` into `src/main/resources`, so that they
land up in the root of the final jar files. But this means, during
development, loading the plugin fails since it looks for a
`plugin.properties` at the root of the plugin module, i.e., next to the
`src` folder.
1. For this, in the custom plugin manager class, we change where we look
for the `plugin.properties` file during development mode. In this mode,
we look at the `target/classes/plugin.properties` file, which is where
maven saves this file, taken from
`src/main/resources/plugin.properties`.
2. This also solves the duplication of the plugin properties that's
currently present, between `plugin.properties` and the `<properties>`
section of `pom.xml` files.


Here's the shade plugin's default execution and configuration, from
Spring Boot:
https://github.com/spring-projects/spring-boot/blob/v3.0.1/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle#L174.
2023-04-03 17:49:21 +05:30
Manish Kumar
60626a14cf
fix: Ensure backward compatibility w.r.t. statusCode and response.body in case of errors (#21052)
## Description
Since we have introduced the error handling framework, each plugin
produces error messages specific to the plugin execution exception. This
Pr is just about standardising these error messages.
In this PR we are handling only five plugins as mentioned:
- Rest API
- MongoDB
- Postgres
- MySql
- Google Sheets

> Modifying error messages for five plugins Rest API, Mongo, Postgres,
MySQL, and Google Sheets for improving consistency.

In addition it also takes care of the following issues
- If the downstream error message is available response.body will hold
that value and it will hold the appsmith error message otherwise
- Don't override the actual http status code with Appsmith error code in
case of RestAPI and GraphQL plugins

Fixes #20438 #21022

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
- Manual


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag

---------

Co-authored-by: subrata <subrata@appsmith.com>
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
2023-03-03 21:18:01 +07:00
ChandanBalajiBP
b72dea33f3
feat: Error handling phase 1 (#20629)
## Description
This PR updates the error logs 
- Establishing a consistent format for all error messages.
- Revising error titles and details for improved understanding.
- Compiling internal documentation of all error categories,
subcategories, and error descriptions.

Updated Error Interface:
https://www.notion.so/appsmith/Error-Interface-for-Plugin-Execution-Error-7b3f5323ba4c40bfad281ae717ccf79b

PRD:
https://www.notion.so/appsmith/PRD-Error-Handling-Framework-4ac9747057fd4105a9d52cb8b42f4452?pvs=4#008e9c79ff3c484abf0250a5416cf052

>TL;DR 

Fixes # 


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual
- Jest
- Cypress

### Test Plan


### Issues raised during DP testing


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: subrata <subrata@appsmith.com>
2023-02-18 18:25:46 +05:30
PiyushPushkar02
8be64ff1f6
fix: S3 Connection IllegalStateException Handling (#19872)
## Description

- The PR adds illegal state exception handling for S3 connection
- A JUnit test case has been added for the same.

**Note : We were not able to recreate the original issue. The pr
contains changes for handling the issue if it comes**

Fixes #15620

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Manual
- JUnit TC Added

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-20 15:39:28 +05:30
Nidhi
dfccd5a058
chore: Upgrade to Spring Boot 3.0.1 (#19044)
This upgrade takes care of our move to JDK 17, Spring Boot 3.0.1 and a
few other security upgrades along the way.

Fixes #18993 

TODO:

- [x] Check CI changes for Java 17
- [x] Check vulnerability report
- [x] Mongock needs an upgrade
- [x] Add JVM args at all possible places for exposing java.time module
- [x] Add type adapters everywhere / use the same config for type
adapters everywhere
2023-01-02 19:40:59 +07:00
Nidhi
5329010415
fix: Refactor entities based on AST parsing logic (#18517)
* feat: Refactor entities based on AST parsing logic

* Deleted jmh file

* rts updates for the edge cases

* adding jest test cases

* update review comments

* Fixed issue with references outside of bindings and some other stuff

* Added tests for DSLUtils

* bug fix 18699

* Test fixes

* Test fixes

* Review comments

* Changed type to boxed

Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
2022-12-12 08:12:21 +03:00
subratadeypappu
19e2e5785e
Fix/16994 refactor common datatype handling (#17429)
* fix:Add array datatype to execute request

* feat: Consume and store type of array elements in Param class (#16994)

* Append param instead of clientDataType in varargs (#16994)

* Refactor common data type handling w.r.t newer structure (#16994)

This commit takes care of the following items:
- It minimizes the number of usage to the older stringToKnownDataTypeConverter method
- Modifies the existing test cases to conform to the newer structure
- Marks stringToKnownDataTypeConverter method as deprecated to discourage further use

* Remove comma delimited numbers from valid test cases (#16994)

* Fix extracting clientDataType from varargs in MySQL (#16994)

* Pass param as a dedicated parameter in json smart replacement (#16994)

* Remove varargs from json smart replacement method (#16994)

* Move BsonType to mongoplugin module (#16994)

* Introduce NullArrayType and refactor BsonType test cases (#16994)

* Add new test cases on numeric string with leading zero (#16994)

* Refactor test case name (#16994)

* Add comment on the ordering of Json and Bson types (#16994)

* Add comment on the ordering of Json and Bson types (#16994)

* Add NullArrayType in Postgres and introduce postgres-specific types (#16994)

* Add data type test cases for Postgres and change as per review comments (#16994)

Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
2022-10-18 11:02:37 +05:30
Nidhi
c3e935ef40
fix: Remove datasource connection from cache when datasource is deleted (#17364)
* Changes to testDatasource interface method and archive flow

* Tests for plugin level testDatasource implementations

* Added test for refreshing cache on deleting datasource

* Modified warnings to errors in logs

* Fixed test

* Fixed test
2022-10-17 10:31:26 +05:30
Aman Agarwal
78c89894f8
fix: updated settings page design (#16990)
fix: updated settings page design
2022-10-06 16:36:29 +05:30
Nidhi
66f3dfe790
chore: Move to Jupiter JUnit5 (#17083)
* Upgrading to Jupiter tests for everything but plugins

* Whoops, too soon

* Fixed failing tests

* Imports fixed

* Removed PowerMock dep and JUnit4 from interfaces

* Woohoo! That's testcontainers

* Added maven enforcer to disallow junit4

* Update app/server/appsmith-server/src/test/java/com/appsmith/server/services/GitServiceTest.java

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

* Update app/server/appsmith-server/src/test/java/com/appsmith/server/services/UserWorkspaceServiceTest.java

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

* Update app/server/appsmith-server/src/test/java/com/appsmith/server/services/ce/ActionServiceCE_Test.java

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

* Update app/server/appsmith-server/src/test/java/com/appsmith/server/solutions/CreateDBTablePageSolutionTests.java

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

* Weird formatting and version upgrades

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-09-29 08:54:07 +05:30
subratadeypappu
e791d7f0d9
fix: Class cast exception during file upload in S3 bucket (#15832) (#16746) 2022-09-16 21:14:27 +06:00
Manish Kumar
fcfc3d97dc
feat: Making the error messages in amazon s3 plugin informative (#15861)
* feat: make AmazonS3 plugin error messages more readable. #8664

* added curly braces in if/else block

* modified according to PR review comments

* modified according to PR review comments

* This commit introduces readable errors for S3 Datasource: https://github.com/appsmithorg/appsmith/issues/8554
It changes three files:
	*AmazonS3ErrorUtils.java
	*AmazonS3PluginTest.java
	*AmazonS3ErrorUtilsTest.java

This commit has been tested:
	*manual testing
	*Junit testing

* This feature-commit introduces readable errors for S3 Datasource: https://github.com/appsmithorg/appsmith/issues/8554
It changes three files:
	*AmazonS3ErrorUtils.java
	*AmazonS3PluginTest.java
	*AmazonS3ErrorUtilsTest.java

This commit has been tested:
	*manual testing
	*Junit testing

* added new line in the AmazonS3ErrorUtilsTest.java

* * Ommited unused imports in following files:
	* AmazonS3ErrorUtils.java
	* AmazonS3PluginTest.java
	* AmazonS3ErrorUtilsTest.java

* Moved test functions
* combined instance checking for AmazonServiceException and its subclass

* removed unused imports from AmaxonS3UtilsTest.Java

Co-authored-by: somna <somnathdasadhikari@gmail.com>
2022-08-15 10:48:20 +05:30
Ayangade Adeoluwa
1ecffb8272
fix: Modify Form Control Inputs for various Datasource Actions (#15396)
* Modify control type for MongoDB Collection field

* Make more form control changes across datasources

* Fix cypress errors

* Fix typescript error

* Fix more cypress tests

* Fix failing MongoDBShoppingCart spec

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-08-09 13:05:59 +00:00
Nidhi
6df4dafead
chore: Better server logging infra (#15440)
* Fixed a bunch of server side logging issues

* Tests

* Added ISO8601 timestamp to log format
2022-07-28 09:40:03 +05:30
Nidhi
ff58dad704
fix: Switched Google Sheets JSON to local directory (#14971)
* fix: Switched Google Sheets JSON to local directory

* fix: Fixed placeholder text for insert row object

* fix: Enabled server side caching of plugin resources again
2022-07-04 22:02:54 +05:30
Nidhi
906a7298dc
feat: Simplified Google Sheets queries (#14869)
* Client changes 1

* add DSL functionality

* Temp commit for refactoring changes

* Do I even know what I'm doing here?

* chore: Second GS layout

* Update: Visibility conditional outputs for schemas

- Added the output from conditional outputs for schema children too

* Update: Entity selector visibility control

- Added logic for controlling visibility of sub components via the JS expressions system

* Update: Passing disabled prop to toggle button

* Update: Passing disabled prop to toggle btn

* Update: Styled component for toggle button

- Added disabled styles based on the disabled prop sent to the toggle form view JSON button

* Update: configProperty role in Entity Selector

- Removed dependance of the configProperty of the entity selector children to it's parent component

* Update: type of placeholder key

- Made placeholder key from form config JSON to accept either string or an object
- Earlier only string was accepted
- This is for pagination component

* Update: Added placeholder control for pagination

* Client changes 1

* add DSL functionality

* Do I even know what I'm doing here?

* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design

* fix: updated tooltip component for wrong ui on entity explore

* temp triggers

* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design (#12395)

* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design

* fix: updated tooltip component for wrong ui on entity explore

* fix: updated tooltip ui, where condition placement, sort by ui

* temp form data access logic

* fix: updated sorting type width ui

* fix: updated ui for spacing, width and text issues

* Update: Type for tooltip of UQI forms

- Added option to send an object to the tooltipText object.
- This allows for composite components like pagination to have tooltips for each sub component

* Update: tooltip for pagination component

- Added handling to parse the tooltip for multiple components.
- This allows for composite components like pagination to have tooltips for each sub component

* Update: Type cast for tooltip component

- Made the content passed to tooltip component as a string only

* Update: Fixed tooltip component CSS

* Update: Dropdown option component

- Added a tooltip wrapper to each option
- This is to show on hover text like disabled state

* fix: updated ẇhere clause broken ui for condition

* Add: functions to check and extract expressions

- Loop through the formConfig and find any keys that have a value that is bindable
- Used pre defined regex to check if value is a moustache binding

* Add: Types for evaluated form configs

- Added types for the form configs to be evaluated and their output post eval

* Add: Flow to run the form config

- Run the form config and update the result to the redux state

* Update: Name of the type for formconfigs

- Updated since it was clashing with a component of the same name

* Add: Function to enforce config type checks

- This is done so that the improper configs can be weeded out and the rest of the form can be shown

* Add: Function to update evaluated config

- Added option to update the config if it's values needed evaluation

* Add: Type check for schema sections

* Update: Error handling for invalid control type

- We were throwing an exception till now, changed it to a warning text

* Add: Exposed tooltip for dropdown option disabled state

* Update: switch to json mode functionality

- Added logic to convert data to a string rather than an object when the first switch to JSON mode happens

* Update: Added key to tooltip for dropdown options

* Trigger API modification

* Add: function to fetch default trigger URL

* Update: Made URL optional in dynamic trigger config

* Update: Dynamic trigger API call

- Made the API call for dynamic triggers have URL as optional field
- Added type check to the response of the API call

* Update: resp type for trigger APIs

* Update: Moved code to utils folder

- Moved functions for UQI form eval processing to utils file

* Update: passing original controltype to JS switch

* Update: config for JSON editor mode

- Updated the config to have different options for JSON mode depending on the original control type

* Update: Connected line numbers flag to config

* Revert: CSS changes for tooltip

* Refactor: Removed consle

* Add: type for the config of dynamic values

* Add: Feature to evaluate config for triggers

* Refactor: fix type check errors

* fix: dropdown ui width with text alignment

* Update: fixed selector for dynamic values

* Update: selector call for fetchDynamicValues

* Add table header index prop for columns selector

* migration partial commit

* migration partial commit

* Refactor: removed unused import

* Update: reused function for checking dynamic value

* Update: removed unused import

* Fix format JSON issues

* Retrieve binding paths from entity selector components

* Fixes 6 remaining issues with UQI implementation

* Fix dropdown issues

* Fix dropdown height issues and fixes triggering of APIs when option is deselected

* Migration changes

* Fix QA generated UQI issues

* Fix projection component height and route change logic

* Fix multi select dropdown placeholder text issue and json stringify issue with switching view types

* Reset entity type value when command value changes

* Test changes

* Review comments

* Moved migrations around

* Corrected import statement

* Added JSON schema migration

* Updated schema version

* perf improvements and filter dropdown options feature

* Fix Code mirror component config for toggleComponentToJson input fields.

* Fix prettier issues

* fix prettier issues

* Fix style issues as a result of the merged conflicts

* Fix failing test case

* Fixed a few other flows (#14225)

* Fixed a few other flows

* Review comments

* Fix generate CRUD, fix evaluation of dynamic bindings and fix various styling issues.

* More fixes (#14367)

* Factor in the root formconfig parent key.

* Fix flickering issues, and evaluatedFormConfig issues

* fix: Teeny bugs (#14455)

* Teeny bugs

* Added previous functionality as is

* Improvements in the way we fetch dynamic values

* Fix stringiification issue and cyclic dependency issues

* Resolve projection component values deletion

* Resolve merge conflicts and fix prettier issues

* fix: Tsc issues

* Fix property pane connection navigation

* updating ee locator

* updating inputfield locator

* dropdown locator update

* Merge conflict not properly resolved.

* Fix s3 spec

* Fix Mongo Spec

* Fix some more tests

* fix: prevent cyclic dependency when switching to js mode (#14668)

* add delete events for change from array to string in diff

* add test to assert absence of cyclic dependency error when switching to js in switchgroup widget

* Assert that evaluation is not disabled when no cyclic dependency happens

* Cypress test preparations for google sheets and form controls

* Fixed a few test errors (#14874)

* Add: unit tests for uqi UI updates

- view type tests
- conditional output extraction
- processing conditional output to handle view/enabled state of the component

* Add: completed isValidFormConfig test

* Update: improved tests for update config

- These tests cover the functionality to update a section config after it's components are done evaluating

* Fix failing cypress tests and cyclic dependency issue

* Fixes some more tests

* Fixed migration of row objects (#14896)

* Bumped the version of design system package

* Update: reverted change to EE selector

* Fix deletion pointer

* Update: selector for js on load spec

- Synced with changes related to ADS dropdown

* Fix mongoDBShoppingCart spec

* Remove comments

* Fix: mongo shopping cart test failures

* fix: mongo shopping cart spec

* Dummy push to retrigger vercel

* fix: mongo shopping cart spec

* Update MongoDBShoppingCart_spec.js

* fix: removed unused click away

* dummy commit

* Update: moved helper functions to separate file

* Add: added tests for saga functions

- Worked on testing for
   - extractFetchDynamicValueFormConfigs
   - extractQueueOfValuesToBeFetched

* Add if check for queueOfValuesToBeFetched

* Resolve review comments

* Empty-Commit

Co-authored-by: Irongade <adeoluayangade@yahoo.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>
Co-authored-by: Albin <albin@appsmith.com>
2022-07-04 11:13:27 +05:30
Aman Agarwal
4f4d1400c5
fix: updated the condition to show expiry key (#13092) 2022-04-20 11:32:01 +05:30
Sumit Kumar
f201ec7bcd
fix: make region a non-mandatory field (#12510)
* Currently S3 plugin datasource requires the region field to be non-empty for it to work (when configured with other as the datasource type from dropdown). However, this field is not required for many S3 offerings. Hence, making it non-mandatory.
2022-04-04 13:06:58 +05:30
rashmi rai
bfd96334af
fix: where clause improvements (#11748) 2022-03-27 19:10:48 +05:30
Sumit Kumar
40f4e3c755
fix: S3 plugin: provide support for MinIO (#11766)
* update option label

* add minIO as a separate datasource option
add datasource connection changes to support minIO without SSL and when using CA signed certificates

* fix cypress tests
2022-03-24 18:28:00 +05:30
Sumit Kumar
027161e033
fix smart substitution setting toggle fetch method and path. (#12181)
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-03-24 17:55:32 +05:30
Nidhi
1ca9fd803a
fix: S3 formData path for bucket name (#12049) 2022-03-22 12:56:42 +01:00
Nidhi
c97b7e31e7
chore: Migrations to enable JSON and form mode (#11534)
* feat: added new component to perform generic json raw toggle functionality

* chore: Migration to convert formData references

* fix: Redid migration for per plugin changes, fixed consumption

* fix: Added JSON migration for git import

* Added JSON migration as well

* Reverted client side changes

* fix: Modified plugin config aggregation logic

* Merge conflict fixes

* different paths for different commands

* Whoopsie

* Modified usage to different paths

* Reverting env change

* Config changes to show json mode

* Test fixes

* Migrated body,path,next,prev

* Cypress test fixes

* Modified dynamic binding replacement

* Changed view type

* Reverted json form mode display

* Modified structure of JSON mmigrations

Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-03-21 11:22:14 +05:30
Nidhi
8b1638aba6
chore: Modified plugin config aggregation logic (#11561)
* fix: Modified plugin config aggregation logic

* Modified logs a bit

* Reverted incorrect path from another branch
2022-03-03 19:26:55 +05:30
Mojtaba
29be75e0e9
feat: add smart substitution handling for known MongoDB types (#11135)
* shelf: start working on substitution for `ISODate`

* a draft for Sumit to check what I did wrong in my tests

* test: tests are working

* test: cleanup

* refactor: add replacementDataType parameter to DataTypeStringUtils.jsonSmartReplacementPlaceholderWithValue

* fix: remove quotes for Mongo Types work in single form, arrays and json.

* add handling for more use cases
add/update more TCs

* add comments

* add more comments

* add space (cosmetic change)

Co-authored-by: Sumit Kumar <sumit@appsmith.com>
2022-03-02 22:33:50 +05:30
Sumit Kumar
d208792786
fix: S3 plugin: remove Expiry Duration config from Read file query
* This PR removes the Expiry Duration field from the Read file command of S3 plugin.
* An Expiry Duration field got added to Read file command mistakenly some time post migration to UQI schema. This field did not exist with the read command before the migration and does not get used even now.
2022-02-15 12:24:48 +05:30
Sumit Kumar
d03f503657 add new command: delete multiple files
add template for delete multiple files
add template for create multiple files
add / update TCs
2022-02-14 10:18:01 +05:30
Sumit Kumar
004bd89e7a fix read.json 2022-02-14 07:07:10 +05:30
Sumit Kumar
6f83df976d
feat: add sorting and pagination features to S3 plugin (#10736)
* add sorting and pagination features to S3 plugin
2022-02-03 06:15:01 +00:00
Sumit Kumar
18edb18b20
fix: implement getStructure method for S3 plugin (#8919)
* Add `getStructure` implementation for S3 to return a list of accessible buckets.
* Add command templates for S3.
  - List files
  - Read file
  - Create file
  - Delete file
* Remove getDatasourceMetadata implementation as getStructure method can be directly used now.
2022-01-13 11:33:50 +05:30
Sumit Kumar
4b75f77caa
feat: add support for projection, sort and pagination. (#9712)
* Add API server support for UQI's Projection, Sorting and Pagination feature.
2021-12-23 14:16:49 +00:00
Sumit Kumar
c858edf726
fix Mongo smart substitution for quotes around ObjectId (#9856)
- fix Mongo plugin's smart substitution feature to handle quotes around ObjectId in array. e.g. Initial replacement value: ["ObjectId(xyz)"] , final replacement value: [ObjectId(xyz)]
- unrelated: added version number to lombok dependency to stop build failures in IntelliJ.
2021-12-21 18:47:19 +05:30
Nidhi
d3a100e02f
feat: Added action to upload multiple files in S3 (#9337)
* feat: Added action to upload multiple files in S3

* Added test case for multiple file uploads

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2021-12-10 10:43:12 +00:00
Nidhi
bdc6a342e6
fix: Modified multipart logic to avoid exception handling (#9246)
* Modified multipart logic to avoid exception handling

* Error handling for unknown type
2021-11-19 13:20:51 +05:30
Trisha Anand
81d5cffc44
feat: UQI where clause support (#9051)
* Added parsing of where condition to Condition format

* Refactoring the name of functions to denote old style before implementing UQI where clause

* Updated the error message for data type problem for mixed data tyeps

* Generating complex logical expression.

* Working version of filtering happening without refactoring of code

* Added where clause configuration in List files in a bucket command.
Not able to render due to some configuration issue.

* Untested code completion

* To be reverted. Ayush's changes.

* Tested where condition on S3 List

* Made AND the default option for where clause

* where clause working in case of no valid inputs provided.

* Added parallel test cases as that were existing for the old where clause

* Revert "To be reverted. Ayush's changes."

This reverts commit a0f9b72e241f0688b7ef07cea8c3017473423512.

* Making equality the default option in a new where clause for LIST command

* Added test cases incorporating the review comments.

* Updated the options for the where command in S3 plugin. Removed the comparison operators except equality, non equality and belonging (in and not in) operators.

* Added catching of exception while parsing the operator into known appsmith condition types

* Reusing objectmapper from BasePlugin instead of creating a new one here.
2021-11-18 15:45:43 +05:30
Nidhi
93de065fa8
feat: Added Smart substitution support for S3 (#9124)
* Test case

* Dummy commit for tests to pass

* Removed logic for double escapes

* Renamed from BSON to JSON
2021-11-15 10:57:41 +05:30
Nidhi
54cc5b8ff4
fix: Add support for content type in create file for S3 plugin (#9021) 2021-11-10 07:44:36 +05:30
Sumit Kumar
3c8583210f
feat: remove region requirement from s3 plugin (#8829)
* Remove Region field from S3 datasource editor page for AWS S3, Upcloud, Digital Ocean Spaces, Dream Objects, Wasabi.
  * Use SDK provided property for AWS S3 to delegate region selection to the SDK.
  * Extract region info from endpoint URL for Upcloud, Digital Ocean Spaces, Dream Objects and Wasabi, since the SDK property does not work for these service providers.
* Removed some redundant checks from datasourceCreate that were already part of validateDatasource
* Fix show clause in list.json
2021-11-03 16:23:53 +05:30
Trisha Anand
b57e0c245d
fix: Get buckets in S3 plugin during generate CRUD page (#8781)
* Fix: Generate page fix for S3 plugin

* Fixed the replacement of template variables in form data failure for S3
2021-10-25 22:38:22 +05:30
Trisha Anand
0300fa9486
feat: Migrating S3 plugin to UQI framework (#8575) 2021-10-25 11:19:22 +05:30
Sumit Kumar
0f83f79840
- Set Generate un-signed url default option to true. (#7776)
* Set the default setting for permanent / un-signed url for S3 list action to true.
2021-09-24 11:07:29 +05:30