Commit Graph

541 Commits

Author SHA1 Message Date
Sumit Kumar
d9321d1134
fix: move static JSON parsers to local variables (#26889) 2023-09-07 12:00:25 +05:30
Shrikant Sharat Kandula
e26d7ec8b3
chore(deps): Update pf4j to v3.10.0 (#27044)
This includes fixes for the following High-severity Dependabot alerts:

1. https://github.com/appsmithorg/appsmith/security/dependabot/256
2. https://github.com/appsmithorg/appsmith/security/dependabot/257
3. https://github.com/appsmithorg/appsmith/security/dependabot/258
4. https://github.com/appsmithorg/appsmith/security/dependabot/259
5. https://github.com/appsmithorg/appsmith/security/dependabot/260
6. https://github.com/appsmithorg/appsmith/security/dependabot/261
2023-09-07 08:48:45 +05:30
sneha122
778dd53f45
feat: schema preview API extended for movies mock DB (#26962)
## Description

This PR extends `/schema-preview` API for movies mock mongo DB. For this
experiment we will need to show schema along with preview of movies
mongo DB on the review page. This feature is currently implemented only
for mock mongo DB, if the experiment turns out to be a success, this
will be further extended for non mock mongo datasources as well.

More info on Activation experiments can be found
[here](https://www.notion.so/appsmith/User-Activation-Experiments-cecdd8af23ac4286968096da4a4fdc99)

#### PR fixes following issue(s)
Fixes #26936
> 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
- New feature (non-breaking change which adds functionality)
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [ ] JUnit
- [ ] 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
- [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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2023-09-06 14:02:24 +05:30
Sumit Kumar
770524c372
chore: Add Junit test cases for MySQL SSH tunnel feature (#26829) 2023-09-01 15:42:39 +05:30
Sumit Kumar
b115a7d96a
feat: MySQL SSH tunnel (#26632) 2023-08-30 19:23:33 +05:30
Ayangade Adeoluwa
7dcff0d774
feat: Add isSuggested value to templates for all plugins (#26623)
This PR adds an isSuggested value to templates for all plugins that
support DatasourceStructure
2023-08-30 11:49:25 +01:00
Sumit Kumar
3173dd4e00
feat: add basic data structures for MySQL SSH tunnel (#26349) 2023-08-25 15:28:16 +05:30
sneha122
5b609e0e8f
feat: Added new api to fetch preview data (#26298) 2023-08-22 17:32:01 +05:30
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
Nayan
1ea441d8e3
chore: Add analytics events to log execution time for the light weight git status API (#26406)
## Description
Adds unit execution time events for git status without fetch and git
fetch from remote APIs.

#### PR fixes following issue(s)
Fixes #26405
2023-08-17 17:05:37 +06:00
Manish Kumar
bd434e92ef
chore: cleanup Pr for multiple-environment (#25064)
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
Co-authored-by: Ayush Pahwa <ayushpahwa96@gmail.com>
2023-08-16 12:13:47 +05:30
Favour Ohanekwu
b7ca44b252
feat: Remove async/sync differentiation from Appsmith (#25399)
## Description

This PR removes the differentiation between async and sync js functions
in Appsmith

- All JS functions can run on page load 
- All JS functions can request confirmation before executing

#### PR fixes following issue(s)
Fixes #25176 
Fixes #25065
Fixes #15560
Fixes #15273 
Fixes #12639
Fixes #14229 
Fixes #13888

### Latest DP

https://ce-25399.dp.appsmith.com/

### Performance

<img width="748" alt="Screenshot 2023-08-04 at 11 05 50"
src="https://github.com/appsmithorg/appsmith/assets/46670083/580b2091-7ee7-4845-b7bf-ca76bc3e6c1f">



#### 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
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [ ] Jest
- [x] Cypress
>
>
#### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2455
>
>
#### 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [x] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [x] Test plan has been peer reviewed by project stakeholders and other
QA members
- [x] Manually tested functionality on DP
- [x] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

---------

Co-authored-by: Nidhi <nidhi@appsmith.com>
2023-08-05 06:38:53 +01:00
Nayan
db1c317599
feat: Create lightweight status api (#25857)
## Description
This PR brings those changes:
1. Creates a new API to know whether there are any uncommitted changes
or not
2. Creates a new API to compare the local branch with remote
3. Adds an optional parameter to the status API so that we can skip the
git fetch

#### PR fixes following issue(s)
Fixes #24340
2023-08-03 18:44:40 +05:30
Shrikant Sharat Kandula
a7fddb1c79
fix: Update dependencies to bring fixes for CVEs (#25943)
1. CVE-2023-3635 at
https://github.com/appsmithorg/appsmith/security/dependabot/251.
2. CVE-2023-2976 at
https://github.com/appsmithorg/appsmith/security/dependabot/235.
2023-08-02 18:42:45 +05:30
Anagh Hegde
fdb45c8e66
fix: File lock issue git (#25504)
## Description


#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/24854

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

## Testing
>
#### How Has This Been Tested?
- [ ] Manual

#### Test Plan

#### 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-07-27 15:54:34 +05:30
Sumit Kumar
d7f940ffaa
chore: replace wildcard imports with specific imports (#25723) 2023-07-26 16:31:29 +05:30
tkAppsmith
97de8bf07f
fix: retained refresh token when auth token refresh request is executed (#25550)
## Description
> Retained refresh token from initial setup as refresh token is not
returned usually in OAuth2 refresh token flow.
#### PR fixes following issue(s)
Fixes #24767
#### Type of change
- Bug fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Create authenticated rest api datasource and let its token expire or
edit token expiry time under datasourcConfiguration field somewhere.
Then execute an api call and the call should return successfully.
## 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
- [ ] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-07-25 18:01:49 +05:30
Ayangade Adeoluwa
0dcef48dc8
feat: activation phase 1 (#25126)
Feature implementations:
- Schema in the Api Right Side Pane; 
- New Bindings UI, which is now a suggested widget; 
- Feature walkthrough for the aforementioned two units only if you are a new user.
Only those users who have the flags `ab_ds_binding_enabled` and `ab_ds_schema_enabled` independently set to true can see the implementation described above.
https://www.notion.so/appsmith/Activation-60c64894f42d4cdcb92220c1dbc73802
2023-07-12 12:12:16 +05:30
Nidhi
d6e74bf012
chore: Applied Spotless formatter (#25173) 2023-07-07 00:43:11 +05:30
subratadeypappu
a480d4ff2e
feat: Store originalActionId as part of Action DTO for copied action (#25011)
## Description
To measure the impact of query modules in Appsmith. We need to track the
time a user takes to edit a copied query. Today, we do not have a
mechanism to understand if a query in question is a copied query. To fix
this, the data model of the Query action needs to change to include the
`originalQueryId` if a query is, in fact, a copied query.

- [ ] When a query is first copied, there will be no `originalActionId`
in the action object. In this scenario, the client will populate the
`originalActionId` field and call the POST API to create the copied
query.

- [ ] If the query is already a copied query, the client will duplicate
the value of the `originalActionId` when calling the POST API to create
the copied query.

|POST|`/api/v1/actions`|
----------|------|

### [Related discussion on

Notion](https://www.notion.so/appsmith/Backend-dependency-for-modules-instrumentation-889462d461844745be0a2599c8555ca5)

#### PR fixes following issue(s)
Fixes #24734 

#### 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
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [x] JUnit
- [ ] 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
- [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
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

> Pull Request Template
>
> Use this template to quickly create a well written pull request.
Delete all quotes before creating the pull request.
>
## Description
> Add a TL;DR when description is extra long (helps content team)
>
> Please include a summary of the changes and which issue has been
fixed. Please also include relevant motivation
> and context. List any dependencies that are required for this change
>
> Links to Notion, Figma or any other documents that might be relevant
to the PR
>
>
#### PR fixes following issue(s)
Fixes # (issue number)
> 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
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

---------

Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2023-07-04 13:42:09 +06:00
Sumit Kumar
18fbb0ebc7
fix: Mongo plugin: fix test datasource with URI (#24894) 2023-07-04 11:07:43 +05:30
Anagh Hegde
578b82080f
feat: granular widgets for canvas (#24764)
## Description
Today if we have more than one collaborator on a page, merging is an
absolute nightmare. All of the widget config for a page is represented
in one single giant JSON blob in canvas.json this makes it very hard to
make isolated changes.

This PR is breaking down the git representation into smaller JSON files
that are aggregated by the running app.

Fixes https://github.com/appsmithorg/appsmith/issues/17033

#### Type of change
- New feature (non-breaking change which adds functionality)

## Testing
#### How Has This Been Tested?
- [ ] Manual
- [ ] Jest
- [ ] Cypress
- [ ] JUnit

#### Test Plan
#### Issues raised during DP testing
## 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

---------

Co-authored-by: brayn003 <rudra@appsmith.com>
Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
2023-07-03 20:43:04 +05:30
Manish Kumar
70df93a37c
feat: updating datasource endpoints contract (#23920) 2023-07-03 18:36:05 +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
Nayan
d815fc7cc9
chore: Import action and action collection in bulk during file import (#24603)
## Description
When we import an application from file for Git, file import, templates
and other features, we import the list of actions one by one. This leads
to transaction timeout and other performance issues when the application
has a large number of actions and action collections. This PR imports
the actions and action collections in bulk so that number of database
queries are significantly reduced.

#### PR fixes following issue(s)
Fixes #24419
2023-06-28 18:48:28 +06:00
Nidhi
895ef52701
chore: Removed spring security and redis traces (#24758)
## Description
Adds a filter for http endpoints that are recorded in our traces. We
have discarded the actuator endpoints since we don't care about their
metrics.

We have also filtered spans to only contain the ones that we have
manually declared across the project. All spans need to use the
`appsmith.` prefix to pass through this filter. This change discards
spring security and redis spans as of today.

Fixes #24757

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
>
## Testing
>
#### How Has This Been Tested?
- [x] Manual
>
>
## 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
2023-06-27 11:19:28 +05:30
Nayan
9e37b8b194
fix: Reconnect failure error after fork application (#24683)
## Description
After forking an application, the reconnect modal appears. In the
reconnect modal, it's not possible to reauthorize the google sheets
plugin. This PR fixes the problem.

#### PR fixes following issue(s)
Fixes #24566
> 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
- Bug fix (non-breaking change which fixes an issue)

## Testing

#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [x] 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
- [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
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [x] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-06-23 11:24:02 +05:30
Anagh Hegde
7c65e35ee8
fix: rebase error message during conflicts (#24414)
## Description
Updated the error message for rebase during the conflicts state

Fixes https://github.com/appsmithorg/appsmith/issues/24391


#### 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


## Testing
- [ ] Manual
- [ ] Jest
- [ ] Cypress

#### Test Plan
#### Issues raised during DP testing
## 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

---------

Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
2023-06-17 14:25:16 +05:30
Anagh Hegde
2f4c52cb5e
chore: revert git rebase with discard (#24479)
Due to one of the corrupted app state in release, we are going to revert
this and retest it and release later.

https://theappsmith.slack.com/archives/CTHN8GX5Y/p1686637493386649
2023-06-15 13:15:55 +05:30
Sumit Kumar
9330829e40
fix: fix execution of REST API query when dynamic binding is present in the URL (#24368)
## Description
-  fix execution of REST API query when dynamic binding is present in the URL

Fixes #24218
2023-06-13 18:32:19 +05:30
Tanvi Bhakta
eeaf4ec044
fix: casing changes (#23515)
Fixes: 
https://github.com/appsmithorg/appsmith/issues/24202

#### Type of change

- Chore (housekeeping or task changes that don't impact user perception)

## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-06-09 14:22:27 +05:30
Anagh Hegde
56d91190d6
feat: refactor git discrad flow (#23988)
## Description
Added the git rebase to the discard flow. This is to avoid the push
failure when due to branch protection rules.
Prev, it was discard and pull. This flow had above mentioned issue where
if the branch protection rule was present, then the local branch would
be in a bad state.

#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/23989

#### Type of change
- New feature (non-breaking change which adds functionality)

#### How Has This Been Tested?
- [ ] Manual

#### 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

---------

Co-authored-by: brayn003 <rudra@appsmith.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2023-06-09 10:58:50 +05:30
tkAppsmith
f6c68284e5
fix: added gitsyncid assignment to DataSource constructor with dataSourceS… (#23912)
## Description
> Added gitsyncid assignment to DataSource constructor with
dataSourceStorage as argument

#### PR fixes following issue(s)
Fixes #23816 (partially),  #23822

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

## Testing
>
#### How Has This Been Tested?
- [x] Manual
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> To test this, please import an application to a workspace from git and
commit the changes that come up in git sync tool. > Check that the
datasources dont have their gitsyncid updated as it was happening in the
issue https://github.com/appsmithorg/appsmith/issues/23816

## 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [x] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-06-02 19:18:02 +07:00
sneha122
2cc92640bf
fix: gs authorisation status updates (#23890)
## Description
This PR fixes inconsistencies in the authenticationStatus property for
google sheets:
- In case of google sheets datasource, when we authorise the datasource,
but do not grant permissions, the authenticationStatus is being saved as
`IN_PROGRESS`, instead it should be `FAILURE` as user failed to give
permissions.
- This PR adds 3 new statuses in AuthenticationStatus Enum,
`IN_PROGRESS_PERMISSIONS_GRANTED`, `FAILURE_ACCESS_DENIED` and
`FAILURE_NO_FILES_SELECTED`.
- `IN_PROGRESS_PERMISSIONS_GRANTED` is used in case of specific sheets
scope, so that we would know that users have granted permissions and
selection of files is pending
- `FAILURE_ACCESS_DENIED` denotes, for any of the scope, if user does
not grant permissions.
- `FAILURE_NO_FILES_SELECTED` denotes, for specific scope, if user
grants permissions but files have not been selected yet.

#### PR fixes following issue(s)
Fixes #23877 
> 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)
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
>
>
#### 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
- [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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [x] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2023-06-02 11:58:46 +05:30
Sumit Kumar
823c971c67
fix: fix GET request issue with Figma's REST APIs (#23597)
## Description
- Earlier, when sending a GET request (with no body and content type defined by the user), the API server would set the body to empty string but still attach it with the API request before making the REST API call. While this worked fine with almost all of the use cases, it broke when used against Figma's GET APIs. Figma's API server would detect the body object and return a `BAD REQUEST` error.
- This PR introduces a check that avoids attaching the body object when not required, hence resolving the issue with Figma's GET APIs.

#### PR fixes following issue(s)
Fixes #14894
2023-05-26 12:27:27 +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
Manish Kumar
3e5f77e1c9
fix: fixes for CI failures on EE (#23711)
This PR mainly tries to address ci failures on EE, this doesn't change
functionality on CE but changes the method flows
2023-05-25 13:14:42 +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
Nidhi
4b6e21b9b9
chore: Remove unused datasource query endpoint (#23426)
## Description
This PR removes an unused endpoint to reduce the scope of changes for
multiple environments

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

## Testing
No testing required for this change, regression would cover testing for
this.
2023-05-20 15:03:11 +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
PiyushPushkar02
99b3f9866d
chore: analytics event for schema fetch and datasource test (#23387)
## Description

- Added events for Data source test
- Added events for Data source schema fetch event.
- For data source schema fetch event failure, in case there is an
exception thrown the event will not be captured as that requires a big
change. This is being tracked here #23131

#### PR fixes following issue(s)
Fixes #23128 

#### Type of change

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

#### How Has This Been Tested?
- [x] Manual


## 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
- [ ] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-05-16 20:24:52 +05:30
Sanveer Singh Osahan
504436c998
chore: Server Side Event for running action (#23379)
## Description
Server Side Event to capture run action. Determines if action is user
initiated or not.

Fixes #23127

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

## Testing
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] Jest
- [ ] Cypress


## 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
- [x] 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: “sneha122” <“sneha@appsmith.com”>
2023-05-16 18:40:52 +05:30
Nidhi
1337134cd4
chore: Refactoring action execution flows to clean up files (#23265)
This task is simply dividing action execution related flows into
separate files for clarity. It will allow us to pull this module out in
the future.
2023-05-15 13:16:59 +05:30
Nilansh Bansal
fba8c82a19
feat: enable datasource reconnection while forking application (#22390)
## Description
> This PR sets a field `isPartialImport` in the
`/{defaultApplicationId}/fork/{workspaceId}` POST API response, based on
which the client will show the reconnection modal.
> If the `isPartialImport` field is True, the client has to show the
reconnection modal.
> Earlier, this field was only added as part of the Import flow and not
the forking flow, hence the reconnect datasource modal was only shown
while importing an app from JSON when datasource credentials are not
present.

This PR will solve the following issues: 

1. Create a new field `forkWithConfiguration` that will represent
whether datasource credentials will be shared while forking or not.
Issue #21691 (Initial PR #22157, but had to be reverted due to the
reconnection modal functionality, not being present in the forking code)
2. Enable Reconnection Datasource Modal while forking an app if
datasource credentials are not shared. Issue #22305
3. Reset flags `forkWithConfiguration` and `exportWithConfiguration` to
False when forking/cloning/exporting an app. Issues #22165 #22166
4. Reconnect Datasource Modal is not being triggered when forking apps
using Google Sheets datasource.
https://github.com/appsmithorg/appsmith/issues/16767

## Frontend changes
Fronted changes involve showing the reconnect modal depending of the
flag sent by the backend post forking. So far on prod datasources need
not require re-authentication, with this change they will be prompted to
re-authenticate.
Cypress tests will be pushed post merging this PR as cypress CI uses
release backend. Have created a PR for it
d703a00a7c (diff-2f04da010b929ec86d1064b51ce570cc33fee7481997ff5477a48e3527773dd9R7)



https://user-images.githubusercontent.com/67054171/234506804-f1b5f21b-dd4d-4616-8cfe-6b06649d5df6.mov



## Deploy preview
https://ce-22390.dp.appsmith.com/

Fixes #22305 
Fixes https://github.com/appsmithorg/appsmith/issues/22609


## Type of change

- Breaking change (fix or feature that would cause existing
functionality to not work as expected)


## How Has This Been Tested?

- Manual
- JUnit
- Cypress

### Test Plan

-
https://docs.google.com/spreadsheets/d/1vGYaKHtl8-g7--zBEAP219DCZLhoNah6IwjiijJlQAc/edit#gid=0

### 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
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [X] Test plan has been approved by relevant developers
- [X] 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: akash-codemonk <67054171+akash-codemonk@users.noreply.github.com>
2023-05-12 09:55:41 +05:30
Nidhi
d6c23b05ab
chore: Renamed datasource storage doc for indexing needs (#23246)
This PR is simply a refactor to make sure index names are smaller.
2023-05-12 01:58:54 +05:30
Manish Kumar
1d1f01389c
chore: Adding CRUD for Dsconfig (#23138)
## Description

> TL;DR: Separating the DatasourceConfiguration as a new collection to
accommodate for environments

This PR adds services and models for DatasourceConfigurationStorage,
which will now hold the datasourceConfiguration previously held in
Datasource. Additionally, DatasourceConfigurationStorage will also hold
invalids and messages from the datasource. It's indexed on datasourceId
and environmentId.

This PR doesn't change the way Datasource consumes and keeps
datasourceConfiguration. This will be followed by other PR which will
change consumption of datasourceConfiguration into a transitory field
### Changes Made:

- Created DatasourceConfigurationStorage model with datasourceId,
environmentId, datasourceConfiguration, invalids, and messages fields.
- Created DatasourceConfigurationStorageRepository interface and
implementation for managing DatasourceConfigurationStorage in the
database.
- Added DatasourceConfigurationStorageService for performing CRUD
operations on DatasourceConfigurationStorage.
- TODO : Update DatasourceService to use
DatasourceConfigurationStorageService for managing
DatasourceConfigurationStorage.



#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith-ee/issues/1339

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

## Testing

#### How Has This Been Tested?
- [x] Manual
- [ ] Jest
- [ ] Cypress


## 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-05-11 21:13:02 +05:30
Abhijeet
467dc1d55b
fix: Email domain hash in analytics event (#23114)
## Description
We are solving 2 problems with this PR:
1. For `Installation Setup Complete` event email domain hash was
incorrect and earlier we were hashing the instanceId which means if user
with same email tries to run 2 different instances hash was different.
2. `IP` is a reserved keyword for tracking events in Mixpanel though
this is allowed in Segment. Instead of showing the ip as is, Mixpanel
provides derived property. As we want derived props alongwith the ip
address we are sharing the IP address in separate keys.
Ref:
https://help.mixpanel.com/hc/en-us/articles/360001355266-Event-Properties

#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/cloud-services/issues/675

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

#### How Has This Been Tested?
- [x] Manual

## 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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-05-10 17:20:11 +05:30
Manish Kumar
0b6a0f30af
chore: improving /actions endpoint performance (#22109)
## Description

/actions endpoint has very high response latency, The leading factor for
this latency is the DB calls to collections which have high volume of
data. i.e `actions` and `applications`. This Pr tries to address this by
optimising the flow to reduce db calls wherever possible.

The following strategies have been used to reduce the latency as much as
possible

- Reduced DB calls for fetching application and related permission
- Added Criteria for removing JS function from the repository call
- Added a in memory cache to hold default plugins. (this would be used
for filling missing details in action from plugin) resulted in 25-28%
performance advantage.
- **A good next step would have been adding index on all query
parameters, however have held on to that for some data.**

In the PR we have added Micrometer observability for /actions endpoint
as for more data.

> This PR addresses tries to improve the performance of the above
endpoints by means of reducing redundant calls to DB, and caching
wherever possible.

Fixes #21850 

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

## This has been tested:
- Manual

## Progress: 
The DP created with this PR was tested, however the results were not
consistent. waiting for testing dashboard to be ready to verify the
median/p95 timings from the data

## 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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
2023-05-05 15:31:24 +07:00
Nidhi
c44a4a124b
fix: Removed structure data from within datasource collection (#22847)
## Description

This PR is a structural change to our database and introduces no change
in functionality.

Since generate CRUD functionality is controlled by an Appsmith app in
release env, this PR will end up breaking generate CRUD temporarily.

Fixes https://github.com/appsmithorg/appsmith-ee/issues/1336

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

## How Has This Been Tested?
- Manual
- Jest

### Test Plan
Available
[here](https://docs.google.com/spreadsheets/d/1dP-x8b7gBFOfXtVBwr-A0I4M0nTiJmeysZO2ExI1Hhk/edit#gid=1966367141)

### 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
- [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
- [ ] 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:
- [x] Test plan has been approved by relevant developers
- [x] 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-03 10:18:29 +05:30
Sumit Kumar
09fd519e2c
chore: Oracle: add JUnit TCs (#22788)
## Description
- Add JUnit TCs
- Minor improvement to reading of data types: `timestamp`, `raw`, `blob`

Fixes #20535
2023-05-01 21:32:02 +05:30
Sumit Kumar
0e54c57ead
feat: Oracle integration: Add support for DB schema and update error infra (#22634)
## Description
- Update the Oracle plugin code to use newer error framework infra. 
- Add support to fetch DB schema and show dynamic query templates. 
- The following info is shown to the users as part of the DB schema:
table names, column names for each table, column types, primary key,
foreign key
- Update static query templates. 
- Update datasource form to show mandatory fields with asterik mark
- Update datasource validity check to return error on empty password
field
- Improve data read for the following types: `timestamp with local time
zone` , `clob`, `nclob`
- Minor refactor into modular re-usable functions

Fixes #20794 #20795 

## Type of change
- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?
- Manual
- JUnit TC to be added via separate PR. Another issue it open to track
it.

### Test Plan
[Test plan
links](https://github.com/appsmithorg/TestSmith/issues?q=is%3Aopen+is%3Aissue+label%3A%22Oracle+SQL+DB%22)

### Issues raised during DP testing
https://github.com/appsmithorg/appsmith/issues/21487


## 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
- [ ] 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
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [x] Test plan has been peer-reviewed by QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Added Test Plan Approved label after reviewing all Cypress tests
- [ ] Added Test Plan Approved label after developers review JUnit tests
2023-04-28 17:43:54 +05:30
Ayush Pahwa
ddfc329abe
feat: remove bloat from large files during upload (WIP) (#21757)
## Description

Currently, we try to upload large files by converting their binaries
into strings which leads to bloat in size. This is because converting to
bytes in a multi-byte encoding usually takes a larger space and white
characters are also included. We were also doing multiple modifications
which were just adding to the bloat.

Hence, we are now converting the binary data into an array buffer to
prevent this. This buffer is added to the multi-part form data request
as a new part and we add a pointer in the pace of the data which used to
be present earlier. This allows us to have minimal bloat on the payload
while sending the request.

TLDR: fix for uploading large files by changing the data type used for
upload.

*TODO:*
- [x] Client side payload changes
- [x] Server side double escape logic fixes
- [x] Server side tests
- [x] Server side refactor
- [ ] Cypress tests

Fixes #20642 

Media

## Type of change

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


## How Has This Been Tested?

- Manual

### 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
- [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

---------

Co-authored-by: Nidhi Nair <nidhi@appsmith.com>
2023-04-27 10:33:32 +07:00
Nidhi
7d1c4d87b6
ci: Fixed external dependencies in tests partially (#22639) 2023-04-26 13:44:08 +05:30
Manish Kumar
77aeca27a0
feat: adding email property in google sheets (#22321)
## Description
As a part of google sheet scope limitation, the email address is being
added in datasource configuration. The email address
is being stored in a property, an element in properties
(`List<Property>`) with key: 'emailAddress' and value: (<emailId>) .

In order to retrieve this property a GET call to endpoint
`https://www.googleapis.com/drive/v3/about?fields=user` is being made.

This property is being saved while google sheet datasource gets
authorised, after access toke retrieval from cloud services.
in the endpoint `/saas/{datasourceId}/token`.

Since the flow is specific to google sheets, the main code is
implemented in googlesheetPluginExecutor. The flow has three steps

- Getting access token from datasourceConfiguration
- making the call to googleApis and obtaining the email address
- saving it back into datasource configuration

The authorisation flow itself saves the datasource later on.  


> TL;DR Adding emailAddress in properties of datasource configuration
when google sheets is authorised.

Fixes #21902 
- New feature (non-breaking change which adds functionality)

## This has been tested
- Manual
- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] 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
- [x] PR is being merged under a feature flag
2023-04-21 14:17:34 +05:30
Abhijeet
971eb06c08
feat: Update the Installation Setup Complete event to better track the analytics (#22572)
## Description
This PR adds/updates the fields which are getting reported as a part of
`Setup Complete Event` as a part of onboarding revamp project.

Fixes https://github.com/appsmithorg/cloud-services/issues/675

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?
- Manual

## 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
- [ ] 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-04-20 11:58:04 +05:30
dependabot[bot]
75f4e04b40
chore: bump json from 20220924 to 20230227 in /app/server/appsmith-interfaces (#22443)
Bumps [json](https://github.com/douglascrockford/JSON-java) from
20220924 to 20230227.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/douglascrockford/JSON-java/releases">json's
releases</a>.</em></p>
<blockquote>
<h2>20230227</h2>
<table>
<thead>
<tr>
<th>Pull Request</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://redirect.github.com/douglascrockford/JSON-java/issues/723">#723</a></td>
<td>Protect JSONML from stack overflow exceptions caused by
recursion</td>
</tr>
<tr>
<td><a
href="https://redirect.github.com/douglascrockford/JSON-java/issues/720">#720</a></td>
<td>Limit the XML nesting depth for CVE-2022-45688</td>
</tr>
<tr>
<td><a
href="https://redirect.github.com/douglascrockford/JSON-java/issues/711">#711</a></td>
<td>Revert pull 707 - interviewbit spam</td>
</tr>
<tr>
<td><a
href="https://redirect.github.com/douglascrockford/JSON-java/issues/704">#704</a></td>
<td>Move javadoc comments above the interface definition to make it
visible</td>
</tr>
<tr>
<td><a
href="https://redirect.github.com/douglascrockford/JSON-java/issues/703">#703</a></td>
<td>Update Releases.md for JSONObject(Map): Throws NPE if key is
null</td>
</tr>
<tr>
<td><a
href="https://redirect.github.com/douglascrockford/JSON-java/issues/696">#696</a></td>
<td>Update JSONPointerTest for NonDex compatibility</td>
</tr>
<tr>
<td><a
href="https://redirect.github.com/douglascrockford/JSON-java/issues/694">#694</a></td>
<td>Pretty print XML</td>
</tr>
<tr>
<td><a
href="https://redirect.github.com/douglascrockford/JSON-java/issues/692">#692</a></td>
<td>Example.md syntax highlight and indentation</td>
</tr>
<tr>
<td><a
href="https://redirect.github.com/douglascrockford/JSON-java/issues/691">#691</a></td>
<td>Create unit tests for various number formats</td>
</tr>
</tbody>
</table>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md">json's
changelog</a>.</em></p>
<blockquote>
<p>20230227    Fix for CVE-2022-45688 and recent commits</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/douglascrockford/JSON-java/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.json:json&package-manager=maven&previous-version=20220924&new-version=20230227)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 09:04:17 +05:30
Nayan
67a8d3b7fd
fix: Moved gitSyncId from BranchAwareDomain to BaseDomain (#22335)
## Description
Moved `gitSyncId` from `BranchAwareDomain` to `BaseDomain` because it's
changing property order in the git files.

Fixes #22282

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
2023-04-13 13:52:09 +05:30
Nayan
a859f76343
chore: Move Git related meta data to new base domain class (#22065)
## Description
This PR creates a new base class `BranchAwareDomain` from the
`BaseDomain` class. This new base class will contain the Git related
metadata. Any domain class that needs to be tracked by git should extend
`BranchAwareDomain` class instead of `BaseDomain` class.



Fixes #22063
2023-04-08 23:39:54 +06:00
Abhijeet
f66410ebcb
feat: Add functionality to opt out plugin from airgap instance (#22098)
## Description

As a part of supporting airgap instances we want to restrict the plugins
which have any public dependency. This PR introduces a config setting
for plugins to opt out of airgap.
Also as a part of this exercise we are also adding a setting for CS
dependency which can be utilised in future if our customers wants to opt
out of CS dependent plugins.
Corresponding EE PR:
https://github.com/appsmithorg/appsmith-ee/pull/1258

> TL;DR: Provide a way for plugins supported in Appsmith to opt-out of
airgap instances

Fixes https://github.com/appsmithorg/appsmith/issues/21499

## Type of change

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

## How Has This Been Tested?

- Manual

## 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
- [x] 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
- [ ] New and existing unit tests pass locally with my changes

### 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-04-06 23:15:03 +05:30
Nayan
22737e0aa5
chore: Add default view for JsonView (#21766)
## Description

This PR sets the `Public` as default view class for JsonView. It'll be
overridden if the controller has it's another view set. This will
prevent any accidental case when JsonView annotation is missing.

Fixes #21948
2023-04-03 15:37:14 +06:00
PiyushPushkar02
53cdd053b8
fix: API Url Whitespace Bug Fix (#21711)
## Description

- Added trim method to remove the whitespace from the URL while creating
the request URL.
- Notion doc for the issue and fix:
https://www.notion.so/appsmith/API-GraphQL-URL-With-Whitespaces-449a8fa4f3fa49e490b4b4b0fe5a16d1

Fixes #21629 

## Type of change

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


## How Has This Been Tested?

- Manual
- JUnit

## 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
- [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-03-27 09:58:14 +05:30
sneha122
86cbda5a8b
fix: fetch gsheet project id from cs added (#21361)
## Description

File picker implementation for Limiting Gsheet Access requires google
sheet project id. The changes in this PR gets the gsheet project id from
cloud-services and returns it back to client. Client then uses this
project id to open file picker and select required files.

Fixes https://github.com/appsmithorg/appsmith/issues/21298,
https://github.com/appsmithorg/appsmith/issues/21362


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

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


## How Has This Been Tested?
- Manual

### 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
- [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
- [ ] 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: “sneha122” <“sneha@appsmith.com”>
2023-03-21 12:53:05 +05:30
sidhantgoel
214fb1705a
feat: migrate JsonIgnore to JsonView (#20086)
In summary, the change comprises adding `JsonView` annotations on
domain/model fields, controller methods, and arguments.
applying JsonView annotation on controller methods will include fields
which are marked with the same view in domain objects.
Similarly, usage on controller method arguments will only deserialize
the fields which are marked with same view in Domain object, which is
helpful in case we don't want the client to send some fields for
security reasons.
This change replaces the previous use of JsonIgnore for restricting
fields in API response and allows for more flexibility and will enable
us to have fine-grain control over fields serialized for different
contexts, such as API response, export, and import.
The following views are defined as of now.
`View.Internal` - View used to serialize for internal use. It inherits
from `Views.Public` and `Views.Export`, so it will also include those
fields.
`Views.Public` - View used for API request/response.
`Views.Export` - View used for making field exportable, like in the case
of Git sync and file export.
Also, we can define more views by adding an interface inside the Views
class and Views can also inherit fields marked with different view by
simple interface inheritance.

A small tutorial on JsonView - [Jackson JSON Views |
Baeldung](https://www.baeldung.com/jackson-json-view-annotation)

---------

Signed-off-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Nayan <nayan@appsmith.com>
2023-03-17 17:19:24 +06:00
Sumit Kumar
e3c8ca2d5c
feature: Introduce Oracle Integration behind feature flag (#21273)
- Introduce Oracle Integration behind feature flag.
2023-03-16 16:54:25 +05:30
sneha122
0f838535c3
feat: file picker added and access token generation (#20778)
## Description

This PR includes following changes:

- In case of limiting google sheet access project, when user selects specific sheets as an option, they should be shown file picker UI once the authorisation is complete, In this file picker UI, users can select the google sheet files that they want to use with appsmith application and allow access to only those files.
- This PR contains the changes for file picker UI and updating datasource auth state based on the files selected by user.


TL;DR
Steps to test this PR:

- Create Google Sheet datasource
- In the datasource config form, select specific sheets as an option from the scope dropdown.
- Click on save and authorise
- This will take you to google oauth process

<img width="467" alt="Screenshot 2023-02-20 at 1 24 24 PM" src="https://user-images.githubusercontent.com/30018882/220045493-57b0ca6c-3f08-4963-af55-d603cf79bc43.png">

- Select the google account
- This will take you to google oauth2 consent screen

<img width="451" alt="Screenshot 2023-02-20 at 1 24 55 PM" src="https://user-images.githubusercontent.com/30018882/220045641-9f70dd29-6664-489a-b77b-df65445491df.png">

- Click on allow for all requested permissions
- This will take you back to appsmith's datasource config page in view mode and load the file picker UI
<img width="425" alt="Screenshot 2023-02-20 at 1 25 47 PM" src="https://user-images.githubusercontent.com/30018882/220045828-8b3e3e46-4ddc-4e30-b2f8-f12865395817.png">
- Select the files that you want to share with appsmith app
- Click on select
- You should see the new query button in enabled state, as datasource authorisation is complete

<img width="800" alt="Screenshot 2023-02-20 at 1 27 28 PM" src="https://user-images.githubusercontent.com/30018882/220046131-6ce99a85-cddc-4529-ae45-f9833aefd71b.png">

- In case you select cancel on google oauth2 consent screen, you should error message on datasource config page with new query button being disabled

<img width="810" alt="Screenshot 2023-02-20 at 1 28 49 PM" src="https://user-images.githubusercontent.com/30018882/220046385-6b8d636c-b517-44c3-a596-b52bc0084b94.png">

- In case you do give all the permissions but do not select any files in google file picker, then also you should see error message on datasource config page with new query button disabled.

Fixes #20163, #20290, #20160, #20162


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.

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


## How Has This Been Tested?

- Manual

### 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
- [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
- [ ] 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: “sneha122” <“sneha@appsmith.com”>
2023-03-08 10:55:17 +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
Anagh Hegde
4f9fe83646
feat: file structure v2 for actions (#20606)
## Description

> Ignore the body field while committing the JS Object related actions
to git repo.


Fixes https://github.com/appsmithorg/appsmith/issues/20550
https://github.com/appsmithorg/appsmith/issues/19546


## Type of change

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


## How Has This Been Tested?

- Manual
- JUnit

### 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
2023-02-28 23:54:38 +05:30
Ayangade Adeoluwa
6a096464fa
fix: Auto-generated header Refactor (#19873)
API content type refactor flow. More information can be found
[here](https://www.notion.so/appsmith/API-Content-type-Header-Refactor-07f2f944e13f43148210c2461cf3fcda?d=339958cf1d374fefadfa437f86d95627)

Fixes #18473

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)


### 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: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: PiyushPushkar02 <118709669+PiyushPushkar02@users.noreply.github.com>
Co-authored-by: Sumit Kumar <sumit@appsmith.com>
Co-authored-by: Aishwarya-U-R <91450662+Aishwarya-U-R@users.noreply.github.com>
2023-02-24 12:18:48 +00:00
Sumit Kumar
8b32fb6e59
fix: allow MsSQL plugin to connect with ssl encryption (#20568)
## Description
- Currently MsSQL plugin enforces SSL setting to be disabled when
connecting with a database, hence any database that does not allow
non-encrypted connection would fail the connection.
- This PR introduces SSL dropdown to MsSQL datasource config page with
two modes - (1) `disabled` (2) `encryption with no verify`
- `encryption with no verify` means that an encrypted connection would
be established but the client would not seek to verify the authenticity
of the database server.
- This PR also migrates the older existing MsSQL datasources to include
the SSL config with mode being `disabled` since this is how the plugin
is effectively configured at the moment.
- An attempt was made to use the new `ChangeUnit` way of writing the
migration but was abandoned in the interest of time after some re-tries
due to some error during runtime.

Fixes #19039 #20048

## Type of change
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?
- Manual
- Attempted to add JUnit TC but had to roll back because of some issues
with DB connections opened via other JUnit TCs. Tracking this issue
here: https://github.com/appsmithorg/appsmith/issues/20570

### Steps for manual testing
(1) Run MSSQL using docker cmd: `docker run -d --name sql_server -e
'ACCEPT_EULA=Y' -e 'SA_PASSWORD=someThingComplicated1234' -p 1433:1433
mcr.microsoft.com/mssql/server:2019-latest`
(2) Switch to `release branch`. 
(3) Create a MSSQL datasource and create valid connection to the DB
created in step (1). Check that the datasource has no SSL dropdown
config.
(4) Create a query on datasource created in (3). Verify that the query
runs.
(5) Switch to this PR branch. Spin up the sever. 
(6) Edit the datasource created in (3) and check that there is a SSL
dropdown with `Disabled` config set.
(7) Check that test datsource passes and query in (4) still works. 
(8) Create a new datsource and check that it has SSL option set to
`Enable with no verify`.
(9) Check that datasource in (8) works.

### 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
- [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
- [ ] 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-02-20 18:32:46 +05:30
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
subratadeypappu
e05683889f
fix: Do not replace binding with null if no value found (#11688) (#20679) 2023-02-17 17:56:07 +07:00
Shrikant Sharat Kandula
b456bad1e3
fix: Issue with filter not working with IPs (#20688)
We're missing a filter to check for requests that contain a direct IP address, that's listed in the disallow-list. This PR fixes that.
2023-02-17 10:03:02 +05:30
Vishnu Gp
bda10bb070
chore: Added extra analytics events for license (#20638)
## Description

Added extra events for license-related analytics events. Also did some
functional breakdown of code

## 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
- [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-02-15 21:43:52 +05:30
Nidhi
7e15d8b13d
feat: Server side observability (#19828)
## Description

TL;DR: This PR introduces metrics logging using native Spring support
for Micrometer. It includes a docker-compose to set up all the required
parts of this observability stack in the local environment as well.

In order to make use of this stack, please navigate to
`utils/observability` and execute the following command:
```
docker-compose up -d
```

The set up comes bundled with a default Grafana dashboard that can be
accessed at localhost:3001. Please feel free to switch the mapping ports
around in the docker-compose file.

This dashboard currently shows all http requests (sampled at 0.1 by
default), and the server side implementation has introduced some minimal
tracing for the `/api/v1/action/execute` endpoint. This means that you
can use the trace id from http server requests for this endpoint to
delve deeper into the spans exposed in this flow.

In case you would like to send trace information to another service,
please make use of the `APPSMITH_TRACING_ENDPOINT` variable. To override
the default sampling rate in your local (to say, 1), you can set that as
the value for the variable `APPSMITH_SAMPLING_PROBABILITY`.

Fixes #19153

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

## How Has This Been Tested?
- Manual

### Test Plan
No testing required, only needs regression after merge.

## 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

---------

Co-authored-by: Sumesh Pradhan <sumesh@appsmith.com>
2023-02-07 14:26:18 +05:30
Nidhi
5bb1a060f0
chore: Added total parameter size in execution DTO to analytics (#20129)
## Description
This property will give us an insight into what range of parameter sizes
users are working with.

Fixes #20128 

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

## How Has This Been Tested?
- Locally via Segment

## 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
2023-02-01 11:18:14 +00:00
Nayan
89ae5ddf7f
fix: Forking fails when template has REST datasource with Bearer Token Authentication (#19930)
## Description
When an application is exported with credentials i.e. template
application, it does not contain the bearer token authentication
credentials. As a result, when user is trying to import this
application, the datasource configuration popup appears. This PR fixes
this issue.

TL;DR enable export-import application with bearer token authentication

Fixes #19415 

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
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Manual
- Jest

### 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
- [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
- [ ] 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:36:49 +06:00
Anagh Hegde
52e4d32a3f
feat: Separate the js object code and metadata when used with git sync (#19156)
As per current DB structure actions are embedded inside the JSObjects.
Every new method in JSObjects results in new action getting created in
DB. Consider user updates the JSObject.myFun1 then user will have
changes at 2 locations

Queries directory under myFun1 file
Body of JSObject1
We should not commit these duplicates and JSObject body should be
committed as is. These steps surely makes it easier to resolve the
conflicts even if occurs at same line.
2023-01-19 20:12:22 +05:30
Sumit Kumar
d33d35fbdb
fix: fix git sync related bugs for Custom JS Lib feature (#19352)
## Description
- Fix git import / export / status related bugs. Please check out this issue for more details : https://github.com/appsmithorg/appsmith/issues/19038
- Remove feature flag usage from the server side, since it was interfering with the JUnit TCs. Please note that the overall feature is still under feature flag since the client side also uses the same feature flag. 

Fixes #19038

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

## How Has This Been Tested?
- Manual
- JUnit TC

Test plan is the same as the one present for https://github.com/appsmithorg/appsmith/pull/17895

Issues raised during QA
- [ ] https://github.com/appsmithorg/appsmith/pull/19352#issuecomment-1373626895

## 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
- [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-10 19:26:48 +05:30
Vaibhav Tanwar
20cd7ee31d
feat: Google Sheet oAuth analytic events (#19118)
Added google sheet oAuth flow analytic events.
2023-01-10 11:48:03 +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
Vaibhav Tanwar
94989d4bc3
fix: RestApiPlugin get request raw body fix (#18474)
## Description

> RestApiPlugin fix for accepting raw body in get request.

Fixes #12343

## Type of change

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

## How Has This Been Tested?

- Manual
- Unit Tests

## 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
2022-12-30 17:34:31 +05:30
Anagh Hegde
82489a3ecd
fix: Add error message for protected branch (#18737)
* Add error message for protected branch

* Added Junit Test cases

* Add error message for protected branch

* Added Junit Test cases

* chore: push failed warning

* Add reset command

* Fix test failures

Co-authored-by: Anubhav <anubhav@appsmith.com>
2022-12-16 12:07:40 +05:30
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
sneha122
c094a28c40
fix: gsheet multiline broken formatting fixed (#18552)
* gsheet multiline broken formatting fixed

* junit test added

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2022-12-09 15:53:55 +05:30
appsmithguru
b64df3e1c9
chore: rename_triggerUtils (#18405)
Refactored Renamed TriggerUtils.java to RestAPIActivateUtils.java and its usage
2022-12-07 15:03:50 +03:00
Nilesh Sarupriya
68bb871fa8
chore: add events related to roles and groups (#18611) 2022-12-01 20:53:30 +05:30
Vaibhav Tanwar
bc516a5583
fix: Google sheet datasource fix (#18199)
null check added for object value
2022-11-17 18:54:21 +05:30
subratadeypappu
eaf9b95bd6
fix: Internal server error in case of ARRAY type in MySQL (#17702) (#17838)
Fix internal server error in case of ARRAY type in MySQL (#17702)

This commit adds support for handling array like data in MySQL
- If the data type identified by the client side is of type ARRAY it will be treated as STRING as MySQL doesn't have support for ARRAY data type
2022-10-28 11:51:59 +05:30
Nidhi
204a187bc2
fix: Refactor entities with specific rules (#17523)
* Refactor changes for DSL

* Spaces

* Action and collection refactor logic

* Changes to some logic for DSL

* Fixed tests, added dynamic trigger path list logic as well

* Added test for dynamicTriggerList condition

* added analytics data to response in ast

* Fix for peer closed connection on AST

* Added comments for clarity

* Added logs for time taken by AST call

* handle export default and update success param accordingly

* updates for review comments

Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
2022-10-26 20:23:06 +05:30
amogh2019
9e1303905e
fix: ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String (#17707)
* get a string casted value safely from form data

* letting warning be and removing unwanted line
2022-10-25 18:56:35 +06: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
Arpit Mohan
70f79ae69a
chore: Updating the tenant API to return the complete object instead of just the configuration (#17615) 2022-10-17 14:21:28 +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
Shrikant Sharat Kandula
0989aca511
Upgrade commons-text (#17566) 2022-10-14 19:36:16 +05:30
Vishnu Gp
0f73e43cd7
feat: Added analytics events for admin settings updates (#17491)
* feat: Added analytics events for admin settings updates

* Review changes - Variable name change
2022-10-13 12:13:29 +00:00
Nidhi
74c3dbbc1a
fix: Modified on page load actions calculation using AST (#17074)
* Changes to on page load logic and consumption for update layout

* Slight clean up, tests and stuff

* - Added evaluationVersion logic based on application configuration
- Added configuration for slim and fat container rts availability
- Added backup logic of string comparison for slim containers
- Added tests for both paths

* Changes to on page load logic and consumption for update layout

* Slight clean up, tests and stuff

* Cleaned up comments all over

* Why isn't there even a setting to disable auto re-formats

* update rts logic to use updated shared AST logic

* Make changes to naming conventions

* Some temp stuff to check if update layout API changes will work out

* Added health check endpoint in RTS

* Added types for AST request

* update: type for save page request object

* update: return type for getEditorConfigs func

- Added applicationId to the type.
- Fetching from the redux store -> applications -> currentApplication -> id

* update: url generation func for update page API

- added applicationId as query param for the call

* Fixed test failures

* Fixed merge from release with on page load failure messages

* Fixed tests failing after merge

* Review comments, more tests, and fix for array index ref directly after .data path

* Test fix

* Addressed review comments

* Updated comment

* Fixed rts temporarily, added handling for data as function name, left with tests

* fix: failing rts server

* Tests for all types of actions and references

* Changes to test

* Modified type to set

* Test fixes

* Trying to make a test pass

* Added app id in cypress test update dsl

* Added app id in cypress test update dsl

* Added app id in cypress test update dsl

* Removed dep tree temp file

* Resolving compile issues after merging from release

* updated tests for applicationId

* corrected a typo

* fixed some more tests

* updated test

* Updated test

* DSL load AppId fix

* appId removal

* AgHelper LocalStorageCache()

* AgHelper LocalStorageCache() - commit 2

* AgHelper LocalStorageCache() - commit 3

* AgHelper LocalStorageCache() - commit 4

* AllWidgets_Reset_spec - Dsl fix

* Json_spec fix

* S3_2 spec fix

* fixes

* LocalStorageCache fixes

* fixes

* fixes

* fix

* OnLoadActions spec fix

* Promises spec fix

* S3_2 spec fix

* 16702 spec update

* OnLoadActions spec trial fix

* RTS fix

Co-authored-by: Nidhi Nair <cataclysm@Nidhis-MacBook-Pro.local>
Co-authored-by: Ayangade Adeoluwa <adeoluayangade@yahoo.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Apple <nandan@thinkify.io>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-10-11 11:02:44 +05:30
subratadeypappu
d2de8f7cec
feat: Implement data type handling in MySQL (#16621) (#17017)
* feat: Implement data type handling in MySQL (#16621)

With this implementation we can now achieve the following under prepared statement:
- Ability to distinguish between null object and "null" string
- Ability to distinguish values like {{"098765"}} and {{098765}}. The former is identified as a string and the latter is identified as an integer

* feat: Add unit test cases on data type handling in MySQL (#16621)

* chore: Move MySQL specific types to a separate class (#16621)

* chore: Remove import shortening (#16621)

* Fix testStructure test case to have loose coupling with the order of tables (#16621)

* Fix: Add missing client-side data types in params in a few test cases (#16621)

* Fix query in test case (#16621)

* Fix test cases and add small refactoring (#16621)

* Refactor assertion with a check on Optional (#16621)

* additional cypress test cases for mysql

* updated test case object

* update for failing test cases

* mysql failure point fix

* mysql false spec failure point fix

* fix flacy test cases

* flacky JSON test cases

Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-10-04 10:45:10 +00:00
Nidhi
ca5499c358
chore: Tests pass, server runs w/ analytics (#17205)
* Tests pass, server runs w/ analytics

* Fix okhttp
2022-09-30 11:49:25 +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
Anagh Hegde
cf17eaa447
chore: Add view mode to the analytics events (#15791)
* Add view mode to the analytics events

* Add view mode to the analytics events

* Fix UnSupported operation with template

* Replace hardcoded strings
2022-09-29 00:31:14 +05:30
Shrikant Sharat Kandula
4456687400
Fix domain resolution in Elasticsearch (#17026)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-09-26 08:55:54 +05:30
Manish Kumar
bfc79bdfd3
feat: Informative error messages on cyclic dependency for queries on page load (#16634)
* This commit addresses the feature https://github.com/appsmithorg/appsmith/issues/16154

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2022-09-24 15:31:52 +05:30
subratadeypappu
2751af6810
fix: Fix NPE in execute API (#16722) (#16888)
* Fix NPE in execute API (#16722)

* Add unit tests with usual and unusual ordering of the parts (#16722)
2022-09-21 15:36:09 +05:30
Shrikant Sharat Kandula
769719ccfe
fix: Better support for disallowed hosts (#16842) 2022-09-19 12:41:57 +05:30
Shrikant Sharat Kandula
98776e9e94
Fix h2 version mismatch (#16845) 2022-09-19 08:04:30 +05:30
subratadeypappu
cf2ef37527
feat: Add a service layer to get AppsmithType from client-type (#16508) (#16619)
* feat: Add a service layer to get AppsmithType from client-type (#16508)

This commit takes care of the following things
- It creates a service layer to get the target AppsmithType from the client-side data type and the evaluated value
- This service layer is currently not consumed by any plugins
- A full JUnit test suit for MySQL-specific types

* feat: Remove FloatType and add comments for better understanding (#16508)

* feat: Add FallbackType and covert the DataTypeService to a util class (#16508)

This commit takes care of these
- Introduce FallbackType as a separate type
- Convert the DataTypeService to a util class
- Add java doc around the methods in DataTypeService class

* feat: Rename DataTypeService to DataTypeServiceUtils (#16508)
2022-09-16 17:40:28 +06:00
Chris Maeda
0351b0e9a3
fix: Deserialize java.time.Instant objects that are represented as JSON objects (#16321)
Deserialize java.time.Instant objects that are represented as JSON objects; e.g {"nano": 790000000,"epochSecond": 1641498664}
2022-09-15 09:41:23 +05:30
Shrikant Sharat Kandula
83fc89f1a1
fix: No-op Asserts (#16690) 2022-09-13 13:55:33 +05:30
Sumit Kumar
0cbe81dfde
feat: merge GraphQL plugin to release (#16554)
* merge GraphQL plugin to release
2022-09-09 21:29:47 +05:30
Vishnu Gp
43ee8b2089
chore: Changes in user invited analytics event (#16611) 2022-09-09 10:31:18 +05:30
Shrikant Sharat Kandula
06c8210a3a
fix: Fix LinkageError with macOS DNSResolver class (#16581)
On macOS, when running a MySQL query, we see the following error:

```
java.lang.ClassCastException: class io.netty.channel.kqueue.KQueueEventLoopGroup cannot be cast to class io.netty.channel.EventLoopGroup
```

This is because of a `LinkageError`, caused because these classes exist both in the parent `server` module classpath, as well as in this plugin's classpath separately. To fix this, we removed this dependency from the server module.

But then, this caused a problem with how the `DNSResolver` class was being, well, resolved by the application class loader, vs the plugin class loader. This is a macOS specific problem, and doesn't affect other operating systems.

For this, we add just this package as a dependency to the MySQL plugin.
2022-09-06 22:00:53 +05:30
subratadeypappu
3725834fb4
feat: Add server-side base data types (#15784) (#16240)
* feat: Add server-side base data types (#15784)

This commit takes care of the following two things
- It adds the server-side base data types which are considered common data types across plugins
- It adds a few MySQL specific types

* feat: Add MySQLBooleanType and refactor MySQLDateTimeType with camelCase (#15784)

* feat: Move MySQL specific types to mysqlPlugin folder (#15784)
2022-09-02 16:25:36 +05:30
Shrikant Sharat Kandula
8a0838505a
All outgoing requests should go through the configured proxy (#14427)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-09-01 11:16:45 +05:30
Anagh Hegde
043705f343
chore: refactor git constants (#16287) 2022-08-25 20:52:25 +05:30
Trisha Anand
8f3591615a
feat: RBAC framework (#14823)
Co-authored-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: Sangeeth Sivan <sangeeth@appsmith.com>
Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
2022-08-22 23:27:07 +05:30
subratadeypappu
0e2637b1b2
chore: Modified action execution payload to support data types (#16106)
* POC: Datatype handling autogenerated naming params client

* added array and file datatype

* handles all primitive types

* paramproperties convetred to map instead of array

* parametermap inversion

* handled no bindings bug

* feat: Consume action execution payload changes w.r.t. data type mapping (#15555)

This commit does the following things
1. It consumes data type metadata from payload
2. It consumes the mapping between the pseudo binding name and original binding name
3. It doesn't apply any logic w.r.t. data type identification after consumption

* added comments and cleaned code with proper datatypes

* removed URLencoding for binding params names

* feat: Remove URL decoding on param keys from server-side codebase (#15555)

* Remove unused import (#15555)

Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
2022-08-19 01:01:47 +05:30
Arpit Mohan
f5c67840ea
chore: Closing resources to ensure there are no memory leaks (#15343)
This is based on warnings from Sonar's static code analysis.
2022-07-29 19:51:10 +05:30
Nidhi
82ed999d85
fix: Added type static hierarchy to allow compatible types (#15470)
* fix: Added type static hierarchy to allow compatible types

* Removed unnecessary logging
2022-07-29 08:43:23 +05:30
Nidhi
daea0a8545
chore: Added analytics for C, U, D operations on actions (#15069)
* chore: Added analytics for C, U, D operations on actions

* chore: Added isTemplateOrMock field in datasource

* fix: Set mock datasource field as true on creation

* Split template and mock identifiers into two. Added them to analytics as well

* Added tests as well as felt like a noob.

* Add isMock and isTemplate fields to datasources of created Actions

* Removed execute action triggered props

* Revert "Removed execute action triggered props"

This reverts commit cad1b8af504218813daa5f563f7b417fa263101b.

* Stringified response body before recording event

* Adding ds fields

* Reverting client side changes

* Fixed failing tests

Co-authored-by: Ayangade Adeoluwa <adeoluayangade@yahoo.com>
2022-07-28 09:40:47 +05:30
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
Vishnu Gp
828f734b18
Added missing analytics events and extra data (#15408)
This adds a few missing analytics events and some more extra data for audit purposes. The missing event added are,

    User login (login_USER)
    User logout (logout_USER)
    Import Application (import_APPLICATION)
    Export Application (export_APPLICATION)
    Clone Application (clone_APPLICATION)
    Create Workspace (create_WORKSPACE)
    Delete Workspace (delete_WORKSPACE)
    View Page (view_NEWPAGE)
2022-07-27 21:01:34 +05:30
Nidhi
50172ecd64
fix: Added support for self signed certificate during OAuth2 flows (#14719)
* Added support for self signed certificate during OAuth2 flows, server side changes

* fix: authentication.useSelfSignedCert key added

* Merging from release

* Fixed issue with dependencies, plus bug with using ssl

* Cypress test attempt 1

* Cypress test attempt 2

* Cypress test attempt 3

* Clean up

* Review comments

* Enabled compression again

Co-authored-by: Aman Agarwal <aman@appsmith.com>
2022-07-21 16:10:36 +05:30
Anagh Hegde
dbf0b94973
feat: Update the table widget to v2 in suggested widget list (#15277)
Co-authored-by: balajisoundar <balaji@appsmith.com>
2022-07-20 12:28:50 +05:30
Shrikant Sharat Kandula
bba78afc3b
chore: Upgrade dependencies reported by Dependabot (#13735)
Upgrades vulnerable dependencies in all plugins except for MySQL. That one is still failing and I'll fix it in a separate PR. Issue #14475

Co-authored-by: Nayan <nayan@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
2022-07-19 10:23:27 +05:30
Nidhi
02a5e1d490
fix: Added dropdown to select whether to send credentials in header or body in client credentials flow (#14545)
* Added dropdown to select isAuthorizationHeader in client credentials flow

* Added tests

* Added cypress test

* Oopsie
2022-07-13 14:33:19 +05:30
Anagh Hegde
317f340421
feat: fetch branch speific refs from the remote repo (#15067)
* fetch branch specific refs from the remote repo
2022-07-08 11:29:16 +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
Nidhi
049de6b58f
chore: Added actionId and requestedAt fields in ActionExecutionRequest (#14720)
* chore: Added actionId and requestedAt fields in ActionExecutionRequest

* Reverted unrelated failing test

* Fix test failures

* Refactor test

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
2022-06-22 22:43:31 +05:30
Anagh Hegde
14eb9b4cb5
feat: Add API for git docs and supported shh keys (#14641) 2022-06-22 21:50:04 +05:30
Vishnu Gp
63205dce27
Merge pull request #14184 from appsmithorg/feat/git-delete-only-removed-resources
Feat: Perform file ops only when the resource is updated
2022-06-22 10:53:45 +05:30
Abhijeet
ebc4090b53
chore: Enable serialisation for JsonIgnore fields during export flow to avoid adding intermediate fields in DTO (#14120)
* Add separate DTO for import export to serialise JsonIgnored fields

* Move remove unwanted field method for app in aaplication class

* Refactor sanitise objects before export

* Write migrations as per updated serialization implementation

* Fix migration

* Fix NPE during import

* Refactor

* Fix partial import scenario

* Fix testcases for DSLActionDTO

* Remove unwanted testcase

* Fix testcases for orgId to workspaceId migration

* Fix empty repo import testcase
2022-06-17 10:09:28 +05:30
Ankita Kinger
9b7944e7ee
feat: migrate organisation to workspace (#13863)
* migration from organization to workspace on code level

* updated a few more files

* fixed runtime errors

* update org settings URL

* Renamed organizationId in domain objects

* changed field named from organization to workspace

* Reverted AppsmithRole changes

* fixed migrations

* recreating indexes

* migration update

* seed data runs before migration, undo changes

* mock commit

* seedmongo to populate upgraded data, datasource upgrade

* fixed two test cases

* updated migrations

* updated prop name

* Upgraded AclPermission

* comment

* migrated AppsmithRole

* more changes

* final set of changes

* variable name changes

* update cypress variable name

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

* Update app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/Datasource.java

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

* reverting encryption handler change

* migrated a few missed out org to workspace

* migrated a few missed out org to workspace

* migration changes

* Removed Permission import

* fixed AppsmithRole

* mongodb version update

* fixed compile error

* fixed compile issue

* fixed some tests

* simplified embedded mongodb config

* updated a cypress test

Co-authored-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Sidhant Goel <sidhant@hexcod.in>
2022-06-15 21:07:41 +05:30
sidhantgoel
0ccc1aee93
fix: Fixes issue where CI was not executing all tests (#14338)
* made test classes public

* added surefire compatible with junit 4

* Revert the changes of tests class accessibility

* Fix test failures

* test case fixes

* fixed NPE

* Fixed failing tests

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
2022-06-15 12:04:28 +05:30
sidhantgoel
6b8b6c0bb2
Fix Java package names (#14034)
fix for java file path based on package name otherwise it was not working in vscode
2022-06-07 13:40:00 +05:30
Anagh Hegde
4c6c109edf
fix: Update the widget from drop down to select widget in suggested widget list (#13944)
* Update the widget from drop down to select widget
2022-06-03 07:49:56 +00:00
subratadeypappu
531f5f89d5
fix: Upgrade Lombok package version to 1.18.22 to avoid build error (#14080) (#14156)
Update lombok packages to version 1.18.22
2022-06-01 10:29:42 +00:00
Nayan
a362e536fd
feat: Sort datasources alphabetically and mark recently created datasources (#13958)
Return list of datasources in the GET /api/v1/datasources sorted alphabetically. Also set a flag isRecentlyCreated to the most recently created 3 datasources.
2022-05-29 00:02:39 +06:00
Anagh Hegde
109ff332ef
Update docs links for git (#14058) 2022-05-24 20:29:51 +05:30
sidhantgoel
b4ead512f1
fix: Fixes encryption handler (#13985) 2022-05-23 18:04:11 +05:30
Abhijeet
e7f34b0034
chore: Improve execution time logging (#13811)
* Increate timeout for git APIs and log execution time in mixpanel

* Improve execution time logging
2022-05-16 09:45:34 +00:00
Abhijeet
ad4772f5ea
fix: Improve git error logging (#13580)
* Add appropriate error type

* Fix warnings

* Update repo not found exception
2022-05-06 10:57:35 +05:30
Abhijeet
9fc9f7a774
chore: Commit application files during the connect flow (#12288)
* Commit application files during the connect flow

* Refactor detach remote method name

* updating connectToGitRepo method

* fix git tests

* Update default dsl to remove uncommitted changes for bottomRow and pathlist

* updating git cypress tests

* fixed git bug spec cypress test

* enabled other test case

* with store test

* fixed comment

* closing git sync modal

* updated test logic

Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: Parthvi12 <80334441+Parthvi12@users.noreply.github.com>
Co-authored-by: haojin111 <haojin828@outlook.com>
2022-05-04 12:27:07 +05:30
Nidhi
e73fd0a269
fix: Parse nested structures as tables for action execution results (#13328)
* fix: Parse nested structures as tables

* Updated comments
2022-04-27 08:45:15 +05:30
Nidhi
ea6debab20
fix: Added contains and not equals options to where clause in Google Sheets (#13208) 2022-04-26 20:03:17 +05:30
Abhijeet
cebccc5401
Fix issues in git flows when pages don't have reference in application object (#13040)
As a part of git-directory update we have introduced a bug where if the entity names includes the - we were not able to filter the entities in the individual page directory. This commit introduces a new name-seperator to avoid such issues.
2022-04-19 17:25:11 +05:30
Abhijeet
a12750b536
feat: Update directory structure for git-sync to mimic UI (#11705)
* File migration for git

* Testcases added

* Comments added

* Update the action file names to keep unique constraints

* Separate out the theme from metadata

* Update server version to convey the file migration
2022-04-14 23:35:08 +05:30
Nayan
4819907a34
feat: Add analytics events to track user activation (#12611)
Adds some attributes to existing analytics events to track user activation.
2022-04-12 20:09:03 +06:00
Sumit Kumar
cffc445824
fix: update check for GSheet where condition (#12729) 2022-04-08 22:33:47 +05:30
Sumit Kumar
c2f39f4eda
feat: [server side change only] convert Mongo's form data to raw / native query (#10058) 2022-04-01 18:44:32 +05:30
Abhijeet
d9b2a747df
chore: Add git discard and pull documentation url for status API response (#11869)
* Added discard doc url for status API response
2022-03-30 13:10:38 +00:00
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
Nidhi
1ca9fd803a
fix: S3 formData path for bucket name (#12049) 2022-03-22 12:56:42 +01:00
haojin111
9cfca0518f
feat: 9754 import work flow (#10453)
* updated import application modal design as v2

* updated import flow

* added title, description, uploadIcon on filepicker ads component for custom file picker

* adding modal of add credential for git import

* added "Git Import" modal

* added generating ssh key for importing flow

* fixed issue of merging

* chore: fix import

* chore: show old import modal based on feature flag

* seperated import api from connect

* added datasource list on reconnect credential modal

* chore: minor changes

* chore: move ssh keys to git sync reducer from applications reducer

* chore: minor fixes

* chore: fetch datasource config for import

* for pulling

* for review of displaying of datasource

* added reconnect datasources after git import

* fix: initialize datasource with default values

* fix: initialise redux for after updating datasource with default values

* fixed issue of git connection init when importing

* if there is a datasource config missing in import, reconnect modal should be opened

* updated logic for unconfigured datasources

* commented unnecessary code

* fixed issue of successful import

* updated import app error logic

* Add un-configured datasources to Import via file response

* Add test

* fix

* chore: refactors

* change per review

* fix: reset ssh keys / url

* Fix issue with newly created datasources not sent

* fix

* chore: minor updates

* chore: minor fix

* WIP

* added saas and rest api datasource form

* feat: fixes and updates for file import flow

* chore: close on upload

* Refactor logic ofr finding unconfigured datasources

* fix: minor fixes

* Fix issue with IsPartialImport

* fix

* Add PartialImport flag for ImportExport service

* refactoring of datasource editor form for both of importing app and editing app

* fixed collapse config

* Fix tests

* Handle redirection back to the /applications for oAuth type

* Show reconnect button on the datasources pages if the datasource configuration is skipped

* added analytic events for reconnecting datasource modal

* Fix the repo limit check for git import

* updated test of importing app from json as new work flow

* updated exported app json while testing automatically

* Add isImport flag for handling OAuth redirection in import flow

* WIP

* updated card UI for import from git title and message in import app modal

* chore: cleanup

* chore: lint

* fix: add is import query param to get token for oauth

* fix

* When the user imports the application there should not be any uncommitted changes displayed on the commit icon

* Add flag to identify OAuth redirection for git import

* Update the variable name

* refactoring reconnect datasource modal

* close git import modal when repo limit error responded

* fixed issue of restoring draft data of datasource form without save on reconnect datasource modal

* chore: update query

* updated query name of oauth redirection url

* Fix duplicate name issue in git import

* fixed rest api reconnect issue on reconnect modal

* init datasources and plugins after imported app, updated reconnect modal as new design

* added unconfigured datasource list logic when importing and updated rest api form delete button visible

* removed put default config of datasource and fixed issue on it

* Add logic to check isCOnfugred in datasource API

* Expose API to get un configured datasources for git import

* added fetch unconfigured datasource list api when redirecting form OAuth

* Remove sensitive fields from application json during export

* update put call response to check for datasourceConfig

* chore: use @appsmith for constants/messages

* chore: use download icon and Import for Importing application label

* chore: move import application text up a bit

* Fix bad merge

* chore: update skip to application tooltip text

* fixed tooltip content of skip to application CTA

* init values of datasource when importing

* updated ui of git import modal as figma design

* fixing padding issue of reconnect datasource modal

* fixed cursor issue on import app modal

* Fix issue with datasource config

* chore: make code compile

* chore: sort lines

* fixed save button issue of dbform on reconnecting modal

* fixed style of import application modal

* Fix iisue with wrong value updated to flag

* reverted from reconnection form style

* fix: update design as per slack discussions on 2022.02.23

* fix: move modal close button to the left

* Remove check for the flag and use the one from db

* Set siCOnfigured as true for mockdata sets

* updated creating datasource with isConfigured as false

* Fix NPE while importing

* fixed scrollbar issue and text alignment on reconnect datasource modal

* fixed style of form container in reconnect datasource and redirecting to app if all are configured

* remove unwanted fields from application json

* FIx NPE for file import

* fix: move close button up in import modal

* remove delete button on reconnect datasource modal

* Add isConfigured false while creating datasources

* fix: add a gap and update color

gap between git import dialog title and subtitle
update color of subtext to GREY_800

* fix: use git import feature flag

* fix: do not use older modal

* updated selecting logic of unconfigured datasource in reconnect modal

* cleanup: auto format

* cleanup: refactor react component

* cleanup: refactor some more

* cleanup: autoformat

* Fix reconnect flag for mockdatasource

* During git import set the isConfigured to false for datasources

* Remove decrypted field from the applicationJson file

* Remove decrypted field from the applicationJson file

* Add app slug to remote repo

* fixed cypress test related with git

* updated json while testing

* Changes per review

* Update the method name

* fixed cypress test related with git

* fixed migration cypress test

* set is configured field as true on tour app

* Fix issue with datasource creation for welcome tour

* fixed issue of replay_editor cypress test

Co-authored-by: Rishabh Saxena <rishabh@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Anubhav <anubhav@appsmith.com>
Co-authored-by: f0c1s <iamanubhavsaini+git@gmail.com>
2022-03-17 15:58:54 +05:30
Nidhi
aaf12c513d
fix: Adds user set on load prop from actions to exported JSON file (#11718) 2022-03-09 16:57:45 +05:30
Leo Thomas
18104b9291
fix: 9824 Google Sheet to filter empty condition ver.2 (#11435)
* fix: 9824 Google Sheet to filter empty condition ver.2

* Code review comments updated

* Updates as per review comments - Ver 3

* Resolved errors found during testing

* Code review comments fix

Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
2022-03-02 22:34:34 +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
Leo Thomas
69f7136a81
fix: 8878 - To handle Comma delimited float values (#11207)
* fix: 8878 - To handle Comma delimited float values

* Code review comments fixes

Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
2022-02-17 13:30:01 +05:30
Anagh Hegde
9992a9ae3c
feat: Add api to check the git connection after the key is regenerated (#11144)
* Add api to check the git connection

* Add analytics event for test connection api
2022-02-16 22:25:38 +05:30
Leo Thomas
4c81347128
fix: 7794 Google Sheet Fails with Mixed Datatype (#11089)
* fix: 7794 Google Sheet Fails with Mixed Datatype

* resolved failing test cases after new implementation

* Added code comments to the changes

Co-authored-by: Leo Thomas <leoweb2010@gmail.com>
2022-02-16 08:22:40 +00:00
Arpit Mohan
286864eb3d
feat: Support body in GET API requests (#7127)
* WIP

* Refactoring HTTP Method & Content Type to be objects instead of arrays

TODO:
1. Set the default content-type for Get request to "None". Currently, it's raw
2. For None content-type, don't send the body field in the API request

* Almost working implementation for the None type

Currently, the body still gets sent in non-GET requests even if the None tab is selected.

* Adding object.freeze to prevent any modifications to HTTP_METHOD_ENUM

* WIP: Using enum & const for ts autocomplete

* working implementation for NONE type, apiContentType prop added to API actions

* WIP

* Refactoring HTTP Method & Content Type to be objects instead of arrays

TODO:
1. Set the default content-type for Get request to "None". Currently, it's raw
2. For None content-type, don't send the body field in the API request

* Almost working implementation for the None type

Currently, the body still gets sent in non-GET requests even if the None tab is selected.

* Adding object.freeze to prevent any modifications to HTTP_METHOD_ENUM

* WIP: Using enum & const for ts autocomplete

* working implementation for NONE type, apiContentType prop added to API actions

* adds apiContentType to actionConfiguration.formData object

* Handling apiContentType property in Rest API formData

* change apiContentType when user types content-type value and switches http method

* makes api editor as similar as possible to postman, project postman.

* Correcting the import in ApiEditorConstants

* Resolved all merge conflicts

* replay DSL functtionality

* removes unneccessary files from worker

* Fixes type declarations, naming e.t.c.

* fix server side merge conflicts

* fix client side merge conflicts

* fix failing cypress tests

Co-authored-by: Irongade <adeoluayangade@yahoo.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
2022-02-15 11:13:48 +00:00
Nidhi
1868675349
feat: Self-signed certificates for REST APIs (#11043)
* feat: Self-signed certificates for REST APIs

* Changed scope for netty dep
2022-02-15 06:54:26 +00:00
Sumit Kumar
00a7647590
feat: S3 plugin: add command to delete multiple files at a time
* Add a new command Delete multiple files. This command will allow users to delete many files at once. Currently, only one file can be deleted at a time. It takes an array of files as config parameter from the user e.g. ["file1", "file2"]
* Add template for the new command.
* Add template for the command Create multiple files
2022-02-15 12:24:16 +05:30
Trisha Anand
80bab90e28
chore: Minor code refactoring for bean utils and action execution (#11102) 2022-02-14 10:24:54 +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
Abhijeet
860318e0fe
chore: Add stopwatch to log execution time by process name (#11069)
* Add stopwatch to log execution time by process name

* Refactor
2022-02-10 16:59:26 +05:30
Sumit Kumar
aa2290405d
fix: fix refresh token flow in REST API OAuth (#10875)
Co-authored-by: Segun Daniel Oluwadare <dodanieloluwadare@gmail.com>
2022-02-09 09:38:58 +05:30
Abhijeet
fa0e900f3f
fix: Sort unordered set elements before committing to git repo so as to have same serialised output string for identical set of elements (#10933) 2022-02-08 00:48:20 +05:30
Sumit Kumar
5c3e12fc10
handle empty column name in sort component (#10895)
* This PR adds changes to ignore all the empty column names in sort component (or ignore the sort conditon if all column names are empty).
2022-02-07 08:55:26 +00:00
Abhijeet
2e5c1ea4ec
chore: Update doc urls for errors related to git (#10852)
* Update doc urls for errors and SSH key response
2022-02-03 21:13:40 +05:30
Abhijeet
e356fd039f
chore: Commit only unpublished resources to git repo which includes queries, JSObjects, pages to avoid data duplication (#10776)
* Commit only unpublished resources to avoid resolving merge conflicts twice

* Added TCs

* Update directory names, fix pull issue in JSObjects
2022-02-03 11:47:57 +00:00
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
Nidhi
f450ea5be3
fix: Fixed issue with H2 where PS parameters were getting merged if the keys were the same (#10805) 2022-02-02 17:43:53 +00:00
Abhijeet
8d93d06317
feat: Add reference doc url for error responses for git APIs (#10620)
* Added reference doc urls for pull conflicts

* Update TCs
2022-01-27 13:08:21 +05:30
Anagh Hegde
c83f7fb3c1
feat: Git import api (#10282)
* Added API to generate deploy keys and store them in a collection for import flow

* Add tests for the key generation flow

* Move the key generation to helper class

* changes per review

* Fix bad merge

* add api to import application

* handle timeout for git import

* Update the comments

* Add API for git import

* handle duplicate application name error & add profiles while importing

* Add tests for import api

* Hydrate from file system after cloning the repo

* Fix test failures

* Test cases

* changes per review

* throw error when the datasource with same name of different type exists

* Fix test failures

* Fis error messages

* Fix test failures

* Fix issue with checking the datasource types

* Add datasource name check while importing the application

* Refactor SSH key gen code for import

* Resolve issues around defaultResourceIds, don't commit app name

* Resolve the issue related to duplicate name for app during import

* Minor fixes

* WIP

* Add logic to get unconfigured datasources for the application

* Fix tests

* WIP

* revert datasource related changes

* Add a boolean flag to Datasource entity

* Add a boolean flag to Datasource entity

* Add flag to identify import status

* Set application name before importing from json files in git-import

* update the variable name

* changes per review

Co-authored-by: Abhijeet <abhijeet@appsmith.com>
2022-01-26 21:26:22 +05:30
Nidhi
c7d1e87c0a
fix: Removed tracking on Sentry for unsupported plugin operation (#10636) 2022-01-26 19:02:48 +05:30
dependabot[bot]
113c96dc54
chore: bump h2 from 2.0.206 to 2.1.210 in /app/server/appsmith-interfaces (#10554)
Bumps [h2](https://github.com/h2database/h2database) from 2.0.206 to 2.1.210.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-2.0.206...version-2.1.210)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-25 19:38:36 +05:30
Abhijeet
62b720ab00
feat: Add documentation URL alongwith the error response to offer more info about the exception (#10325)
* Add doc url param in error response

* Modify TCs

* Update error codes to follow the sequence
2022-01-20 02:48:43 +00:00
dependabot[bot]
7d64d7fa53
chore: bump h2 from 2.0.202 to 2.0.206 in /app/server/appsmith-interfaces (#10414)
Bumps [h2](https://github.com/h2database/h2database) from 2.0.202 to 2.0.206.
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-2.0.202...version-2.0.206)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-15 04:13:05 +05:30
Snyk bot
65b5b61840
chore: [Snyk] Security upgrade com.h2database:h2 from 1.4.200 to 2.0.202 (#9500) 2022-01-15 03:37:21 +05:30
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
Anagh Hegde
4f4d0fd7df
fix: Clear the cache - git limit number of repos (#9874)
* Error handling for git limit

* clear cahe of git limit on connect api

* update per review

* check the repo is public before checking for the limit

* changes per review

* check if the repo is public or private during connect flow
2021-12-21 14:17:26 +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
e48a51c166
fix: Ignore form data elements with null keys (#9769)
* fix: Ignore form data elements with null keys

* Added reference to constant instead of using a String
2021-12-16 09:54:38 +00:00
Sumit Kumar
7909ae8680
feat: port Firestore plugin to UQI (#9393)
* Port Firestore plugin to UQI schema
* This PR implements a non-functional requirement i.e. from an end user perspective there is no change in the features that the plugin provides. However, the underlying DSL to render and interpret the query interface has been updated.
* It also involves a migration change to port existing Firestore plugin actions to the new UQI schema.
2021-12-16 13:31:09 +05:30
Trisha Anand
11603e0d24
chore: Backend code split (#9610)
* Server comes up

* Instead of extracting ee, we extract the ce to get the mongo repo to work

* ActionRepo migrated

* ApiTemplateRepo migrated

* Application repo migrated

* Asset Repo migrated

* Collection repo migrated

* Comment repo migrated

* Comment thread repo migrated

* Config repo migrated

* datasource repo migrated

* group repo migrated

* Invite user repo migrated

* layout repo migrated

* New action repo migratd

* .

* Migrated rest of the repos.

* Migrated the repo impl as well between ce and common

* acl package partially migrated

* Authentication migration done!

* Controllers migrated

* AppsmithPermission enum migrated to class and split

* Unnecessary change removed

* Appsmith role enum converted to class

* Revert

* Reverting enum to class conversion after failing at implementing

* All services migrated

* server.solutions package completed

* Fixed solutions failing test cases

* Code compiling! Woohoo!
2021-12-15 22:59:46 +05:30
Anagh Hegde
e216dad15b
feat: Refactor APIs to include branch name in the request header (#9679)
* refactor api's to include branchName for git

* Check for updating Ids for move action

* Added check for global profile

* Fix bad merge

Co-authored-by: Abhijeet <abhijeet@appsmith.com>
2021-12-14 15:09:30 +00:00
Nayan
28c181b59c
feat: [Feature] Upgrade spring boot version to 2.5.5 (#8932)
Upgrades spring boot version to 2.5.5
2021-12-14 16:22:37 +06:00
Nidhi
e402a76564
fix: Added timestamp in where clause types, modified logic for calculating date time types (#9608)
* fix: Added timestamp in where clause types, modified logic for calculating date times

* fix: Added another field for timestamp, shouldn't fail

* Added test case for older filter method as well

* Added test case for older filter method as well

* Modified types for date and time
2021-12-08 05:25:07 +00:00
Trisha Anand
4512c86d87
feat: Trigger framework with default implementation for entity selector for UQI (#9142)
* Untested trigger framework added

* Entity selector is working!

* Moved to query params instead of request body for the trigger api (since the trigger api is of type GET)

* Adding minor comments

* Added test case for trigger functionality
2021-11-25 12:35:43 +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
Anagh Hegde
a7b1902afd
feat: handle error messages for merge action (#9030)
* Handle merge conflicts

* Fix test failures

* Move branch name from request params to body for merge operation

* Use request body for branchNames
2021-11-12 10:04:29 +00:00
Nidhi
54cc5b8ff4
fix: Add support for content type in create file for S3 plugin (#9021) 2021-11-10 07:44:36 +05:30
Anagh Hegde
2ad6a382ea
feat: checkout remote branch (#8827)
* Add API to checkout remote branch

* Create a new application on fetch

* Create a new application on checking out remote branch

* Add tests

* Change per review comments

* Changes per review comments
2021-11-09 14:04:00 +00:00
Anagh Hegde
b951d8db21
Get default branch from DB instead of remote to save time (#8844) 2021-10-29 09:32:02 +00:00
Trisha Anand
0300fa9486
feat: Migrating S3 plugin to UQI framework (#8575) 2021-10-25 11:19:22 +05:30
Trisha Anand
4a11a10ee0
fix: on page load actions take into account widget dependencies as well to compute correct order of action computaion on page load (#7829) 2021-10-25 08:03:08 +05:30
Anagh Hegde
4717b4bcf0
feat: git merge status (#8692)
* git merge status
2021-10-22 12:31:13 +00:00
Anagh Hegde
6faaa33936
feat: Git version control functionality with connect to remote, commit, push flows (#8403)
* core workflows of git - branch, clone, commit, pull, merge, status, log

* Rehydrate file system before merge operation

* Add logic to handle merge conflict for merge and pull flow

* Add defaultBranch to listBranch API

* Add Unit tests for git commands

* Upgrade JGit dependencies to fix the security issue

* Git command tests

* Revert unwanted changes and update delete application flow

* Disable git feature until the FE changes are merged

Co-authored-by: Abhijeet <ABHI.NAGARNAIK@GMAIL.COM>
2021-10-20 09:47:34 +00:00