Commit Graph

857 Commits

Author SHA1 Message Date
Anagh Hegde
8ee9da291c
chore: Repo limit check visibility status not updated in DB in commit flow (#22973)
## Description


## Type of change

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


## How Has This Been Tested?

- 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-05-12 18:21:13 +05:30
Nayan
15bc2d8e43
fix: Return default page id instead of id in restore snapshot API (#23096)
## Description
The restore snapshot API returns the Application object that was
restored. In current implementation, it returns pages with `_id` as the
`id`. This creates problem when the Application is Git connected because
no page will be found with the _id and branch name. This PR fixes this
problem by replacing the `id` with the `defaultPageId`.

#### PR fixes following issue(s)
Fixes #22956
2023-05-12 15:18:12 +06:00
Vishnu Gp
eda24c8917
chore: Intercom consent is defaulted to true on cloud hosting (#23220)
## Description

This PR makes the Intercom consent flag true always for the cloud-hosted
version.

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


#### 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
- [x] Manual
- [x] JUnit
- [ ] 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
- [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/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-12 10:25:21 +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
PiyushPushkar02
6060ade54f
fix: CURL empty command error msg fix (#23119)
Changed the error message returned in case of empty input from the user for CURL import

Fixes #12008
2023-05-11 17:09:05 +05:30
Sanveer Singh Osahan
e7007bfb75
fix: Invalidated error state connection mono from cache (#20538) (#22718)
## Description
When the token fetched from client credentials grant type in oauth2 is
expired, a request to the token endpoint is made to fetch a new token.
But sometimes the token endpoint fail. It can be intermittent failure, a
retry will fetch the desired token.
When the failure occurs, the datasource context mono goes into an error
state. As this mono is cached, all the subsequent authenticated api
calls from the user fetches the cached error mono resulting in failures
and thus the token endpoint is never retried.
For the fix, while checking if datasource context is valid, added the
check if its in a failed state. If yes, then the context will be
considered invalid.

Fixes #20538 

## Type of change

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


## 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
- [ ] 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-05-05 12:58:17 +05:30
Abhishek
94e4b8515e
fix: Error handling added with proper message when try to create application with duplicate name (#22632)
## Description

>TL;DR: Added suffix retry if name clashes on creating an application.

## Issue: 
When multiple users are trying to create an app on a common
organization, the changes for newly added app is not real-time hence
there's a conflict on app name causing an error. This error asks user to
contact Appsmith support, but a simple page refresh loads the new app.
Issue: #7401

## Solution: 
Added suffix retry if name clashes on creating an application. With this
change, the above issue will not happen and in case of name conflict new
application will be created with a suffix added in the name. E.g
UntitledApplication 1 (1).

## Changes:

1. Added retry suffix method in the ApplicationServiceCEImpl for name
clash only.
2. Renamed createDefault method to createDefaultApplication for better
readability.
3. Removed AppsmithError and AppsmithErrorCode. Not required with
current change.
4. Updated cloneApplicationDocument method in
ExamplesWorkspaceClonerCEImpl to directly call createDefaultApplication
with contains suffix retry logic.
5. Removed same retry suffix method which is used in
ExamplesWorkspaceClonerCEImpl. Not required.
6. Updated test case for this change.

Fixes #7401


## Type of change

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


## How Has This Been Tested?

- Manual :  Tested by using backend api.
- 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
- [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-05-05 11:33:07 +05:30
Abhishek
0b541a562e
fix: added userPermissions in newPage Api (#22970)
## Description

### Issue:
Need to add userPermissions in response to newPages Api inside pages
array: These are the APIs
/v1/pages?applicationId={applicationId}&mode={mode} - Get method
/v1/pages/application/:applicationId - Get method

### Solution:
Added userPermissions in the response of the above APIs.

### Changes:
These are the changes done in the following file to add userPermission
in the newPage Api response
1. New FieldName added which is used in query
2. userPermission attribute added in PageNameIdDTO
3. userPermission coming from db set to response in NewPageServiceCEImpl
4. Test cases updated

Fix #21887

## How Has This Been Tested?
1. Manual testing through postman and UI
2. 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
- [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-05-04 17:31:44 +05:30
Nilansh Bansal
fd2ff82b0e
fix: advanced filetype validation (#22808)
## Description

> This PR adds a second layer validation to the basic mime type
validation that's in place which checks the file extension.
> If the `ImageIO.read()` library returns null for .png/.jpeg type
files, it indicates a corrupted file upload, hence it returns
VALIDATION_FAILURE.

Fixes #22592 


## Type of change

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


## How Has This Been Tested?

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

---------

Co-authored-by: Anand Srinivasan <anand.a.srinivasan@outlook.com>
2023-05-04 15:39:10 +05:30
Nilansh Bansal
3915334dd9
fix: display name validation (server) (#22927)
## Description

> This PR adds a validation regex for display name, it allows for
Accented characters such as (ä ö ü è ß) etc, and alphanumeric with some
special characters dot (.), apostrophe ('), hyphen (-) and spaces.
> It also allows for chinese characters, eg. 황현미

Fixes #22578 

## Type of change

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

## How Has This Been Tested?

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

---------

Co-authored-by: Anand Srinivasan <anand.a.srinivasan@outlook.com>
2023-05-04 10:49:45 +05:30
Nidhi
cd96013b68
fix: Updated Template to create datasourceConfigurationStructureList (#22873)
This PR is a follow up to #22847 to make CRUD templates work again.

TODO:
- [x] Wait for #22847 to get merged and then uncomment generate CRUD
tests
- [ ] Test all generate CRUD flows

---------

Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
2023-05-04 00:19:40 +05:30
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
Abhijeet
9c40e61285
fix: Remove support for updating the Git connected application via file import (#22870)
## Description

We recently introduced a way to update the existing application via JSON
import. We want this feature to be available for only non-git connected
application. This is to avoid feature duplication in Appsmith platform
as Git connected application can perform the backup and sync with git
pull, git merge etc.

Fixes https://github.com/appsmithorg/appsmith/issues/22832,
https://github.com/appsmithorg/appsmith/issues/22831

## 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
- 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
- [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-05-01 20:21:37 +00:00
Abhijeet
32e8224120
feat: Update existing app via JSON import (#22684)
## Description

When a user wants to develop in an instance and deploy in another, the
only way to update an app is via Git. In scenarios where this is not
possible (either in Airgapped scenarios or due to the user's choice),
the user cannot update the deployed app. This PR allows a user to update
an existing app via JSON import. The original references will be
maintained where applicable

> TL;DR: Provide a way to update the existing application via JSON
import in situations where Git sync is not an option.

Fixes #22075 

### How to test?
1. Create a new workspace `WS1`
2. Create new app
3. Generate CRUD page
4. Export the application
5. Create new workspace lets's call this as `WS2` and import the
exported app from step 4
6. Create another page `pageCreatedInWS2` in imported application in
`WS2`
7. Export the updated application from `WS2`
8. Update existing application created in step 2 in `WS1` by importing
the application which is exported from `WS2` in step 7
9. Updated application should have `pageCreatedInWS2` page

```
Curl for ref:
 curl --location '{{base_url}}/api/v1/applications/import/{{workspaceId}}?applicationId={{applicationId}}' \
--header 'Cookie: SESSION={{cookieSessionId}}' \
--header 'X-Requested-By: Appsmith' \
--form 'file=@{{JSON_FILE_TO_IMPORT}}'
```

## Type of change

- New feature (non-breaking change which adds functionality)
- This change requires a documentation update


## 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
- [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-04-27 22:55:07 +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
Vishnu Gp
e651f6242e
feat: To store user's Intercom email share consent on backend (#22648)
## Description

Currently, there is no way for us to know any details about a user when
they reach out to support via Intercom. Thus, we are not able to offer
the right level of support to them basis their current plan.

The idea is to ask for consent to share user details with Appsmith
before Intercom is enabled for a user, the basis which support can
determine the right level of support.

This PR helps to store and retrieve the flag variable for a particular
user which says whether the consent was given or not.

Fixes #22611

## Type of change

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


## 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
- [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-04-24 12:04:09 +05:30
Nilesh Sarupriya
b90a14ce00
chore: change workspace update from save to update object (#22549)
## Description

> Change the update workspace flow to update using the MongoTemplate
`updateFirst` rather than Repository `save`

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

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

## How Has This Been Tested?
> `testWorkspaceUpdate_checkAdditionalFieldsArePresentAfterUpdate` 

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

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-04-20 11:34:08 +05:30
Nilansh Bansal
54dfd18de6
fix: Revert PR 22157 (#22280)
## Description


> This PR reverts the changes done in #22157 
> Another PR will be raised post the blockers are fixed to create the
`forkWithConfiguration` field as this can impact the users forking their
apps directly.

Fixes #21691 


## 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-11 22:49:03 +05:30
Abhijeet
bf3cb2e804
refactor: Seperate out service level methods to helper classes to have custom implementation in business edition (#21884)
## Description

For air gap instances, public internet will be restricted and as a
result, cron jobs that depend on cloud-services won't be supported. As a
part of this, the current PR creates a helper class to have a custom
implementation on the EE repo.
Corresponding EE PR:
https://github.com/appsmithorg/appsmith-ee/pull/1252

Fixes #21522 #21521 #21882 

## 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
- [ ] 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-10 16:30:16 +05:30
Nilansh Bansal
5645310887
feat: forkWithConfiguration flag added for forking app to a workspace (#22157) 2023-04-07 07:05:37 +05:30
Abhijeet
bc156a0766
fix: Build failure because of access token signature difference in EE repo (#22044)
This PR fixes the build failure which got introduced because of the
recent PR merged as a part of enabling default JsonView
https://github.com/appsmithorg/appsmith/pull/21766
2023-04-03 19:25:45 +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
Nilansh Bansal
ce9bc24dc7
fix: Removed applicationDetail empty object initialisation (#21828)
## Description

> This PR removes applicationDetail initialisation for empty object from
the publish application method.
> Due to the initialisation while publishing, git was detecting some
changes in the application json and only these two fields were getting
set in a separate commit.
> With this fix, these fields will be set only when a user explicitly
sets these properties.

Fixes #21727 

## Type of change

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


## How Has This Been Tested?
- 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
- [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
- [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-03-28 23:58:11 +06:00
Nilesh Sarupriya
97d2687743
chore: infra structure changes for the Application share (#21685)
## Description

> This is a helper PR which contains the following changes:
> - Remove Appsmith Roles: `APPLICATION_DEVELOPER`/ `APPLICATION_VIEWER`
> - `PolicyGenerator.getChildPermissions`: Get all hierarechical
permissions for an entity, given a permission.
> - Deprecate `permissions` data member in `PermissionGroup.java`
> - Refactor `MemberInfoDTO.java` to hold multiple roles.
> - Split `PermissionGroupInfoDTO.java`
> - `TextUtils. generateDefaultRoleNameForResource(String roleType,
String resourceName)` added

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

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

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


## How Has This Been Tested?
> The existing test cases should pass and the newer test cases have been
written in the EE PR

### 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: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
2023-03-23 15:03:14 +05:30
subratadeypappu
99b03f2fa0
fix: Don't disclose sensitive info in case of DuplicateKeyException (#21568) (#21596)
## Description

When data integrity is violated in the case of `DuplicateKeyException`
sensitive information like Appsmith URI is exposed to error messages.
This is a big security risk that needs to be fixed and any error message
shouldn't display Appsmith server credentials.


[RCA](https://github.com/appsmithorg/appsmith/issues/21568#issuecomment-1475746719)

[Slack
Thread](https://theappsmith.slack.com/archives/C0423TJFUJK/p1679082313650259)

Fixes #21568 


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)
- Chore (housekeeping or task changes that don't impact user perception)


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

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-03-22 11:40:27 +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
Nilesh Sarupriya
3ce5a7a7cf
chore: add utility to check if a permission is for an entity (#21514)
## Description

> add utility to check if a permission is for an entity

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

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


## How Has This Been Tested?
> `testIsPermissionForEntity`

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

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-03-17 14:29:23 +05:30
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
Nayan
ab568573cf
chore: Refactored code for git discard flow (#21453)
## Description
This PR refactors the discard flow by removing the Pull flow. It'll only
discard local changes and revert to the last committed version.



Fixes #20622 
> if no issue exists, please create an issue and ask the maintainers
about this first
2023-03-16 09:03:35 +00:00
Nayan
e0bfdbe6c3
chore: Added tests for leave workspace flow (#21416)
## Description

Added and updated tests for the leave workspace flow. 

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: Nilesh Sarupriya <nilesh@appsmith.com>
Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: nilansh <nilansh@appsmith.com>
2023-03-16 12:48:19 +05:30
Nilansh Bansal
3a22c4d91d
refactor: application detail refactor (#21130)
## Description

> This PR refactors the backend code and the `Application` model to
accumulate the newly added published and unpublished fields into
`ApplicationDetail`

Fixes #19280

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

## 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-03-15 15:05:35 +06:00
Nayan
6158c49b05
fix: cloned application is not published (#21366)
## Description
When an application is cloned, it's not published. As a result if the
user tries to open the new application in view mode, it throws error.
This PR fixes it.

Fixes #21309

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)


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

### 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-03-14 13:20:40 +05:30
Nilansh Bansal
8a78450659
chore: fix flaky test publishApplication_withPageIconSet_success (#21355)
## Description
> This PR fixes the flaky test
`publishApplication_withPageIconSet_success` by maintaining the page
order of the application pages

Fixes #21220 

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


## How Has This Been Tested?

- 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-13 17:29:58 +00:00
Nayan
ba81cb2ea1
feat: Add option to delete a application snapshot (#21216)
## Description
This PR adds the option to delete an application snapshot in the
following cases:
    
- A DELETE API that'll delete an application snapshot
- The restore API should delete the underlying application snapshot if
the restore is successful



Fixes #21215


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.

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


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

### 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-03-09 11:16:43 +05:30
Nayan
e1d859acb4
feat: Add api to update mulitple layout (#21105)
## Description

We need an API to update multiple page layouts with a single request.
For the mobile responsiveness project, the client migrates an existing
app from fixed layout to auto layout. After the migration is done, it
needs to send the updated layout one by one. With this new API, the
client needs to make a single API call to update all the layouts.

Fixes #21104
2023-03-03 17:20:15 +06:00
Nidhi
ec351ccdb7
fix: Removed on page load edges from layout model (#21038) 2023-03-02 11:28:32 +07:00
Nayan
2116a2cc70
feat: Add a restore point for Applications (#20933)
## Description
This PR adds a way to take a snapshot of an application on the database.
That snapshot can be restored to the application.

Under the hood it uses the Export-Import feature.

Fixes #19720
2023-03-01 17:06:18 +06:00
Nilesh Sarupriya
5a31fd53a7
feat: migrate default workspace to default domain (#20501)
## Description

> Migrate the Default Workspace Id field in Permission Group to a
combination of Default Domain Id and Default Domain Reference field.

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


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

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


## How Has This Been Tested?
> Tested manually

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

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-02-24 12:31:52 +05:30
Manish Kumar
6282932c89
chore: refactoring workspace creation and archive methods to facilitate environment creation in EE. (#20494)
## Description

> In Enterprise edition, the environments will be created by default
when we create a new workspace.
However to facilitate those changes, and to keep code maintainable,
these snippets are neccesary.

> This PR has refactored workspace creation flow into separate methods
to
-  allow addition of resourceIds in `permissionGroup` permissions in EE.
-  added static method to reduce code repeatability

> This PR has changed some methods in workspaceServiceTest, those
methods were using same workspace object to create new workspaces when
called in a loop, however the workspace object used to create was
assigned id after first `workspaceService.create` call, the subsequent
create calls returned same workspace object, furthermore the linked
dependents were new each time causing problem.
As a fix, creating a new workspace object each time for create calls in
loop.

## TL;DR
> Refactor to facilitate the default environment creation PR in the EE 

Fixes https://github.com/appsmithorg/appsmith/issues/20790
> This issue is a facilitator PR for [default environments with
workspace PR](https://github.com/appsmithorg/appsmith-ee/pull/1027).

## 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
- [ ] 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-20 20:37:38 +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
Anagh Hegde
34822d563a
fix: Add file system locks after the git operation (#12174)
## Description

> Add file locking using redis with retry. Helpful when multiple users
are trying to perform git actions in the Appsmith UI.

Fixes #10856 
Fixes #14366

## Type of change


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

## How Has This Been Tested?

- Test A
- Test B

## Checklist:

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

---------

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: System Administrator <root@Parthvis-MacBook-Pro.local>
2023-02-14 20:58:25 +05:30
Abhijeet
3ec9154034
chore: Remove usage pulse logging for Appsmith cloud (#20588)
## Description

> We are working on usage and billing feature and as a part of usage
calculation, we are recording the usage pulses at 1 hr intervals today.
As the business cases are evolving we received a request to log the
pulses for every 5mins instead of an hour. Just to provide the existing
stats for the past month on our cloud alone we have received 155545
pulses with 1hr intervals between the pulses. Also going forward if are
doing it with 5mins intervals this count is going to increase by 12
folds. Now considering we will not be monetising the cloud platform
until multi-tenancy is out, do we have usecase where we still need the
usage data? If not we would like to stop recording these usage pulses on
Appsmith cloud and bring it back after multitenancy is live. Until then
self-hosted EE instances will report the pulses as expected.

> TL;DR: Remove logging of usage pulses for Appsmith cloud not to bloat
the cloud services DB, as these pulses will not be used unless the
multi-tenancy is introduced

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

## Type of change

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

## 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
- [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
2023-02-14 11:46:33 +05:30
Nayan
d71fe7a883
chore: Removed comment feature codes (#20192)
## Description
Removed the codes related the comment feature
Fixes #20140
2023-02-09 22:54:21 +06:00
Abhijeet
9f6ef23f5a
feat: Support mongodb transactions for import application flow (#14939)
## Description

Import application flow is a multi-stage process where we touch all the
mongo DB collections required to store the application in DB, which
today includes pages, actions, JSObjects, etc. When the flow is complete
then only we can say the application is successfully imported and DB
won't have any stale objects stored. But in a negative scenario where
the flow might break because of some unknown exceptions, objects stored
earlier become stale and reside in DB forever. With this PR we are
establishing the infra for transactions to avoid saving stale DB
objects. This is achieved by a rollback mechanism in case an exception
is thrown in the middle of execution.

Note: Since transactions are built on concepts of logical sessions they
require mecahnics (like oplog) which are only available in replica set
environment.

You can always convert a standalone to a single noded replica set and
transactions will work with this one node.


[https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set/](https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set/?_ga=2.53712296.1453502529.1669195955-2065030687.1664009965)

```
For local dev earlier we used to run the single node without replica set. Henceforth if we want to take the advantage of transactions please follow the steps to run mongod single node in local with replica set:

- Upgrade the MongoDB version to 4.4 or higher if it’s 4.2 or lower (https://www.mongodb.com/docs/manual/release-notes/4.4/#std-label-4.4-upgrade)
- Close the mongoDB instance running in your local
- Start the mongoDB in replica set mode and initiate the replica set
    - mongod --port 27017 --dbpath <path/to/db> --replSet <replica-set-name> && mongo --eval “rs.initiate()”
- One can use following commands to check replica set status: 
    - mongo appsmith
    - rs.status()
- By this time you should have the mongo running with replica set
```
<img width="1788" alt="Screenshot 2022-07-01 at 10 31 27 PM"
src="https://user-images.githubusercontent.com/41686026/176944386-f9d94715-c0cf-4900-93b7-f73647132d60.png">

This also means mongodb connection string used in env file will now
include the replica-set name if one wants to leverage transactions:
`mongodb://localhost:27017/appsmith?replicaSet={replica-set-name}`

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

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- This change requires a documentation update

## How Has This Been Tested?

> JUnit 
> Manual test

## Checklist:

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

---------

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-09 14:50:04 +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
Manish Kumar
1a1710f4bb
chore: Adding environmentName parameter in datasource test flow and required decomposition and refactors. (#19783)
## Description
- TL; DR , small Pr to add environmentName to Datasource-controller for
`test`, `structure`, and `trigger` flows. In order to adapt for
environments. There is a method addition in authenticationValidator, and
further refactor to avoid code duplicity.

- With Introduction of multiple environments we would have
configurations corresponding to each environment. In order to test these
configurations, we would require an environment parameter to be passed
as an argument, this could be done by passing an environment header with
the current datasource `test`, `structure`, and `trigger` flows,
however, since our community and enterprise flow uses the same code. We
require our community code to include the header which however, will not
be used in the community edition but it will have complete usage in
enterprise edition.
- A `validateAuthentication` method in `authenticationValidator`
interface has been loaded with an extra parameter (environmentId) for
environment support, EE changes will follow post the merge.
- `Datasource trigger and Datasource Structure flows`, required some
refactors to make it work with environments as well.

## Type of change

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

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

Existing test cases are adequate, just tweaked a few test cases to
accommodate changes.


## 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-02-03 18:43:34 +05:30
Nayan
d79c1b918e
chore: Add photos of workspace members in homepage API response (#20132)
The homepage API is used to load list of workspaces, apps under those
workspaces and their members. The list of members is used to display a
profile photo of the members. The client loads the profile picture using
the email address of the member. This can lead to 404 if the member has
no photo set.

This PR includes the photo ids in the response so that client knows
whether the user has photo or not. If photo is not set, client will not
try to load it. So the 404 responses will no more be there.

Fixes #20127
2023-02-01 17:38:12 +06:00
Nilansh Bansal
eb9f4f5883
feat: Adding Icon to Application Pages (#20247)
## Description
> This PR implements the backend APIs for updating icon to a Page.

Fixes #20199 


## Type of change

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

## How Has This Been Tested?

- JUnit
- Postman

## 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
2023-02-01 11:17:56 +00:00
arunvjn
7ca4f73cdf
fix: library installation failure in public apps (#20112)
- Feature flag API returns an empty response for public applications.
The API to fetch installed libraries was behind the custom JS library
feature flag and thus wasn't invoked. This PR removes all the references
to CUSTOM_JS_LIB feature flag in the code base.
- Add change to make Custom JS Lib view endpoint accessible without
login.
- Add JUnit TC to test for js lib presence in view mode.
2023-02-01 10:37:39 +05:30
Nayan
1a78741c4d
fix: Return system theme when application theme not found (#20170) 2023-01-30 19:26:29 +05:30
Nilansh Bansal
ad2c9c060b
feat: Collapse invisible widgets Field for Auto-height (#20142)
## Description

> This PR implements the backend APIs for Invisible widgets in
Auto-height containers
> Notion doc here:
https://www.notion.so/appsmith/Invisible-widgets-in-auto-height-containers-460c6bf4e0a342e4a1fa4955f7f6c461
> Frontend feature implementation here:
https://github.com/appsmithorg/appsmith/pull/20118

Fixes #19983 


## Type of change

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


## 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
- [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
2023-01-27 17:43:20 +00:00
sidhantgoel
4b66d0c87f
fix: flaky tests due to startup happening async (#20079)
Testcases were flaky because loading cache after application is ready is
happening in async with testcases, so sometimes testcases fails if cache
is not loaded by the time testcase executes.
Testcases fail and gives the following error message `Appsmith server is
not ready. Please try again in some time`

This fixes the issue by running startup process in sync after
application is ready.

And there is a genuine failure of testcase
`exampleApplicationsAreMarked` which is fixed.
2023-01-25 17:42:25 +05:30
Nilansh Bansal
6531bd6aeb
feat: APIs to Upload/Delete App navigation logo (#19164) (#19771)
## Description

Implements backend APIs for Uploading and Deleting Navigation Logo

Fixes #19164

## Type of change

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



## How Has This Been Tested?

- Manual
- Postman
- JUnit Tests

## 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
2023-01-23 07:38:59 +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
Sumit Kumar
89265391c4
fix: fix git related issues in Custom JS Library feature (#19886)
## Description
- Remove published JS libraries from becoming part of the exported application when exporting for Git. 
  - This was causing a problem with git status because git status would consider the published libraries as well when fetching git diff however, when creating commit only unpublished libraries are used. 
  - I am not sure why, but it seems to fix the git merge issue as well - not sure at the moment. Waiting for a verification from QA on this. (Update: QA has verified this as well)
 
Fixes #19764 #19766 

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


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

### 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
- [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 13:25:53 +05:30
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
Anagh Hegde
6400d8c7c1
fix:use correct error message for git import failures (#19848)
## Description

> Instead of the generic error message which confuses the user during
the git sync failure due to the hydration from file to db or vice versa,
we are now showing a better error message which does not confuse the
user.

## 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
- [x] 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
2023-01-19 11:15:28 +05:30
Anagh Hegde
a60322948f
fix: Add support for the shh url that does not contain domain name (#19879)
## Description

> When the git service is self hosted, one can chose to not to set up a domain name. But this set up does not work with the current git sync feature. This PR fixes this bug by supporting such use cases. 

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

## Type of change

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

## How Has This Been Tested?

- Manual
- JUnit


## 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-01-18 19:46:53 +05:30
Nilansh Bansal
3b1c663a54
fix: Navigation Settings API (#19780)
## Description
This PR bug fixes the API for updating Navigation Settings (implemented
by #19272).

Fixes #19163 

## Type of change

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

## 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-01-17 13:28:38 +00:00
Manish Kumar
5aadb4161e
chore: datasourceContextService refactor (#19485)
## Description

In order to account for multiple environments changes, the
DatasourceContextServiceImpl.java methods needs refactoring to achieve
minimal code duplicity.

- [x] Create class to hold the key for dscontext maps.
- [x] Refactor methods in order to have minimum duplicity.

Fixes #19451 
This PR is to facilitate the below reference PR in achieving minimum
code duplicity and reducing excess db calls to fetch same resource.
More reference: https://github.com/appsmithorg/appsmith-ee/pull/756


## Type of change
- chore

## This has been tested
- Manual
- Jest


## 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-01-16 21:22:55 +07:00
Nayan
335c079781
feat: Return first page as home page when application has no home page (#19680)
## Description
When an application has no home page set, the get pages API returns
internal server error. Instead of failing, the get pages API should
return the first page as home page.

Fixes #19679

## 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
- [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-13 16:22:01 +06:00
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
Nilesh Sarupriya
05e421308c
fix: save a query as valid if datasource has no permissions (#19307)
## Description

> Currently a query is saved as invalid, if there are no datasource edit
permissions provided. This leads to query being invalid for all the
users. So, if now the edit permissions are provided to the Query, but
not to the datasource, the user will be able to save the queries.

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


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?
> validateAndSaveActionToRepository_noDatasourceEditPermission

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

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-01-09 14:19:48 +05:30
Vishnu Gp
80f23a5af1
chore: Updated the usage pulse format (#19565)
## Description

The usage pulse format is updated

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

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

## 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
- [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-09 10:47:34 +05:30
Nilansh Bansal
75a8cbf288
Feat: App Positioning Feature Backend Implementation (#19514)
## Description

Implements backend functionality for App Positioning (Auto Layout)
Feature

Fixes #19348 


## Type of change

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


## How Has This Been Tested?

- JUnit 
- 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
- [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
2023-01-06 18:59:57 +00:00
Nidhi
a6d428b513
fix: Fixed an edge case with refactoring widget names similar to template widget names (#19350)
## Description

If a widget was being refactored from `Text1` to `Text2`, and the same
application had a List widget with a template widget of the name
`Text12`, then the refactor logic was breaking the recalculation of
dynamic binding path list. This fix checks for the complete name instead
of a partial match.

Reproduction and context:

https://theappsmith.slack.com/archives/C02JV8G1MP0/p1672388698340299?thread_ts=1671080059.752969&cid=C02JV8G1MP0

Fixes one cause of #10037 

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

## 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
- [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
- [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-06 17:33:22 +05:30
Nilansh Bansal
f70987c52f
fix: Updated isPublic field to fetch from Permission groups (#19132)
## Description
> Fixes the `isPublic` field in the update application API
`/applications/{applicationId} (PUT)` response.


Fixes #19131 

### Media



https://user-images.githubusercontent.com/25542733/209096894-2d88d20d-6636-4d8a-9bf0-7a04a95f75dd.mov



## Type of change

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


## 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
- [ ] 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-01-05 06:58:47 +00:00
Abhijeet
4c8dac4454
fix: Fix flacky testcase for clone application (#19452)
> Pull Request Template
>
> Use this template to quickly create a well written pull request.
Delete all quotes before creating the pull request.

## Description

> 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

> Add a TL;DR when description is extra long (helps content team)

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)
- 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-01-03 18:52:33 +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
Trisha Anand
788cfe995b
fix: invite user should not update existing member's role (#19254)
Fixes #19244 
Fixes #17606

If an existing member is invited again from the Share modal with a
different role, the user gets assigned the other role as well. This
breaks the framework that a member of the workspace can only have a
SINGLE role. This breaks other flows like update role/delete member etc
because they all run with the assumption that the member can not have
more than one role in the workspace. This PR fixes this by throwing an
error if a user is being invited again to the workspace.
2022-12-28 07:03:54 +00:00
Trisha Anand
54fb76d2d6
fix: Adding user permissions in the response of move JS object between pages (#19212)
Fixes https://github.com/appsmithorg/appsmith/issues/19129
2022-12-26 18:32:23 +05:30
Anagh Hegde
ed05814abf
fix: Issue with permission in application publish and importExport flow for git connected app (#19190) 2022-12-26 17:59:12 +05:30
Nidhi
81b257673f
chore: Upgraded Spring Boot and Spring to intermediate ver (#18844)
* chore: Upgraded Spring Boot and Spring to intermediate ver

* Introducing encryption version

* Added exit path on start up

* Fixed a few failures with release data

* Modified from property to init migration

* Removed prop

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/configurations/InstanceConfig.java

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

* Added comment on prop

* Minor stuff

* Test fixes

* Removed test dir

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-12-22 15:59:20 +05:30
sidhantgoel
dbb72c4778
feat: Support for Import/Export without ACL (#18997)
For EE RBAC compatibility, import/export for git sync does not use ACL
2022-12-21 23:35:11 +05:30
Nilesh Sarupriya
33077063ab
ci: flaky test validCloneApplicationWhenCancelledMidWay (#19091) 2022-12-21 14:13:54 +05:30
Sumit Kumar
803043c12e
feat: add endpoints for custom JS library add / remove / get (#18904) 2022-12-16 18:00:50 +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
Trisha Anand
27b579fa68
chore: Refactor sign up flow to support create workspace to be permission driven (#18981) 2022-12-15 23:47:36 +05:30
Trisha Anand
69bc3c06dc
fix: [GAC] editing js objects should use read permission for creating actions (#18977)
* chore: For Js action, only using read permission while creation. For non Js actions, using create page permission to fetch the page

* fixing ci test case failure
2022-12-15 23:45:02 +05:30
sidhantgoel
f2d7f54c29
chore: Splitted import export service code for V2 (#18927) 2022-12-15 11:23:25 +05:30
Manish Kumar
654f94a94c
chore: decomposing action execution flow methods into smaller methods (#18762) 2022-12-14 15:43:14 +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
Pawan Kumar
d7e2c491e0
feat: Branding (#18717)
* add branding for ce

* add ce changes

* update colorpicker ux

* remove unsued flag

* Add new email templates

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* add local appsmith logo

* code review feedback fixes + qa fixes

* remove forward slash in url of favicon

* fix message

* Fix tests

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* update messages

* Fix tests (again)

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* update messages

* fix cypress tests

* skipping app layout test cases

* fix cypress tests

* remove it.only

* try moving test

* use stable DS version

* remove __diff

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-12-09 20:13:47 +05:30
Nirmal Sarswat
9f0b9ee94b
fix: Filtering out empty value env variables from /admin/env API response in backend (#18430)
* Filtering out empty value env variables from /admin/env API response in backend

* adding UT for getAllNonEmpty;
2022-12-09 17:17:26 +05:30
Shrikant Sharat Kandula
cf81c14ec2
chore: Add multipart payload support for admin settings (#18434) 2022-12-09 13:46:14 +05:30
Nidhi
166414b6d6
chore: Improved metadata on logs when reading DSL fails (#18692)
* chore: Improved metadata on logs when reading DSL fails

* Fixed test

* Test fix

* Review comment
2022-12-05 22:35:44 +03:00
Trisha Anand
74dddd4701
fix: Add user permission in the response for update datasource api (#18629) 2022-12-02 13:40:57 +05:30
Nidhi
83cbc3aed1
fix: Added view mode param to returned application object (#18522)
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-11-30 08:34:02 +03:00
Nidhi
9b45afbffb
chore: Fixed a failing assertion in page clone test (#18526) 2022-11-30 08:33:49 +03:00
Trisha Anand
effbcd1d25
chore: Minor code refactor to support changes around permissions and test cases in EE (#18563) 2022-11-29 21:28:43 +05:30
Nilesh Sarupriya
c27fbac04a
feat: segregate entity permissions (#18384) 2022-11-29 00:27:28 +05:30
Anagh Hegde
a7cb2ce39d
fix: App card is created even when app import fails and no action can be performed on this app card (#18034)
* Add loigc to delete the app created when the corrupted file is uploaded

* Update error message to fix test failures
2022-11-25 11:39:41 +05:30
Nilesh Sarupriya
287311ee98
feat: set user permissions for js object (#18077) 2022-11-21 17:22:04 +05:30
subratadeypappu
4e20b4c496
Fix JS object duplicate name issue (#18198) 2022-11-19 09:19:36 +05:30
Vishnu Gp
9c1f9e4af8
fix: Corrected usage of old soft deleted filter in BaseAppsmithRepository (#18238) 2022-11-18 09:33:00 +00:00
subratadeypappu
993eae833e
fix: JS Objects save failures due to AST changes (#18018) 2022-11-16 05:40:29 +05:30
Nilesh Sarupriya
39c4ae7f54
chore: add EE Pojo for UpdatePermissionGroup (#17902) 2022-11-02 21:46:44 +05:30
Trisha Anand
8f5e23b346
chore: Minor refactor to move the test case of CacheableRepositoryHelper to common code for CE and EE (#17950) 2022-10-29 16:08:14 +05:30
Trisha Anand
cbc0ad911a
chore: Delete default permission groups when workspace is deleted (#17941) 2022-10-28 17:37:41 +05:30
Nilesh Sarupriya
3ee6572f77
chore: refactor workspace members api (#17891) 2022-10-27 11:56:08 +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
Nilesh Sarupriya
e572a24f87
feat: set user permissions to objects when creating (#17871)
* set user permissions to objects when creating

* add/edit test cases

* add action collection test case

* update failing test cases
2022-10-26 14:43:21 +05:30
Anagh Hegde
e6d31115ee
fix: After merging the template the deployed version of the App was failing to load (#17753)
* WIP

* Do not update published pages while merging template for the existing App

* Add test case
2022-10-25 10:57:51 +05:30
Trisha Anand
9f1488a623
chore: Code split and refactor for inviteUser flow (#17807) 2022-10-23 15:30:19 +05:30
Arpit Mohan
82bf01fce9
chore: Update READ_PERMISSION_GROUP to PERMISSION_GROUP_MEMBERS (#17826) 2022-10-22 17:40:21 +05:30
Arpit Mohan
86c21b3af9
chore: Fixing flaky behaviour in SeedMongoData (#17812) 2022-10-22 12:47:51 +05:30
Arpit Mohan
4e71432d74
chore: Adding base repository function to add user permissions to generic domain object (#17733)
## Description

Adding base function to set the user permissions for a user in any domain object. 

As part of this, we also add default permission group to the `SeedMongoData`. Without this fix, the JUnit tests go into an infinite loop. Also fixing the `ExampleWorkspaceClonerTest` file.

## Type of change

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

## How Has This Been Tested?

- JUnit

## Checklist:

- [ ] 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
2022-10-20 03:00:30 +05:30
Anagh Hegde
06f1b23625
chore: Add properties to analytics event (#17621) 2022-10-17 22:21:07 +05:30
Nilesh Sarupriya
019072b4de
fix: update regex and test case for organisation website (#17612) 2022-10-17 21:43:07 +05:30
Nidhi
2af4fd136b
fix: Fixed check for duplicate JSObject names in an application page (#17536)
* fix: Fixed check for duplicate JSObject names in an application page

* Fixed merge conflicts

* Reverted file with unchanged tests

* Fixed test name
2022-10-17 10:31:42 +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
Arpit Mohan
6e2ebbe2fd
chore: Fixing the API to fetch current tenant configuration (#17581)
Fixing the /api/v1/tenants/current API
Also fixing the ObjectMapper configuration to serialize empty beans in the entire product
2022-10-15 16:27:42 +05:30
Arpit Mohan
1d176ec086
feat: Add configuration API to save some configurations in tenantConfiguration (#17407) 2022-10-15 10:04:21 +05:30
Anagh Hegde
b60c504f7d
fix: Post forking an application without the first page the application ends up having pages with page name as the page id (#17474)
* Remove pages from the application object as well while merging the selected pages

* Add tests for selected pages with merge template flow

* Add test case for all the pages selected
2022-10-14 08:06:53 +05:30
Nilesh Sarupriya
725abae97a
chore: add transient user permissions to action collection DTO (#17485)
* Add transient user permissions to Action Collection DTO

* Add test for Transient Fields.
2022-10-14 01:23:05 +05:30
Nidhi
b9aff18c62
chore: Refactoring refactor flows (#17442)
* chore: Refactoring refactor flows

* Merged fron release
2022-10-11 15:24:04 +05:30
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
Anagh Hegde
1a7820517c
fix: forking template to a child branch of git connected app is throwing Page not found error (#17292)
* Use the branched application for git connected apps

* Add error handling and comment

* Changes per review

* Add check before updating the action collections with the defaultPageId from the default page for git apps

* Fix git sync id not set in ImportExport flow

* Remove error handling

* Add tests for template merge flow
2022-10-07 17:11:01 +05:30
Nilesh Sarupriya
f6365671d9
fix: workspace email website validation (#16912)
* Add validation checks for Email and Website

* Add test cases

* Update pattern and Test cases

* Valid and Invalid samples for regex

* Update test cases.
2022-10-06 11:56:38 +05:30
Shrikant Sharat Kandula
2bc928745e
Fix updating wrong workspace (#17266)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-10-03 14:41:19 +05:30
Trisha Anand
06bee0f13e
chore: Refactored validCreateWorkspaceTest test case to ensure EE test case scenario also passed by moving away from absolute assertions to containsAll way of expression (#17245) 2022-10-02 16:59:53 +05:30
Shrikant Sharat Kandula
cc68fac236
Fix escaping single quotes in env variable values (#16983)
Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-09-29 18:37:59 +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
cc1a39b36d
test: Fix Curl import test failures for AuditLog (#17013)
Fix Curl import test failures for AuditLog
2022-09-26 13:33:19 +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
Anagh Hegde
63fa43ecc1
test: Add user details for tests (#16944)
* Add user details for tests

* Remove withUserDetails annotation where not required
2022-09-22 21:37:36 +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
sneha122
44e08b096d
fix: fixes right body type not selected after curl import (#16549)
* fixes rght body type not selected after curlimport

* added apiContentType key in ActionConfiguration formData property

This commit fixes the bug https://github.com/appsmithorg/appsmith/issues/13978 and changes two files:
		* appsmith-server/src/test/java/com/appsmith/server/services/CurlImporterServiceTest.java
		* appsmith-server/src/main/java/com/appsmith/server/services/ce/CurlImporterServiceCEImpl.java

additionaly this commit fixes the Body type detection for REST APIs with GET method  when imported from cURL.

* Made changes to the casing of Header key 'content-type', now it is  HTTPHeader.CONTENT_TYPE standard -> 'Content-Type'. changed test cases accordingly.

* Made header-key check in assertHeader functions case insensitive in CurlImporterServiceTest.java

* removed wildcard imports and changed some comments

* changes according to PR review comments

* updated imports for APIPaneUtils

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
Co-authored-by: manish kumar <manish@appsmith.com>
2022-09-21 09:40:36 +00:00
Shrikant Sharat Kandula
83fc89f1a1
fix: No-op Asserts (#16690) 2022-09-13 13:55:33 +05:30
Trisha Anand
aa45f851eb
chore: Minor code refactor + Deleting PermissionGroupServiceTest from CE (#16680)
Minor code refactor + Deleting PermissionGroupServiceTest from CE
2022-09-11 20:53:12 +05:30
Trisha Anand
96435ac235
chore: Using single permission group for all public viewable objects (#16620) 2022-09-08 11:37:12 +05:30
Anagh Hegde
274205196f
test: refactor git test (#16550)
* Refactor tests

* Use Mock.Spy to mock the method of the testing class

* Add the mock for new workspaceId in the test class

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2022-09-07 10:21:09 +05:30
Trisha Anand
918c018049
fix: Performance improvement of /new API by updating the api used for fetching apps. Eliminating public applications from the result (#16497) 2022-09-03 22:33:29 +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
Trisha Anand
0163c22003
fix: For a public app, do not export the default permission group (#16409)
* For a public app, do not export the default permission group

* Adding test to assert that exported application JSON is not public.
2022-08-31 10:44:32 +05:30
Trisha Anand
649fe2ec7c
chore: refactor code split for UserUtils for super user creation (#16348) 2022-08-27 21:39:17 +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
Nidhi
02aa9b29bf
fix: Reset sync function fields on each update (#15442)
* Reset sync function fields on update

* Partial cypress test

* Completed cypress test

* Uncommented every other test :P
2022-08-03 10:11:02 +05:30
Nidhi
7693c759aa
fix: Do not cache updatable connections (#15593)
* fix: Do not cache updatable connections

* Delete cache entries for stale connections

* Test fixes
2022-08-02 23:13:18 +05:30
Anagh Hegde
4821a5c141
fix: ssh url validation in git to include a few cases where - is present in the url (#15499)
Fix the ssh URL validation to include a few cases with `-` in the url
2022-07-29 10:44:19 +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
91025f94d7
chore: Fixing flaky test in ApplicationForkingServiceTests (#15468)
## Description

Fixes issue in ApplicationForkingServiceTests

## Type of change

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

## How Has This Been Tested?

- Local tests

## Checklist:

- [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
2022-07-27 11:25:15 +05:30
Vishnu Gp
d7fe87fac8
fix: Converted ApplicationForkingServiceTests to synchronous to temporarily solve tests failing on CI (#15450) 2022-07-26 18:20:40 +05:30
Ankita Kinger
3b7ace67b5
feat: migrate texts and error messages from organization to workspace (#15410) 2022-07-25 17:52:09 +05:30