Commit Graph

1149 Commits

Author SHA1 Message Date
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
Nidhi
50172ecd64
fix: Added support for self signed certificate during OAuth2 flows (#14719)
* Added support for self signed certificate during OAuth2 flows, server side changes

* fix: authentication.useSelfSignedCert key added

* Merging from release

* Fixed issue with dependencies, plus bug with using ssl

* Cypress test attempt 1

* Cypress test attempt 2

* Cypress test attempt 3

* Clean up

* Review comments

* Enabled compression again

Co-authored-by: Aman Agarwal <aman@appsmith.com>
2022-07-21 16:10:36 +05:30
Vishnu Gp
728728cac4
fix: App deploying when git push fails (#15255)
* Fix: Prevented publishing the app when git push fails
2022-07-21 10:29:22 +05:30
Sumit Kumar
fc65216782
fix: fix race condition on datasource creation (#14348)
* fix race condition on datasource creation for non-clustered setup
2022-07-20 23:31:50 +05:30
Ankita Kinger
3933f5f4d1
feat: migrate from org to workspace under phase 3 (#14158)
* migration from organization to workspace on code level

* updated a few more files

* fixed runtime errors

* update org settings URL

* Renamed organizationId in domain objects

* changed field named from organization to workspace

* Reverted AppsmithRole changes

* fixed migrations

* recreating indexes

* migration update

* seed data runs before migration, undo changes

* mock commit

* seedmongo to populate upgraded data, datasource upgrade

* fixed two test cases

* updated migrations

* updated prop name

* Upgraded AclPermission

* comment

* migrated AppsmithRole

* more changes

* final set of changes

* variable name changes

* update cypress variable name

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

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

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

* reverting encryption handler change

* refactor code to migrate from org to workspace

* migrated a few missed out org to workspace

* updated a few more

* migrated a few missed out org to workspace

* migration changes

* Removed Permission import

* reverted code change

* few more changes

* fixed failing cypress test

* fixed failing cypress test

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

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

* Added tests

* Added cypress test

* Oopsie
2022-07-13 14:33:19 +05:30
Nayan
bac6162921
feat: Add new field for the page meta data in templates (#14784)
In order to import a specific page or browse to that page, the templates FE need page names and page ids. This PR replaces the list of page names with a list of objects that contains the page names and page ids.
2022-07-13 00:07:18 +06:00
Anagh Hegde
317f340421
feat: fetch branch speific refs from the remote repo (#15067)
* fetch branch specific refs from the remote repo
2022-07-08 11:29:16 +05:30
Shrikant Sharat Kandula
30236469a9
Fix saving values with special chars in env file (#14873)
Fix how special chars in env values are saved

Also included some refactoring to fix several compile time warnings and lint errors,
including proper formatting.

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2022-07-07 11:27:16 +05:30
Nidhi
906a7298dc
feat: Simplified Google Sheets queries (#14869)
* Client changes 1

* add DSL functionality

* Temp commit for refactoring changes

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

* chore: Second GS layout

* Update: Visibility conditional outputs for schemas

- Added the output from conditional outputs for schema children too

* Update: Entity selector visibility control

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

* Update: Passing disabled prop to toggle button

* Update: Passing disabled prop to toggle btn

* Update: Styled component for toggle button

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

* Update: configProperty role in Entity Selector

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

* Update: type of placeholder key

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

* Update: Added placeholder control for pagination

* Client changes 1

* add DSL functionality

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

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

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

* temp triggers

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

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

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

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

* temp form data access logic

* fix: updated sorting type width ui

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

* Update: Type for tooltip of UQI forms

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

* Update: tooltip for pagination component

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

* Update: Type cast for tooltip component

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

* Update: Fixed tooltip component CSS

* Update: Dropdown option component

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

* fix: updated ẇhere clause broken ui for condition

* Add: functions to check and extract expressions

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

* Add: Types for evaluated form configs

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

* Add: Flow to run the form config

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

* Update: Name of the type for formconfigs

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

* Add: Function to enforce config type checks

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

* Add: Function to update evaluated config

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

* Add: Type check for schema sections

* Update: Error handling for invalid control type

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

* Add: Exposed tooltip for dropdown option disabled state

* Update: switch to json mode functionality

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

* Update: Added key to tooltip for dropdown options

* Trigger API modification

* Add: function to fetch default trigger URL

* Update: Made URL optional in dynamic trigger config

* Update: Dynamic trigger API call

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

* Update: resp type for trigger APIs

* Update: Moved code to utils folder

- Moved functions for UQI form eval processing to utils file

* Update: passing original controltype to JS switch

* Update: config for JSON editor mode

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

* Update: Connected line numbers flag to config

* Revert: CSS changes for tooltip

* Refactor: Removed consle

* Add: type for the config of dynamic values

* Add: Feature to evaluate config for triggers

* Refactor: fix type check errors

* fix: dropdown ui width with text alignment

* Update: fixed selector for dynamic values

* Update: selector call for fetchDynamicValues

* Add table header index prop for columns selector

* migration partial commit

* migration partial commit

* Refactor: removed unused import

* Update: reused function for checking dynamic value

* Update: removed unused import

* Fix format JSON issues

* Retrieve binding paths from entity selector components

* Fixes 6 remaining issues with UQI implementation

* Fix dropdown issues

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

* Migration changes

* Fix QA generated UQI issues

* Fix projection component height and route change logic

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

* Reset entity type value when command value changes

* Test changes

* Review comments

* Moved migrations around

* Corrected import statement

* Added JSON schema migration

* Updated schema version

* perf improvements and filter dropdown options feature

* Fix Code mirror component config for toggleComponentToJson input fields.

* Fix prettier issues

* fix prettier issues

* Fix style issues as a result of the merged conflicts

* Fix failing test case

* Fixed a few other flows (#14225)

* Fixed a few other flows

* Review comments

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

* More fixes (#14367)

* Factor in the root formconfig parent key.

* Fix flickering issues, and evaluatedFormConfig issues

* fix: Teeny bugs (#14455)

* Teeny bugs

* Added previous functionality as is

* Improvements in the way we fetch dynamic values

* Fix stringiification issue and cyclic dependency issues

* Resolve projection component values deletion

* Resolve merge conflicts and fix prettier issues

* fix: Tsc issues

* Fix property pane connection navigation

* updating ee locator

* updating inputfield locator

* dropdown locator update

* Merge conflict not properly resolved.

* Fix s3 spec

* Fix Mongo Spec

* Fix some more tests

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

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

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

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

* Cypress test preparations for google sheets and form controls

* Fixed a few test errors (#14874)

* Add: unit tests for uqi UI updates

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

* Add: completed isValidFormConfig test

* Update: improved tests for update config

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

* Fix failing cypress tests and cyclic dependency issue

* Fixes some more tests

* Fixed migration of row objects (#14896)

* Bumped the version of design system package

* Update: reverted change to EE selector

* Fix deletion pointer

* Update: selector for js on load spec

- Synced with changes related to ADS dropdown

* Fix mongoDBShoppingCart spec

* Remove comments

* Fix: mongo shopping cart test failures

* fix: mongo shopping cart spec

* Dummy push to retrigger vercel

* fix: mongo shopping cart spec

* Update MongoDBShoppingCart_spec.js

* fix: removed unused click away

* dummy commit

* Update: moved helper functions to separate file

* Add: added tests for saga functions

- Worked on testing for
   - extractFetchDynamicValueFormConfigs
   - extractQueueOfValuesToBeFetched

* Add if check for queueOfValuesToBeFetched

* Resolve review comments

* Empty-Commit

Co-authored-by: Irongade <adeoluayangade@yahoo.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>
Co-authored-by: Albin <albin@appsmith.com>
2022-07-04 11:13:27 +05:30
Pawan Kumar
545540723c
fix: Update the default themes in app theming (#14576)
* add new themes

* update default themes

* fix cypress tests

* comment theme test in backend

* updated tests for theming changes

* fix font name in sun rise theme

* update border radius/box shadow labels

* update snapshots + fix cypress tests

* fix cypress tests

* fix cypress tests

* trying fixing snapshot bugs

* trying fixing snapshot bugs

Co-authored-by: Nayan <nayan@appsmith.com>
2022-07-01 11:26:16 +05:30
Nayan
1509d4b0ab
Fix Server build failure due to failing tests (#14837)
Fixes build failure due to missing dependency in controller tests.
2022-06-28 11:01:06 +05:30
Nayan
737bab389d
bug: fixed test failure for get profile of anonymous users (#14805) 2022-06-27 11:55:50 +06:00
Anagh Hegde
e95602ce8a
feat: Add keyType to git import key generation flow (#14762) 2022-06-23 17:54:39 +05:30
Nidhi
049de6b58f
chore: Added actionId and requestedAt fields in ActionExecutionRequest (#14720)
* chore: Added actionId and requestedAt fields in ActionExecutionRequest

* Reverted unrelated failing test

* Fix test failures

* Refactor test

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
2022-06-22 22:43:31 +05:30
Nayan
4431c79e75
fix: Custom theme not copied when creating new branch (#14680)
When a new branch is created where source branch has a custom theme, theme is not copied.
2022-06-21 02:30:46 +00:00
Trisha Anand
c307fc686b
hotfix: Adding workspaceId when missing (#14617) 2022-06-17 12:21:56 +05:30
Abhijeet
ebc4090b53
chore: Enable serialisation for JsonIgnore fields during export flow to avoid adding intermediate fields in DTO (#14120)
* Add separate DTO for import export to serialise JsonIgnored fields

* Move remove unwanted field method for app in aaplication class

* Refactor sanitise objects before export

* Write migrations as per updated serialization implementation

* Fix migration

* Fix NPE during import

* Refactor

* Fix partial import scenario

* Fix testcases for DSLActionDTO

* Remove unwanted testcase

* Fix testcases for orgId to workspaceId migration

* Fix empty repo import testcase
2022-06-17 10:09:28 +05:30
Anagh Hegde
32f9adef21
test: Fixing test failures for git file utils (#14582) 2022-06-16 09:00:36 +05:30
Ankita Kinger
9b7944e7ee
feat: migrate organisation to workspace (#13863)
* migration from organization to workspace on code level

* updated a few more files

* fixed runtime errors

* update org settings URL

* Renamed organizationId in domain objects

* changed field named from organization to workspace

* Reverted AppsmithRole changes

* fixed migrations

* recreating indexes

* migration update

* seed data runs before migration, undo changes

* mock commit

* seedmongo to populate upgraded data, datasource upgrade

* fixed two test cases

* updated migrations

* updated prop name

* Upgraded AclPermission

* comment

* migrated AppsmithRole

* more changes

* final set of changes

* variable name changes

* update cypress variable name

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

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

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

* reverting encryption handler change

* migrated a few missed out org to workspace

* migrated a few missed out org to workspace

* migration changes

* Removed Permission import

* fixed AppsmithRole

* mongodb version update

* fixed compile error

* fixed compile issue

* fixed some tests

* simplified embedded mongodb config

* updated a cypress test

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

* added surefire compatible with junit 4

* Revert the changes of tests class accessibility

* Fix test failures

* test case fixes

* fixed NPE

* Fixed failing tests

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
2022-06-15 12:04:28 +05:30
Vishnu Gp
74ac6b9a1c
Resolved the issue of actionCollection updatedAt field not getting updated (#14323) 2022-06-11 10:03:26 +05:30
Nayan
51744a6727
feat: Return recently used templates first (#13996)
If user has recently used templates set, those should come first in the response of get templates API
2022-06-08 13:25:00 +06:00
Nayan
da2455bb5c
feat: Import an template inside an existing Application (#12507)
This PR adds the feature to import a template inside an application.
2022-06-08 13:24:37 +06:00
sidhantgoel
bacb0ab640
organization export permission in seed data (#14335)
Signed-off-by: Sidhant Goel <sidhant@appsmith.com>
2022-06-07 17:31:15 +05:30
Nayan
722aa11be2
Add custom slug along with auto generated slug for pages (#14065)
Adding custom slugs for pages that can be set by the user.
2022-06-05 00:48:25 +06:00
Anagh Hegde
4c6c109edf
fix: Update the widget from drop down to select widget in suggested widget list (#13944)
* Update the widget from drop down to select widget
2022-06-03 07:49:56 +00:00
Abhijeet
acf3e0c6fd
fix: Add sequential counter suffix for imported application nomenclature (#14245)
* Add sequencial counter for import application flow

* Refactor
2022-06-03 10:37:56 +05:30
Abhijeet
78ce45a190
chore: Remove client subscription for delete branch (#14152)
* Remove client subscription for delete branch

* Remove unused imports
2022-06-02 11:47:13 +05:30
Nayan
a362e536fd
feat: Sort datasources alphabetically and mark recently created datasources (#13958)
Return list of datasources in the GET /api/v1/datasources sorted alphabetically. Also set a flag isRecentlyCreated to the most recently created 3 datasources.
2022-05-29 00:02:39 +06:00
Trisha Anand
132a5065fe
feat: Add conceptual Tenant (#13935) 2022-05-27 18:29:08 +05:30
Abhijeet
845d5b2ad4
chore: Update CRUD page template to include JSONFormWidget (#12662)
* Updated Template

* Fix testcases

* Try removing autogenerated field entry from insert modal

* Update mongo testcase
2022-05-26 09:19:33 +05:30
Anagh Hegde
7f56d3972c
fix: Add support to generate ssh keys of type RSA (#13640)
* Add support to generate ssh keys on RSA algo
* Add the ssh key metadata to the get ssh key api
2022-05-25 14:14:02 +00:00
Sidhant Goel
a3e593250d
Merge branch 'release' into feat/migrate_organization_to_workspaces 2022-05-18 12:53:08 +05:30
Nayan
33c78e93ef
feat: Update organization slug (#13791)
When organization name is updated, the slug is not updated. This generates a outdated URL when user clicks on a organization name from the left panel. This PR changes the following behaviors

    The Organization slug will be no more unique
    Link to organization applications will be based on organization id instead of slug
    Organization slug will be updated whenever there is a change in organization name
    All the existing organization slugs will be updated
2022-05-18 11:08:13 +06:00
Sidhant Goel
47f8ed94b1
Merge branch 'release' into feat/migrate_organization_to_workspaces 2022-05-17 20:23:36 +05:30
Nayan
71ffbdeb45
fix: Theming issue when application has multiple git branches (#13870)
* fix: Themeing issue when application has multiple git branches

* Don't commit published mode theme

* -updated as per review comment

Co-authored-by: Abhijeet <abhijeet@appsmith.com>
2022-05-17 10:14:08 +05:30
Sidhant Goel
6a249c1cbe
Merge branch 'release' into feat/migrate_organization_to_workspaces 2022-05-12 16:21:24 +05:30
Anagh Hegde
807eea20b4
test: Fix git test failures (#13748)
* Fix test failures

* Fix testcase for pull changes

Co-authored-by: Abhijeet <abhijeet@appsmith.com>
2022-05-12 15:44:13 +05:30
Sidhant Goel
9cde523e52
Reverted changes in strings from workspace to organization 2022-05-12 15:20:33 +05:30
Sidhant Goel
087d24c6de
Removed migration to delete organization collection
Renamed constant FieldName.ORGANIZATION to FieldName.WORKSPACE, kept the value as organization
Renamed constants in appsmith errors
2022-05-11 22:08:03 +05:30
Sidhant Goel
c1cd3d2f10
Merge branch 'release' into feat/migrate_organization_to_workspaces 2022-05-10 16:59:26 +05:30
Abhijeet
797828a50a Fix build failure 2022-05-10 15:18:57 +05:30
Anagh Hegde
ab3d1d9815
Delete application created during git import for empty repo (#13450) 2022-05-10 13:02:30 +05:30
Nayan
c75e330506
feat: Track recently forked templates (#13159)
This PR adds feature to track recently forked templates by the user.
2022-05-10 13:28:43 +06:00
Nayan
12dfef1578
fix: Test failing for theme name change (#13663)
Fixes a failing junit test due to theme name change.
2022-05-10 10:59:20 +06:00
Sidhant Goel
98d1ac017b
Renamed organization in variable names and comments 2022-05-09 21:16:23 +05:30
Anagh Hegde
4db07f88b4
Fix test failures (#13306) 2022-05-09 13:17:20 +00:00
Sidhant Goel
9f56a7e49b
Renamed variable names and function names 2022-05-07 00:44:57 +05:30
Sidhant Goel
0b99548493
OrganizationControllerTest to WorkspaceControllerTest 2022-05-06 23:12:07 +05:30
Sidhant Goel
549ca3ee4a
OrganizationController to WorkspaceController 2022-05-06 23:10:29 +05:30
Sidhant Goel
f514847847
OrganizationPlugin to WorkspacePlugin 2022-05-06 23:08:19 +05:30
Sidhant Goel
a4e4c00826
OrganizationPluginStatus to WorkspacePluginStatus 2022-05-06 23:07:45 +05:30
Sidhant Goel
25ec1ec5ae
ShareOrganizationPermissionTests to ShareWorkspacePermissionTests 2022-05-06 23:06:50 +05:30
Sidhant Goel
7298b05ef6
Renamed ExamplesOrganizationClonerTests to ExamplesWorkspaceClonerTests 2022-05-06 23:05:56 +05:30
Sidhant Goel
ddc99df246
Renamed ExamplesOrganizationCloner(s) ExamplesWorkspaceCloner(s) 2022-05-06 23:03:43 +05:30
Sidhant Goel
1c2db28676
Renamed OrganizationApplicationsDTO to WorkspaceApplicationsDTO 2022-05-06 22:58:41 +05:30
Sidhant Goel
cb1cb07ba2
Renamed UserOrganizationServiceTest to UserWorkspaceServiceTest 2022-05-06 22:57:25 +05:30
Sidhant Goel
c73defbb03
Renamed UserOrganizationService to UserWorkspaceService 2022-05-06 22:56:25 +05:30
Sidhant Goel
50082fcd14
Renamed UserOrganizationServiceCE to UserWorkspaceService 2022-05-06 22:36:23 +05:30
Sidhant Goel
ffed375768
Renamed OrganizationServiceImpl to WorkspaceServiceImpl 2022-05-06 22:31:25 +05:30
Sidhant Goel
6e27e5abd4
Renamed OrganizationServiceUnitTest to WorkspaceServiceUnitTest 2022-05-06 22:26:29 +05:30
Sidhant Goel
8ff79a5c22
Renamed OrganizationServiceTest to WorkspaceServiceTest 2022-05-06 22:25:18 +05:30
Sidhant Goel
4ade25c457
Rename OrganizationService to WorkspaceService 2022-05-06 22:23:50 +05:30
Sidhant Goel
49297c35ac
Renamed OrganizationServiceCE to WorkspaceServiceCE 2022-05-06 22:21:36 +05:30
Sidhant Goel
7458df100a
Renamed Organization repositories to Workspace repositories 2022-05-06 22:19:13 +05:30
Sidhant Goel
96adf6c273
Created Workspace domain object
Marked Organization deprecated
Replaced all references to Organization with Workspace
Added migration to copy documents from organization collection to workspace collection
Added migration to create indexes on workspace collection
Added migration to drop organization collection
2022-05-06 22:04:10 +05:30
Abhijeet
9aa4bd104a
fix: Missing pluginId issue for datasource during the import flow if destination org don't have sepcific plugin installed (#13487)
* Fix missing pluginId issue for datasource

* Refactor assertion

* Update error message
2022-05-06 15:08:06 +05:30
Nidhi
dc70220a2f
fix: Throw error when trying to import a cURL command that has a subshell in it (#13558) 2022-05-05 11:08:17 +05:30
Abhijeet
9fc9f7a774
chore: Commit application files during the connect flow (#12288)
* Commit application files during the connect flow

* Refactor detach remote method name

* updating connectToGitRepo method

* fix git tests

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

* updating git cypress tests

* fixed git bug spec cypress test

* enabled other test case

* with store test

* fixed comment

* closing git sync modal

* updated test logic

Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: Parthvi12 <80334441+Parthvi12@users.noreply.github.com>
Co-authored-by: haojin111 <haojin828@outlook.com>
2022-05-04 12:27:07 +05:30
Vishnu Gp
acca123872
Merge pull request #13462 from appsmithorg/feat/analytics-events-for-authentication-methods
Feat: Added analytics events for GitHub and Google Auth
2022-05-03 19:51:39 +05:30
Nayan
e9b1108e47
fix: Set default theme when application is exported (#13321)
When application is exported and it does not have a theme set, a NullPointerException was raised in that case. This PR fixes that by returning the default theme when theme is missing.
2022-04-30 01:41:08 +06:00
Vishnu Gp
a8fa0b7465 Added analytics events for GitHub and Google Auth 2022-04-29 19:18:24 +05:30
Anagh Hegde
3e3a32604a
fix: Git connected Application forking should use default branch application (#13255)
* Application forking use default branch application

* refactor changes

* Update the permission
2022-04-29 19:05:23 +05:30
Anagh Hegde
0653f657cf
Merge pull request #13262 from appsmithorg/bug/duplicate-app-git-connected
fix: For git connected apps duplicate should use default branch resources
2022-04-29 15:01:50 +05:30
Nayan
501fb1c1ed
feat: Delete theme when application is deleted (#13252)
This PR archives the related themes when an application is deleted aka archived.
2022-04-29 12:38:09 +06:00
Anagh Hegde
4a19f83a42 Merge branch 'release' into bug/duplicate-app-git-connected 2022-04-29 11:43:45 +05:30
Anagh Hegde
2c484d5538
fix: Unable to see apps in home page after git connect fails (#13387) 2022-04-28 16:43:53 +05:30
Anagh Hegde
a768bb5eb7 Merge branch 'release' into bug/duplicate-app-git-connected 2022-04-27 12:31:23 +05:30
Anagh Hegde
456b5b94ef
fix: Page order sequence for git import (#13126)
* Added page sequence to metadata

* Update test resources

* Add null check for the pageOrder List

* FIx NPE

* Add logic to handle page order for deployed version

* Add tests for the page order

* Add null check for published pages

* Fix unpublished page names getting added in the order list for published

* update the variable name

* Use published page order in tests for published view

* Fix NPE
2022-04-27 11:45:40 +05:30
Sumit Kumar
7e9eb58f03
fix: fix action objects missing plugin id and plugin type info in database (#13263)
* add plugin id and type info to action object if found missing
* this fix is currently added to the read and update action flows
2022-04-26 16:51:30 +05:30
Abhijeet
b88cdacc7d
Fix npe and duplication for JSObject during clone application (#13297) 2022-04-26 13:13:58 +05:30
Anagh Hegde
94ba542606 use default branch app for clone operation 2022-04-25 14:18:17 +05:30
Vishnu Gp
534bdd93b2
fix: Add validation for Git URLs on server (#13182)
This PR adds a backend validation for git URLs on the backend side. Plus added some more test cases for URLs
2022-04-22 07:23:13 +05:30
Vishnu Gp
cfb7fc4b94
fix: git remote SSH url for Azure | BE (#12933)
Users were not able to add Git SSH URLs from some providers. This fixes the BE aspects of this issue.
2022-04-20 14:47:02 +05:30
Anagh Hegde
ecb08a4918
Add logic to change default branch for git connected application (#11549)
We are opening the appsmith default application when the user clicks on edit. But when the app is connected to git we should always bring up the default application of the default branch.
2022-04-19 19:43:23 +05:30
Abhijeet
cebccc5401
Fix issues in git flows when pages don't have reference in application object (#13040)
As a part of git-directory update we have introduced a bug where if the entity names includes the - we were not able to filter the entities in the individual page directory. This commit introduces a new name-seperator to avoid such issues.
2022-04-19 17:25:11 +05:30
Anagh Hegde
4b8646dd05
Handle logic to delete the application during git delete branch flow (#12986) 2022-04-18 15:24:40 +05:30
Abhijeet
a12750b536
feat: Update directory structure for git-sync to mimic UI (#11705)
* File migration for git

* Testcases added

* Comments added

* Update the action file names to keep unique constraints

* Separate out the theme from metadata

* Update server version to convey the file migration
2022-04-14 23:35:08 +05:30
Vishnu Gp
c7a4ac7353
fix: Organization name can be empty
fix: Organization name can be empty
2022-04-13 17:36:32 +05:30
Anagh Hegde
5c17422956
fix: Connection timeout for git connect when the git repo is behind a firewall (#12819)
* Use non blocking IO for checking the repo status

* Cache the results

* Update tests for the util class method
2022-04-13 10:33:28 +00:00
Vishnu Gp
ccc25f35f5 code refactoring for empty organization name fix 2022-04-13 11:17:35 +05:30
Vishnu Gp
2c24050bf9 Added comments and test case for empty organization name fix 2022-04-11 16:27:31 +05:30
Anagh Hegde
f9df59f02b
Handle empty repo during git import with proper error message (#12752) 2022-04-11 12:29:18 +05:30
Abhijeet
8dd6bc8d4c
fix: After cloning the page with JSObject creating a new branch copies all the JSObject in a single page (#12743) 2022-04-11 07:42:09 +02:00
Abhijeet
75cfe8df5b
fix: Fix clone page issue where JSObjects are not showing up in destination page when application is connected to git (#12723) 2022-04-09 13:53:28 +00:00
Anagh Hegde
e386c594fe
fix: Maintain page order during file import (#12698)
* Add logic to order page after creating

* Add test to check if the page order is same as the json file during the import
2022-04-09 11:15:45 +05:30
Anagh Hegde
737680bb9b
fix: Reset of isPublic flag during git merge operation (#12703)
* do not update the isPublic flag during git operation

* Add tests

* update the comments
2022-04-08 14:35:20 +05:30
Nidhi
79a63d535d
fix: Only add missing user set actions to scheduling order (#12601) 2022-04-06 12:04:41 +05:30
Anagh Hegde
e3c7d2b3f2
fix: While importing the application page sequence does not match with the source application (#12539)
* Add logic to maintain page order while exporting the app

* Add test for the page order during export
2022-04-04 23:24:42 +05:30
Abhijeet
ffd0595330
fix: Fix importing datasource with same name but different plugin issue (#12512)
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
2022-04-04 13:23:00 +05:30
Anagh Hegde
f03a163a38
feat: Export application with datasource configuration for sample apps and templates (#12310)
* Expose a way to export crdentials for sample apps and templates

* Export application with creds if marked as exportableWithCred in application object

* Fix and add testcases

* Add comments

Co-authored-by: Abhijeet <abhijeet@appsmith.com>
2022-03-31 21:56:18 +05:30
Nayan
085b4a3a15
fix: Update admin settings permission from users when they are added or re… (#11770)
Update user permission when email address is added as admin email from settings page.
2022-03-31 20:17:47 +06:00
Abhijeet
d9b2a747df
chore: Add git discard and pull documentation url for status API response (#11869)
* Added discard doc url for status API response
2022-03-30 13:10:38 +00:00
Anagh Hegde
98c69868f1
fix: Fix binding for APIs during git import (#12357)
* Add org id for the actions during git import

* Updated the test resource
2022-03-30 12:44:09 +05:30
Abhijeet
b13cf320f0
chore: Add manual and auto update fields within application object to distinguish between the migration related changes (#12099) 2022-03-26 10:40:59 +05:30
arunvjn
69c09c03aa
feat: adding slug names in urls (#10957)
* Init commit clean urls

* Changes to builder route

* Refactored URLs

* Remove default params from url builder functions.

* Fixed more urls

* Changed selector name

* Minor url correction

* Type fixes

* Jest fixes

* Fixed routing for old published apps

* Fixed url slug replace

* page-1 -> page1 as default page slug name

* Remove application id from init editor calls

* Use default page slug

* Added comments and placeholder values for slug names

* variable rename

* Removed redirection and added back the old routes

* Prevent page slug name recompute

* Fixed home page load in view mode

* Added null checks

* Fixed jest test

* Fixed jest test

* Update URL slugs when app/page name changes

* Added unit tests and updates types

* Removed unused code

* * Removed duplication fetch page call.
* Fixes #11354
* Fixed sign up flow

* Refactored initializeEditorSaga

* Fixed warnings

* Fixed integrations screen URL bugs

* Cypress fixes

* Fixed slug names in copy/move operations and pages screen

* Minor refactor

* Fixed page highlight bug in published apps

* Added new url factory and middleware to store url params

* Changed store to default export and fix unit tests

* Fixed slugs unit test

* Minor fixes

* Fixes #11379

* Fixed set as home page feature

* Updated types

* app id adjustments for cypress

* Fixed bad merge

* Refactored routes to functional component

* * Fixed EE active entity highlight.
* Remove unused code in editor router.

* jest fix

* Mock history to prevent security errors

* constant rename

* Removed console logs

* Fixed page id regex

* Do not check for /pages in url

* Fixed missing pageId on quick edit/deploy clicks

* Missed files from previous commit

* Fixed warnings

* Fixed jest test

* New api integration

* feat: Add applicationVersion property to Application (#11626)

Added a new property to Application object - applicationVersion. This property can be used to identity when there is a breaking change and can not be solved with migration. FE will use this property to detect such conditions. Another API is added to migrate the applicationVersion to latest version when user migrates the breaking changes.

* Added manual upgrade modal.

* Test fix

* Fixed jest test

* function rename

* Fix deploy error

* Added null check

* Changes to persist URL search params when redirecting

* Added updates tooltip

* More unit test cases

* Fixed git url redirection

* Fix warning

* Fixed evaluation on upgrade

* Fixed warnings

* File rename

* Added cypress for clean urls

* Fixed import/export/fork cypress

* Cypress api server fixes

* Fixed mongo spec

* Fixed replay spec

* Fixed comments spec

* More cypress fixes

* Fixed tooltip in update btn

* Text size changes

* Minor fixes

* Jest test fix

* Fixed type error

* Fixed warnings

* Fixed todo comments

* Moved description to constants file

* Fixed cypress CI run crash

* Fixes git cypress failures

* Import/Export cypress test fixes

* Import export fork cypress fixes

* Explorer test fix

* Switch branch test fix

* Added applicationVersion in export app json

* Calls plugin forms in parallel

* Fixed warnings

* Fixed warning

* Import export CI fixes

* Reverts previous changes

* Fixes import export

* Fixed import export cypress URL verification

* Pass applicationVersion when duplicating application

* Cypress fix

* Dummy commit

Co-authored-by: Nayan <nayan@appsmith.com>
2022-03-25 16:13:26 +05:30
Anagh Hegde
fae7fc6e7c
fix: App visibility of git connected application is reset after git merge (#11890)
* Fix issue with policies being overridden during hydration from file system to db

* Fix tests

* Update the policies for the branched application

* Add test cases for the visibility changes for git connected applications

* Remove the visibility flag from application object while committing to git repo
2022-03-24 07:01:28 +00:00
Abhijeet
b4dfb6919f
fix: Archived pages are getting copied in forked application (#12050)
* Filter cloning archived pages in application fork action
2022-03-23 17:34:42 +05:30
Nidhi
c97b7e31e7
chore: Migrations to enable JSON and form mode (#11534)
* feat: added new component to perform generic json raw toggle functionality

* chore: Migration to convert formData references

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

* fix: Added JSON migration for git import

* Added JSON migration as well

* Reverted client side changes

* fix: Modified plugin config aggregation logic

* Merge conflict fixes

* different paths for different commands

* Whoopsie

* Modified usage to different paths

* Reverting env change

* Config changes to show json mode

* Test fixes

* Migrated body,path,next,prev

* Cypress test fixes

* Modified dynamic binding replacement

* Changed view type

* Reverted json form mode display

* Modified structure of JSON mmigrations

Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-03-21 11:22:14 +05:30
Abhijeet
f8b62894d6
fix: Handle JSON schema migration for CRUD page generation JSON template (#11948)
* Added migration for CRUD psge generation resource

* Testcase for JSON migration
2022-03-18 14:48:56 +00:00
Nayan
21151b851a
-added migration to change default theme name (#11898)
Changes the name of the default theme by introducing a new theme property - display name.
2022-03-18 09:24:29 +06:00
haojin111
9cfca0518f
feat: 9754 import work flow (#10453)
* updated import application modal design as v2

* updated import flow

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

* adding modal of add credential for git import

* added "Git Import" modal

* added generating ssh key for importing flow

* fixed issue of merging

* chore: fix import

* chore: show old import modal based on feature flag

* seperated import api from connect

* added datasource list on reconnect credential modal

* chore: minor changes

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

* chore: minor fixes

* chore: fetch datasource config for import

* for pulling

* for review of displaying of datasource

* added reconnect datasources after git import

* fix: initialize datasource with default values

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

* fixed issue of git connection init when importing

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

* updated logic for unconfigured datasources

* commented unnecessary code

* fixed issue of successful import

* updated import app error logic

* Add un-configured datasources to Import via file response

* Add test

* fix

* chore: refactors

* change per review

* fix: reset ssh keys / url

* Fix issue with newly created datasources not sent

* fix

* chore: minor updates

* chore: minor fix

* WIP

* added saas and rest api datasource form

* feat: fixes and updates for file import flow

* chore: close on upload

* Refactor logic ofr finding unconfigured datasources

* fix: minor fixes

* Fix issue with IsPartialImport

* fix

* Add PartialImport flag for ImportExport service

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

* fixed collapse config

* Fix tests

* Handle redirection back to the /applications for oAuth type

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

* added analytic events for reconnecting datasource modal

* Fix the repo limit check for git import

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

* updated exported app json while testing automatically

* Add isImport flag for handling OAuth redirection in import flow

* WIP

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

* chore: cleanup

* chore: lint

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

* fix

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

* Add flag to identify OAuth redirection for git import

* Update the variable name

* refactoring reconnect datasource modal

* close git import modal when repo limit error responded

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

* chore: update query

* updated query name of oauth redirection url

* Fix duplicate name issue in git import

* fixed rest api reconnect issue on reconnect modal

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

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

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

* Add logic to check isCOnfugred in datasource API

* Expose API to get un configured datasources for git import

* added fetch unconfigured datasource list api when redirecting form OAuth

* Remove sensitive fields from application json during export

* update put call response to check for datasourceConfig

* chore: use @appsmith for constants/messages

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

* chore: move import application text up a bit

* Fix bad merge

* chore: update skip to application tooltip text

* fixed tooltip content of skip to application CTA

* init values of datasource when importing

* updated ui of git import modal as figma design

* fixing padding issue of reconnect datasource modal

* fixed cursor issue on import app modal

* Fix issue with datasource config

* chore: make code compile

* chore: sort lines

* fixed save button issue of dbform on reconnecting modal

* fixed style of import application modal

* Fix iisue with wrong value updated to flag

* reverted from reconnection form style

* fix: update design as per slack discussions on 2022.02.23

* fix: move modal close button to the left

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

* Set siCOnfigured as true for mockdata sets

* updated creating datasource with isConfigured as false

* Fix NPE while importing

* fixed scrollbar issue and text alignment on reconnect datasource modal

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

* remove unwanted fields from application json

* FIx NPE for file import

* fix: move close button up in import modal

* remove delete button on reconnect datasource modal

* Add isConfigured false while creating datasources

* fix: add a gap and update color

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

* fix: use git import feature flag

* fix: do not use older modal

* updated selecting logic of unconfigured datasource in reconnect modal

* cleanup: auto format

* cleanup: refactor react component

* cleanup: refactor some more

* cleanup: autoformat

* Fix reconnect flag for mockdatasource

* During git import set the isConfigured to false for datasources

* Remove decrypted field from the applicationJson file

* Remove decrypted field from the applicationJson file

* Add app slug to remote repo

* fixed cypress test related with git

* updated json while testing

* Changes per review

* Update the method name

* fixed cypress test related with git

* fixed migration cypress test

* set is configured field as true on tour app

* Fix issue with datasource creation for welcome tour

* fixed issue of replay_editor cypress test

Co-authored-by: Rishabh Saxena <rishabh@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Anubhav <anubhav@appsmith.com>
Co-authored-by: f0c1s <iamanubhavsaini+git@gmail.com>
2022-03-17 15:58:54 +05:30
Nidhi
496d908a92
fix: Modified import export flow to use valid names for actions (#11879)
* fix: Modified import export flow to use valid names for actions

* Added test
2022-03-16 20:50:29 +05:30
Abhijeet
9e896dde06
fix: Fix git repository visibility status check and update error messages for git-checkout API (#11858) 2022-03-15 15:29:48 +05:30
Anagh Hegde
1921af9b28
fix: Support repo url conversion for all top level domains (#11694)
* Add support for all top level domains

* Fix tests

* Add tests for git util class
2022-03-10 09:20:12 +00:00
Abhijeet
bc929f2f67
chore: Don't take client subscription into account for discard git changes (#11666) 2022-03-09 16:58:54 +05:30
Nidhi
aaf12c513d
fix: Adds user set on load prop from actions to exported JSON file (#11718) 2022-03-09 16:57:45 +05:30
Anagh Hegde
dde1eb1735
Add check for default branch before deleting branch (#11631) 2022-03-05 08:30:29 +00:00
Nayan
caab37de26
feat: Add new API to combine get application details and get pages API (#11448)
Merges the get application details and get page list API into one. This API takes either applicationId or pageId and returns the list of pages of that application.
2022-03-04 12:32:48 +06:00
Abhijeet
13d6450616
chore: Soft delete resources across Appsmith board for delete operation (#11555)
* Soft delete resources

* Add TC and migrations
2022-03-03 23:06:34 +05:30
Nidhi
8b1638aba6
chore: Modified plugin config aggregation logic (#11561)
* fix: Modified plugin config aggregation logic

* Modified logs a bit

* Reverted incorrect path from another branch
2022-03-03 19:26:55 +05:30
Nidhi
d57207d224
fix: Changed test class reference to CE (#11578) 2022-03-03 12:00:55 +05:30
Abhijeet
cdf06cb773
feat: API to discard changes for git connected applications (#11362)
* Add discard changes functionality for git

* Recover deleted resources from the file system and refactor

* Remove untracked files, remove unwanted actions

* Testcases added for discard changes

* Added comments
2022-03-02 19:54:09 +00:00
Nidhi
5c994975d7
fix: Modified action execution endpoint (#9473) 2022-03-02 16:01:50 +00:00
Anagh Hegde
1d90a9fed9
feat: Add API for delete branch for git connected application (#11432)
* Add API to delete git branches

* WIP

* Fix test failures

* Change the method from POST to DELETE

* Changes per review

* Changes per review
2022-03-02 13:42:16 +00:00
Abhijeet
612d7d6727
feat: API to provide a way to distinguish if the application is updated manually or through DB migration (#11414)
* Added check for updating application resources manually

* Refactor to include client-side migration
2022-02-24 14:17:50 +00:00
Nayan
10033aea09
-Added new API to return list of default plugins (#11297)
Added a new API that'll return a list of plugins which are available to install. In other words, it'll return list of default/system plugins. This returns the package name, name and icon only - which will be used by templates to show datasource name and icons.
2022-02-24 16:43:11 +06:00
Mojtaba
450950d68f
fix: curl import tries to guess the content-type from the body if content-type header is not specified (#11295)
* fix: content-type is empty when it's not specified.

* feat: try to guess the content type json or form-urlencoded

* fix: broken test for curl with `--data-urlencode` parameter

* fix: fix guessing urlEncodedPattern

* fix: fix broken tests

* fix: Fixed and improved the code formatting
2022-02-24 13:58:26 +03:30
Abhijeet
86c7c09982
fix: Map correct collection ids for onPageLoad actions during import application (#11328)
* Introduce defaultCollectionId for onLayoutLoadAction

* Added TC for clone application

* ImportExportSpec & Dropdown resetSpec flaky fix

* Fix test failures

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-02-24 12:42:28 +05:30
Nayan
4ae0b5b1de
fix: Set comment authors email address as reply to field in comment notification email (#11251) 2022-02-23 21:56:57 +05:30
Nayan
f060ab8c03
feat: Allow saving theme customizations (#11165)
This PR adds API to save a customized theme so that it can be used again for that application. It also adds permission to themes. Each customized theme will have permissions set just like other domain objects.
2022-02-23 12:32:18 +06:00
Abhijeet
aaf9740674
chore: Remove theme ids during git commit (#11225) 2022-02-17 05:33:25 +00:00
Abhijeet
325f27982a
fix: Take previously connected git applications accessibility into consideration to accurately calculate private repo count (#11151)
* Take already connected apps repo accessibility into account during connect and import flows

* Testcases for private repo limit check
2022-02-16 13:36:39 +05:30
Nayan
eefae47b09
feat: Return page slug for default pages in get applications API in home page (#11080)
The GET /application/new API is used to show list of organizations, applications in home page. The list of pages under each application contains only page id. As we're introducing page slugs in URLs, we need the slug of the default page inside the response of this API. This PR adds default page's slug to the response of GET /application/new API.
2022-02-16 12:19:29 +06:00
Abhijeet
ce2cf1ba3a
fix: Fix error code for application controller test case(#11161)
* Fix error code for the application controller TCs

* Fix import-export TCs
2022-02-15 16:28:02 +05:30
Trisha Anand
e892ba18a7
Moving ActionServiceTest to ce package (#11125) 2022-02-15 06:54:03 +00:00
Trisha Anand
80bab90e28
chore: Minor code refactoring for bean utils and action execution (#11102) 2022-02-14 10:24:54 +05:30
Abhijeet
d218b48cf6
fix: Increase supported header size for multipart data (#11058)
* Increase supported header size for multipart data to 128kB

* Update error to be thrown from the global exception handler
2022-02-11 11:26:40 +00:00
Abhijeet
6f7691b6aa
fix: Update error handling for git connect (#11070)
* Update error handling for git connect

* Add testcase for git generic error
2022-02-11 16:17:02 +05:30
Abhijeet
ee6d639e42
chore: Update error handling for resource not found exception for clone, fork and import APIs #11044 2022-02-10 10:26:07 +05:30
Sumit Kumar
aa2290405d
fix: fix refresh token flow in REST API OAuth (#10875)
Co-authored-by: Segun Daniel Oluwadare <dodanieloluwadare@gmail.com>
2022-02-09 09:38:58 +05:30
Abhijeet
fa0e900f3f
fix: Sort unordered set elements before committing to git repo so as to have same serialised output string for identical set of elements (#10933) 2022-02-08 00:48:20 +05:30
Anagh Hegde
fa06473d63
fix: Delete the pages post merge operation from application when they are removed from file system (#10810)
* Delete the pages post merge operation from application if they are removed from file system

* Changes per review

* Add tests

* changes per review

* Use string utils for null check

* Change per review

* Fix tests

* Fix tcs
2022-02-04 12:07:07 +05:30
Abhijeet
7329d7ff23
fix: Fix NPE during import application when page ids are missing for published action and actionCollection (#10858)
* Provide a fallback pageIds for missing ones in action and JSObjects published version

* Add TC
2022-02-03 20:08:58 +05:30
Abhijeet
e356fd039f
chore: Commit only unpublished resources to git repo which includes queries, JSObjects, pages to avoid data duplication (#10776)
* Commit only unpublished resources to avoid resolving merge conflicts twice

* Added TCs

* Update directory names, fix pull issue in JSObjects
2022-02-03 11:47:57 +00:00
Abhijeet
0b1a8ad20b
fix: Update ApplicationPageId with defaultPageId while fetching applications for homepage (#10812) 2022-02-03 10:56:35 +05:30
Nidhi
bc93a1d413
fix: Removed filter of JS actions from get method (#10726) 2022-02-02 08:28:41 +00:00
Abhijeet
8c4d711f5b
chore: Make sure to keep forked application in valid state even if client exits the flow before server responds (#10704) 2022-01-30 17:43:35 +05:30
Abhijeet
07082f6bde
fix: Copy evaluation version for cloned application from the source application to fix dynamic binding evaluation to support escaped characters without double escapes (#10702) 2022-01-28 08:07:59 +00:00
Abhijeet
8d93d06317
feat: Add reference doc url for error responses for git APIs (#10620)
* Added reference doc urls for pull conflicts

* Update TCs
2022-01-27 13:08:21 +05:30
Anagh Hegde
e0e4a73650
fix: Logic to delete stale git branch which are not in db (#10647) 2022-01-26 21:29:00 +05:30
Anagh Hegde
c83f7fb3c1
feat: Git import api (#10282)
* Added API to generate deploy keys and store them in a collection for import flow

* Add tests for the key generation flow

* Move the key generation to helper class

* changes per review

* Fix bad merge

* add api to import application

* handle timeout for git import

* Update the comments

* Add API for git import

* handle duplicate application name error & add profiles while importing

* Add tests for import api

* Hydrate from file system after cloning the repo

* Fix test failures

* Test cases

* changes per review

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

* Fix test failures

* Fis error messages

* Fix test failures

* Fix issue with checking the datasource types

* Add datasource name check while importing the application

* Refactor SSH key gen code for import

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

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

* Minor fixes

* WIP

* Add logic to get unconfigured datasources for the application

* Fix tests

* WIP

* revert datasource related changes

* Add a boolean flag to Datasource entity

* Add a boolean flag to Datasource entity

* Add flag to identify import status

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

* update the variable name

* changes per review

Co-authored-by: Abhijeet <abhijeet@appsmith.com>
2022-01-26 21:26:22 +05:30
Abhijeet
231c3aaeb7
fix: Bugfix for curl import when the request is made from the child branch for git-connected application (#10638)
* Fix for curl import in sub-branch

* Added comment
2022-01-26 18:20:49 +05:30
Nidhi
44f5e353fa
fix: Fix typo in default resources ids for actions within collections while creating new collection (#10349)
* fix: Small fix in default resources for actions within collections

* Added tests
2022-01-20 18:17:34 +00:00
Abhijeet
62b720ab00
feat: Add documentation URL alongwith the error response to offer more info about the exception (#10325)
* Add doc url param in error response

* Modify TCs

* Update error codes to follow the sequence
2022-01-20 02:48:43 +00:00
Abhijeet
0ec6875b47
fix: Fix clone JSObject issue where cloned JSObject gets attached to both parent and cloned page and fix race condition for delete action when trying to delete page with JSObject (#10455)
* Fix clone JSObject issue where cloned JSObject gets attached to both parent and cloned page

* Race condition for delete action when trying to delete page with JSObject

* Set published collection to null during fork application
2022-01-19 17:06:27 +00:00
Abhijeet
a48aa9c72b
feat: Remove action and actionCollection ids in exported application JSON (#10430)
* Export action and actionCollection without actual ids

* Added TC

* Comments
2022-01-19 11:46:32 +05:30
Abhijeet
3471de90cd
fix: Gracefully handle defaultResourceIds exception (#10454)
* Gracefully handle defaultResourceIds exception

* Added TCs

* Remove sentry logs
2022-01-19 10:45:36 +05:30
Abhijeet
1ed1bf0e5d
feat: Apply JSON schema migration while importing the application using JSON file (#10339)
* Json schema version check added before importing an application

* Added TC

* Fieldname refactor to make it more relevant
2022-01-18 07:11:23 +00:00
Abhijeet
0b71b3840c
Fix error for import curl when app is connected to git (#10355) 2022-01-14 08:59:56 +05:30
Abhijeet
c1e2a1ed59
Revert "chore: Don't take client subscription into account for fork application (#10220)" (#10375)
This reverts commit 814a7d57f9.
2022-01-13 19:00:04 +05:30
Nayan
02be902fdc
feat: add page slug in the get pages API (#10345)
We've added slug for pages. Each page has a slug which is generated from name automatically. In our get pages API /api/v1/pages/application/<app_id>, the slug names were not included in the Page DTO. This PR adds slug name in this API response.
2022-01-13 17:29:09 +06:00
Anagh Hegde
f660c0696d
fix: Fix issue with current branch not deleted exeception (#10334) 2022-01-13 14:07:01 +05:30
Sumit Kumar
7306967d0b
fix: fix page load action execution order (#10252)
* This PR fixes the page load action execution order when the actions have been set to run on page load explicitly via the settings tab by the user and its data has not been referenced in any other widget or action. e.g.
  - create action1 and action2.
  - make action2 dependent on action1 by adding {{action1.data}} in action2's body.
  - set both action1 and action2 to run on page load via settings tab. Do not reference action1 and action2 data in any other widget or action.
2022-01-11 16:13:54 +00:00
Abhijeet
814a7d57f9
chore: Don't take client subscription into account for fork application (#10220) 2022-01-11 16:20:40 +05:30
Abhijeet
92a5cbf7f2
chore: Don't take client cancellation for git flows into account to keep the repo and DB in sane state even when client cancels subscription (#10036)
* Added Mono sink calls for git and import application APIs

* TC for import-export

* Update TCs for gitService

* Added git commit and create branch test

* Test added for midway cancellation flow
2022-01-06 20:04:35 +05:30
Anagh Hegde
ed490304d9
feat: Git import - generate and save SSH Keys (#9129)
* Added API to generate deploy keys and store them in a collection for import flow

* Add tests for the key generation flow

* Move the key generation to helper class

* changes per review

* changes per review
2022-01-06 15:16:33 +05:30
Nayan
758d6d6725
fix: Fixed error due to string to instant serialization (#10074)
Fixes the serialization exception when exported application has deleted JSObject.

Fixes #9807
2022-01-06 11:13:25 +06:00
Nayan
50fd155d2f
fix: Unable to add comment to public apps (#10103)
Commenting on a public app fails if the user is not not part of the corresponding organization. This PR fixes that issue.
2022-01-03 11:59:35 +06:00
Nayan
abd4de1cd9
fix: Application is not publishable when imported without theme (#10009)
When we import an application from a JSON file where themes are not present, publishing the application fails. This PR fixes this issue.
2021-12-30 12:32:54 +06:00
Abhijeet
9cba2986f3
fix: Fix npe while importing application when JSObject contains only variables and no action (#10044) 2021-12-29 15:48:04 +00:00
Abhijeet
d24703cdea
feat: Introduce version field for git JSON files structure (#9800)
* Introduce version field for applicationJson

* Update TC to check the version
2021-12-29 15:29:53 +05:30
Abhijeet
3bf43dc73a
fix: Filter the action and collection with no pageIds to fix server error while importing the application (#10024)
* Filter the action and collection with no pageIds to fix npe

* Added TC
2021-12-29 04:59:47 +00:00
Abhijeet
4c5241bc93
fix: JS objects not getting copied over when app is duplicated while retaining the JS objects in original app (#10011)
* Create new action collection instead of updating the original collection 

* Update TC
2021-12-28 12:00:41 +00:00
Abhijeet
b72ac43bd7
fix: Update defaultResourceIds with resource ids after the disconnect event (#9990)
* Update defaultResourceIds with resource ids after the disconnect event

* Update TC to check the applicationPage updates correctly

* Added TC
2021-12-28 10:57:50 +05:30
Anagh Hegde
74f0d7400f
add tests and fix tests failures (#9981) 2021-12-24 14:54:47 +00:00
Nayan
cd3a2ac1c4
Set a default color to application when application has no color set from FE (#9919) 2021-12-24 15:51:42 +06:00
balajisoundar
1fad719dbe
Add API for application themes (#9449) 2021-12-24 12:14:59 +05:30
Nidhi
b2855ccf77
fix: Do not return JS actions when fetching page actions (#9960) 2021-12-23 14:16:16 +00:00
Abhijeet
0e0b4d0d1e
Check for layoutOnLoadAction during clone application (#9947) 2021-12-22 21:40:19 +05:30
Abhijeet
20649ccb0a
fix: Fixes issues related to git profile and use appsmith user profile as a fallback value (#9891)
* Fixes related to git profile

* Added a TC for connect application with empty git profile and null default git profile
2021-12-21 16:45:56 +05:30
Abhijeet
95869517f6
fix: Replace default IDs for forked application with destination resource IDs (#9886) 2021-12-21 11:19:00 +05:30
arunvjn
99a12be018
feat: add option to delete org (#9287)
Co-authored-by: Nayan <nayan@appsmith.com>
2021-12-20 05:58:01 +00:00
Abhijeet
5e6e6caedb
fix: Use Appsmith user profile as a fallback git profile (#9821)
* Added appsmith profile as a fallback value

* Modified TC for userData to include git profile TCs

* Added check for null value when user want to use repo level profile and provide empty author name or email

* Refactor method names
2021-12-18 21:36:25 +05:30
Nidhi
508865f1dc
fix: Added handling for refactor of default list elements (#9774) 2021-12-16 11:33:40 +00:00
Abhijeet
52782c6088
fix: Resolve issues related to disconnect git repo flow (#9760)
* Fixed issues related to git disconnect

* Update TC
2021-12-16 08:50:11 +00:00
Abhijeet
c51c0036af
fix: Fix action collection not being deleted when the deleted collection in edit mode is published (#9785) 2021-12-16 13:48:14 +05:30
Nidhi
8d53c16e25
fix: Added check for self references in layout (#9756) 2021-12-16 13:30:19 +05:30
Trisha Anand
11603e0d24
chore: Backend code split (#9610)
* Server comes up

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

* ActionRepo migrated

* ApiTemplateRepo migrated

* Application repo migrated

* Asset Repo migrated

* Collection repo migrated

* Comment repo migrated

* Comment thread repo migrated

* Config repo migrated

* datasource repo migrated

* group repo migrated

* Invite user repo migrated

* layout repo migrated

* New action repo migratd

* .

* Migrated rest of the repos.

* Migrated the repo impl as well between ce and common

* acl package partially migrated

* Authentication migration done!

* Controllers migrated

* AppsmithPermission enum migrated to class and split

* Unnecessary change removed

* Appsmith role enum converted to class

* Revert

* Reverting enum to class conversion after failing at implementing

* All services migrated

* server.solutions package completed

* Fixed solutions failing test cases

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

* Check for updating Ids for move action

* Added check for global profile

* Fix bad merge

Co-authored-by: Abhijeet <abhijeet@appsmith.com>
2021-12-14 15:09:30 +00:00
Nidhi
b0900d1c22
fix: Added collection id and clientsideexecution to layout on page load DTO (#9683) 2021-12-14 16:34:45 +05:30
Nayan
28c181b59c
feat: [Feature] Upgrade spring boot version to 2.5.5 (#8932)
Upgrades spring boot version to 2.5.5
2021-12-14 16:22:37 +06:00
Nayan
c126786e98
fix: application is added to recent list if duplicated (#9549)
When user duplicates an application, the source application is also being marked as recently accessed application. As a result both the duplicated application and the source application are shown in the beginning of the list of applications.
2021-12-14 16:21:50 +06:00
Nidhi
861ee2c46e
fix: Added handling for action collections during duplicate app flow (#9637) 2021-12-14 13:40:25 +05:30
Abhijeet
e6c323a2ec
fix: Update crud template for failing S3 list file action (#9691)
* Updated Template

* Update TC

Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
2021-12-12 18:23:59 +05:30
Abhijeet
f12b97b9d8
fix: When the SQL table provided by user have less number of columns than template columns for generate CRUD page (#8810) 2021-12-10 09:11:57 +05:30
Trisha Anand
3a21d91a57
fix: PageLoad - action.data implicitly depends on action.actionConfiguration. Added this relationship to dag (#9178)
* fix: PageLoad - action.data implicitly depends on action.actionConfiguration. Added this relationship to dag

* Random walkthrough comments

* Logic does not work!

* Ignore pagination configuration from dynamic binding path list to avoid creating cyclic dependency

* The most complicated test case ever passed! Woohoo!

* Code cleanup

* Incorporated review comments
2021-12-09 20:04:55 +05:30
Nayan
092b78bbc4
Send test mail by config (#9478)
Sending the test email was using existing email configuration, this commit fixes this to use the configuration provided by the user on the admin settings UI.
2021-12-08 09:56:49 +05:30
Nidhi
5434d25735
fix: Added client side execution logic and on page load logic for js (#9392)
* fix: Added client side execution logic and on page load logic for js

* Revert dev env

* Revert dev env

* Updated tests expectation partly to break PR

* fix: Reverted test breakage for this PR
2021-12-01 22:02:43 +05:30
Nayan
06656eca5d
feat: [Feature] Show recently accessed apps first (#9017)
Most recently apps will be displayed under each organization in user homepage. Earlier, the applications were sorted based on application names.
2021-11-30 15:43:30 +06:00
Trisha Anand
4512c86d87
feat: Trigger framework with default implementation for entity selector for UQI (#9142)
* Untested trigger framework added

* Entity selector is working!

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

* Adding minor comments

* Added test case for trigger functionality
2021-11-25 12:35:43 +05:30
Nayan
a0ea8c21ba
fix: [Fix] Set user email to lowercase before creating the user and in reset password (#9179) 2021-11-19 09:49:33 +05:30
Anagh Hegde
a7b1902afd
feat: handle error messages for merge action (#9030)
* Handle merge conflicts

* Fix test failures

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

* Use request body for branchNames
2021-11-12 10:04:29 +00:00
Nayan
b44f555a7f
fix: application edit date is updated when an user is added or removed from org (#8984)
Last edit time of an application was updated when a new user is added or existing user is removed from the corresponding organization.
2021-11-11 17:30:57 +06:00
Nayan
ef4f5d9c47
fix: app is publicly accessible event if it's not public (#9035)
When a public app is edited by someone, isPublic=false is set to it even the app is not public. This PR fixes that issue.
2021-11-10 13:44:28 +00:00
Anagh Hegde
2ad6a382ea
feat: checkout remote branch (#8827)
* Add API to checkout remote branch

* Create a new application on fetch

* Create a new application on checking out remote branch

* Add tests

* Change per review comments

* Changes per review comments
2021-11-09 14:04:00 +00:00
Trisha Anand
9d97f2322f
Adding field evaluation version in application (#8993) 2021-11-03 15:38:48 +05:30
Nayan
4722ff153d
feat: [Feature] Add API to send test email (#8856)
Added an API for super users to send test email
2021-11-03 11:17:53 +06:00
Nayan
8e568d6056
feat: [Feature] Add slug for applications and pages (#8860)
Generates and stores a slug from application name and page names when they are created or updated. Also adds a migration to set slug to existing applications and pages.
2021-11-01 14:18:21 +06:00
Nayan
5637b4dfa4
fix: [Bugfix] Delete comments when unpublished page is deleted (#8698)
When a page is deleted, the comment threads in that page should also be deleted and should not appear to user.
The Edit mode comments should not be visible to app viewers.
2021-11-01 14:17:42 +06:00
Nayan
2181f47632
fix: Update admin settings API for changes in UI (#8818)
Set a default name as Appsmith to new instances. Also adds super user's email to admin email configuration.
2021-11-01 14:16:56 +06:00
Anagh Hegde
b951d8db21
Get default branch from DB instead of remote to save time (#8844) 2021-10-29 09:32:02 +00:00
Anagh Hegde
ebb9665d42
fix: check for repoName while deleting apps (#8866)
* check for repoName while deleting apps

* Added tests
2021-10-29 07:21:31 +00:00
Nidhi
6b0ef6e236
fix: Added JS collection body to view mode (#8899) 2021-10-29 07:02:28 +00:00
Anagh Hegde
338e8ba8d0
fix: git push relevent error messages (#8769)
* WIP

* Add relevant error messages for push action

* fix tests

* changes per review comments

* Add error message for the file system related error

* Fix test failures

* Fix test failures
2021-10-27 14:15:46 +00:00
Nidhi
295f8b9631
fix: Forking with JS collections (#8799) 2021-10-26 11:04:04 +05:30
Shrikant Sharat Kandula
c82bb751e1
Fix deleting datasources with deleted actions (#8627) 2021-10-26 06:20:59 +05:30
Trisha Anand
b57e0c245d
fix: Get buckets in S3 plugin during generate CRUD page (#8781)
* Fix: Generate page fix for S3 plugin

* Fixed the replacement of template variables in form data failure for S3
2021-10-25 22:38:22 +05:30
Trisha Anand
4a11a10ee0
fix: on page load actions take into account widget dependencies as well to compute correct order of action computaion on page load (#7829) 2021-10-25 08:03:08 +05:30
Nidhi
03a92776f7
fix: Refactor with escape sequences (#8713)
* fix: Refactor with escape sequences

* Remove comments
2021-10-22 16:09:53 +00:00
Anagh Hegde
4717b4bcf0
feat: git merge status (#8692)
* git merge status
2021-10-22 12:31:13 +00:00
Nayan
98ca448f9f
feat: [Feature] Add API to download docker config (#8587)
Added API to download docker config for super admin users
2021-10-20 15:58:31 +06:00
Anagh Hegde
6faaa33936
feat: Git version control functionality with connect to remote, commit, push flows (#8403)
* core workflows of git - branch, clone, commit, pull, merge, status, log

* Rehydrate file system before merge operation

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

* Add defaultBranch to listBranch API

* Add Unit tests for git commands

* Upgrade JGit dependencies to fix the security issue

* Git command tests

* Revert unwanted changes and update delete application flow

* Disable git feature until the FE changes are merged

Co-authored-by: Abhijeet <ABHI.NAGARNAIK@GMAIL.COM>
2021-10-20 09:47:34 +00:00
Nidhi
1cefa7e51b
fix: Expose actions with collections in view mode (#8509)
* fix: Expose actions with collections in view mode

* Dummy commit for tests to pass

* Test fixes
2021-10-14 06:53:46 +00:00
Sumit Kumar
d7411be855
fix: show hint message on using duplicate header or query parameters in API (#8263)
* show hint message on using duplicate headers or query parameters in API.
2021-10-13 18:02:16 +05:30
Shrikant Sharat Kandula
a4975c5bff
Add API for updating role and goal for users (#8242) 2021-10-08 09:40:19 +05:30
Nidhi
82dc82633f
fix: Make JS objects visible to anon users (#8260)
* Make JS objects visible to anon users

* Dummy commit
2021-10-07 00:30:16 +05:30
Abhijeet
24c1fbee7d
test: Update TC to include Smart Substitution and prepared statement check for generate page (#7922)
* Added prepared statement and smart substitution checks, in TC for generate page

* Updated Template

Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
2021-10-05 14:10:56 +05:30
Shrikant Sharat Kandula
edeec80d00
Fix role and goal usage and docker.env location (#8174) 2021-10-04 21:23:11 +05:30
Abhijeet
bacf29848b
test: Update testcases to check forking app is possible for user even with VIEW permission (#8079) 2021-10-04 13:24:17 +05:30
Shrikant Sharat Kandula
cb4d059e5f
Effect the telemetry choice in welcome page (#7902)
Solves for two things:

1. From the welcome page signup, depending on telemetry being enabled or disabled, we report.
2. When telemetry is changed from welcome page (which, it obviously will), we make the change persistent by writing to the env file.
2021-10-02 11:45:17 +05:30
Nayan
a8ab1e4cb6
fix: update user names in notifications when users update their name (#8043)
Fix: update user names in notifications when users update their name
2021-10-02 00:42:50 +06:00
Nidhi
60f53546d2
Refactor now uses FQN when available (#7964) 2021-10-01 15:09:27 +00:00
Nidhi
70c282da5a
fix: Refactor collection API (#7962)
* Refactor collection API

* Refactor collaction API
2021-10-01 15:08:56 +00:00
Nidhi
713ed76676
Fixed check for missing action collections (#8006) 2021-09-30 19:04:33 +05:30
Nayan
c3724d5df2
feat: Skip bot-comment when onboarding is skipped (#7816)
Backend changes to skip the bot comment and onboarding
2021-09-29 15:50:57 +06:00
Nidhi
883b0215a6
Changes for JS actions in the import/export feature (#7892) 2021-09-28 18:13:26 +05:30
Abhijeet
0729ab3211
fix: Display result in tabular format for action response in imported app for SQL datasource (#7889)
* Added pluginId to nested datasource object within actionDTO

* Added check in TC for plugin id
2021-09-28 16:03:56 +05:30
Nikhil Nandagopal
5c3e4ba715
fix: Update crud template (#7891)
* Delete CRUD-DB-Table-Template-Application.json

* Updated Template

* Update TC to replace selectedRow with triggeredRow as per the updated template

Co-authored-by: Abhijeet <ABHI.NAGARNAIK@GMAIL.COM>
2021-09-28 15:28:33 +05:30
Shrikant Sharat Kandula
f6d2e89ae3
fix: Actions not being deleted when app is deleted (#7880) 2021-09-28 13:28:50 +05:30
Nidhi
59ec853498
Fixed installation for multiple plugins into organizations (#7767) 2021-09-24 05:44:14 +00:00
Anagh Hegde
101b21b901
fix: Widget suggestion for firestore datasource (#7375)
* Add tests for ArrayList data type response

* Refactor WidgetSuggestion logic

* use getters and setters
2021-09-23 09:52:11 +00:00
Nidhi
8b7f1a7f01
fix: Use populated actionDTO for json path keys in JS during refactor (#7650)
* Use populated actionDTO for json path keys in JS

* Review comment
2021-09-22 21:23:56 +05:30
Abhijeet
391674fc75
fix: Update crud template to fix mongo queries after the page generation (#7657) 2021-09-21 21:55:25 +05:30
Nidhi
c3f4cdaa15
feat: Introducing SaaS integrations as a plugin (#7560)
* WIP client side changes

* Saas execution flow + scheduled import of remote plugins
2021-09-21 17:35:29 +05:30
Nayan
1296faef8e
feat: [Feature] Use photo asset id instead of email address for profile picture in comments (#7434)
* -set user photo id when adding a new comment thread

* -update user data when users remove their profile photo

* -updated photo id in comments when user changes or set a profile photo

* -remove photoid from thread, kept it in comment only

* -resized uploaded profile image

* -added test for delete profile photo

* -add test for the comment set user photo

* -check user change event handler is called in delete user photo

* -add test for checking user photo change event is triggered after upload photo

* -fixed tests due to changes

* -make profile pictures thumbnail only

* - used get photo by asset id API to show user photo in comment card
- set cache control header in get asset by id API

* - stop using email address to show user photo
2021-09-20 15:03:39 +06:00
Nayan
28adc4e928
feat: set modified by during create, clone, fork, import app (#7452) 2021-09-17 17:10:08 +06:00
Shrikant Sharat Kandula
851abd5a06
fix: Add missing variables in env file in config (#7100)
The env config API currently only changes values that are already defined in the env file. It is not capable of adding anything to the file.

This commit adds the capability to do so. However, since we don't want to let the client add just any variable, we've switched from a black list to a white list of env variables that can be managed by this API. If the requested variable is present in the whitelist, we add it, if its missing in the env file.
2021-09-15 17:03:47 +05:30
Shrikant Sharat Kandula
c509a640b7
feat: Add an API to get env values for superusers (#7043)
This commit adds the following API:

`/api/v1/admin/env` — Responds with the names and values of all environment variables currently configured, that are allowed for configuration from the UI. Some variables will be missing from this, ones that are not allowed to be edited from the configuration UI.

Doesn't take any query params. Only usable by the superuser.

Also added a `isSuperUser` boolean field to the response of `api/v1/users/me`, that will indicate whether the current user is a superuser or not.
2021-09-15 13:56:41 +05:30
Nikhil Nandagopal
01f01cd565
fix: Updated Template (#7447)
* Updated Template

* Updated Template

* Modified TC accoording to updated template

Co-authored-by: Abhijeet <ABHI.NAGARNAIK@GMAIL.COM>
2021-09-15 12:36:56 +05:30
Sumit Kumar
4d847336d0
fix: update on-page-load actions on action delete. (#7439)
* Currently, the list of actions to be run on page load is not updated when an action object gets deleted. Hence, sometimes, a previously deleted action may be set to run on page load which throws an error when the application tries to run it on page load.
* This PR updates the list of actions to be run on page load whenever any action gets deleted.
2021-09-14 14:46:24 +00:00
Nayan
6247b6a3a5
feat: Generate and store ssh key to git meta data of application (#7184)
- Added new API that generates a new ssh key pair and stores that inside the git meta data of an application. The key is generated in open ssh format. The private key is stored as encrypted in DB.
2021-09-08 20:54:20 +06:00
Nidhi
a7239cfa5b
feat: Changes to add js plugin (#4861)
Adds server side changes for supporting JS editor
2021-09-08 19:17:30 +05:30
Nayan
61eaaf1aab
fix: stop creating private thread if someone tagged a user in their first comment (#7205) 2021-09-08 10:50:11 +06:00
Nayan
a17be566a9
feat: Removed unnecessary fields from exported application (#7198)
Removed unnecessary fields from exported application
2021-09-07 18:33:45 +06:00
Anagh Hegde
31180a4b28
feat: API to save git config data (#6930)
* API to save git config data

* Store the git config data as global/default property in user data object

* Add API to fetch the config for the user
2021-09-06 19:50:12 +05:30
Abhijeet
168000be92
[skip_changelog] Feature/directory structure for version control (#6757)
* Insert git application metadata to application object, for git sync/version control feature there is a need to save the application in the structured format

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

* Rehydrate and dehydrate applications among different instances

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

* Git file operations moved to appsmith-git module

* Delete json reference from directory for deleted resource in DB

* Added git authentication in application metadata

* Replace String with Path to handle file path in git file structure
2021-09-06 18:18:18 +05:30
Nayan
c4a7c1fb01
feat: add last edit information to application (#6948)
Adds the last edit time and editor username to the application when there is a change in the application.
2021-09-06 16:17:02 +06:00
Anagh Hegde
d4ee07ab58
Remove list widget from suggested widget on action execution (#7038) 2021-09-03 11:52:27 +05:30
Nayan
b98f646642
feat: Redirect after signup (#6962)
* WIP

* -redirect to newly created application after signup

* feat: create default application if no redirect url exists. also add a param to indicate first time user experience

* -updated function comment as per PR review

* -updated the create application using existing function

* -added check whether application is null when creating application page url

* -removed unnecessary refactoring

* -removed unused parameter from method
2021-09-02 12:25:39 +06:00
Abhijeet
ea8116863e
revert: "Add version check from import-export flow (#6552)" (#6935) 2021-08-27 18:46:13 +05:30
Abhijeet
e57755e426
Revert "[skip_changelog] Update error message for import flow (#6779)" (#6927)
This reverts commit bc55021994.
2021-08-27 17:04:31 +05:30
Rishabh Rathod
dc86c9b82b
feat: Show Crud Info Modal data from backend (#6882)
CRUD Info modal which pops up on successful CRUD generation, will now have dynamic data for each CRUD template.

Modal success `message` and `Image` to explain the working of the CRUD template is fetched from the backend.

Co-authored-by: Abhijeet <ABHI.NAGARNAIK@GMAIL.COM>
2021-08-26 12:53:39 +05:30
Abhijeet
bc55021994
[skip_changelog] Update error message for import flow (#6779)
* Modified the error message for import version check, to make it more humane and actionable

* Update TC
2021-08-23 13:54:43 +05:30
Nayan
843666f1fc
[Feature] - Add lastDeployedAt date to application object (#6753)
* -add lastDeployedAt date to application object

* -skip setting published date when application is forked
2021-08-23 11:33:13 +06:00
Nayan
a5ec0add23
-allow login with case insensitive emails (#6712) 2021-08-22 18:48:53 +06:00
Shrikant Sharat Kandula
094b77832f
Accept richer inputs from welcome signup form (#6650)
* Accept richer inputs from welcome signup form

* Send subscribe event when user has approved it
2021-08-20 10:10:04 +05:30
Anagh Hegde
e76d8c2c15
Change the name of the mock datasource (#6498)
* Change the name of the mock datasource

* Remove the hardcoded value for Cloud services

* Handle index out of exception

* Add check if the response contains necessary credentials for mockdb

* Change as per review comments

* Fix cypress test failures

* minor changes to fix cypress test for mock data according to new changes

* updated mock data locator

* Update the mockdata source name

Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-08-19 17:53:30 +05:30
Abhijeet
9677a4fb8f
[Skip_changelog] Enable S3 and GSheet from backend for generate CRUD page (#6706)
* Update appsmithVersion for static json file used in import application cypruss test
2021-08-19 12:04:14 +05:30
Nayan
919a420aa7
[Improvement]- Improve the password reset feature (#6545)
* -limit the rate for sending password reset requests

* -used encrypted token in password reset

* -add unit tests for the password reset issue

* -improved formatting

* -updated PR as per review comments

* -hanled IllegalStateException instead of Exception when parsing the encrypted token
2021-08-17 12:35:00 +00:00
Abhijeet
c3f7bea904
Add version check for import-export flow (#6552)
* Added version check

* Added error message for version check while importing the file

* Added TC to check version in exported file

* Added version in FE assets for cypruss test
2021-08-16 21:32:51 +05:30
Nayan
22e477da8f
- add page name in comment notification emails (#6608) 2021-08-16 18:40:31 +06:00
Shrikant Sharat Kandula
e20d616c33
Env Manager API and super user signup API (#6473)
* Add API for env management and super user

* Add missing files

* Add API for signing up for super user

* Fix types in client code

* Add docs for env manager API

* Minor refactoring

* Remove unused updates to app startup

* Better error logging when unable to write file

Co-authored-by: Nidhi <nidhi@appsmith.com>

* Don't cache the user count (duh!)

Co-authored-by: Nidhi <nidhi@appsmith.com>
2021-08-14 07:01:54 +05:30
Abhijeet
a1398ad9b4
[skip_changelog] Check datasource validity before creating a CRUD page (#6562)
* Added check for valid datasource before generating a page

* Sanitise column names for binding in widgets

* Refactor

* Update TC
2021-08-13 11:19:06 +05:30
Nayan
c3b44aa3b3
Bugfix: Create notification when comment added, deleted and thread resolved, deleted (#6495)
* bugfix: notification not created if user is mentioned in the first comment of a thread

* -add notification event type in comment notifications
-show different message for create thread and create comment in UI

* -send notification when comment is deleted

* -send notification when comment thread is deleted
2021-08-13 10:58:42 +06:00
Arpit Mohan
be675fbc6b
Adding the email rollout strategy to feature flag (#6541)
This PR adds the email based rollout strategy to features. We can now define a list of domain names in the init-flags.yml file and define the domains for which the feature will be active.

Also added tests to assert the functionality for this flag flipping strategy.
2021-08-12 04:57:45 +00:00
Anagh Hegde
e2284e4199
Add null check for the nested data structure (#6479)
* Add null check for the nested data structure

* Add unit test for the null nested data
2021-08-09 19:24:19 +05:30
Abhijeet
87beed34d6
[Bugfix] Empty object creation in published pages for application object fixed 2021-08-09 11:43:51 +05:30
Anagh Hegde
42c2d1f708
Fix binding query for the nested data responses (#6372)
* Fix binding query for the nested data responses

* Fix formatting issues and add comments

* Updated comments

* remove code duplications
2021-08-04 15:23:33 +05:30
Nayan
0d106a5c9d
Improvement: Add limit on password length in user signup (#6312)
* -add max password validation in FE and password validation in BE for signup

* -added unit test for password length limit

* - set max password length to 48
- add password length check in reset password

* -removed password limit check from login
2021-08-04 15:33:33 +06:00
Anagh Hegde
528716cc7a
Fix authentication issue while creating mockdata (#6294)
* Re set password to avoid double encryption while creating suffix datasource

* Add test to query on mockdata source

* Check the Authentication type before setting the password
2021-08-03 21:17:58 +05:30
Abhijeet
60cbaad9bd
Add list buckets API to S3 (#6334)
* Add list buckets action method to S3

* Added TC for list bucket method
2021-08-03 18:04:47 +05:30
Nayan
183cc97b50
Fix: Mark comment threads as viewed when they are resolved (#6251)
* -log widget type in analytics service when new thread created
-set viewed=true for resolved threads

* fixed typo

* fix the test case when there is not widget type
2021-08-02 00:12:41 +06:00
Abhijeet
c8928d34ed
Remove autogenerate column from insert query for generate CRUD page from DB table (#6183)
* Removed autogenerated column reference from InsertQuery

* Disable page generation flow for layout with widgets

* Updated Template

* TCs modify for updated template application

* Allow column with only String datatype as a search column in SelectQuery

* Remove AtomicRef as not needed

Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
2021-07-28 13:14:04 +05:30
Nidhi
2cb1aa3de1
Added validation for refactor name (#6165) 2021-07-28 11:19:23 +05:30
Nayan
8b1c5f486d
[Feature] Add filter in get comment threads (#6122)
* -added filter by resolved state in get comment thread API

* -add aggregation and lookup to fetch comment threads

* -added unit test for the repository aggregation method

* -reverted the aggregation lookup

* -add unit test for get all thread

* -removed unused method

* -resolved merge conflicts

* -skip hardcoded property value in query
2021-07-26 17:14:47 +00:00
Nayan
667179d5a1
Stop creating bot comment thread when user is app viewer (#6111)
* -stop creating bot comment thread when user is app viewer

* -added comments to the method
2021-07-26 15:28:49 +06:00
Arpit Mohan
a99bb17c1a
Feature flags on the server (#5926) 2021-07-26 12:31:26 +05:30
Nayan
2c437a41e6
[Bugfix] Mark a comment thread as unread when there is a new comment in the thread (#6100)
* -mark thread as unread and unresolved when new comments added

* -added test
2021-07-23 19:30:36 +06:00
Anagh Hegde
cef530e835
Add binding query to the suggested widget to improve the experience (#6016)
* Add binding query to the suggested widget to improve the experience

* Fix test failures

* Add comments and change as per review

* Move the query template to enum class

* Change Test cases as per review

* Remove unused methods from the test class

* Remove commented code

* Use proper attributes in binding query

* Refactor suggestWidget method to support node

* Add unit tests
2021-07-23 14:29:27 +05:30
Anagh Hegde
c82c518f60
[Bug] - Add check for duplicate name issue while creating mock data set (#6039)
* Add check for duplicate name issue while creating mock data set

* Fix Test failures
2021-07-23 13:34:03 +05:30
Abhijeet
9633d1e1c3
Add autogenerate field in datasource structure for each column (#6018)
* Added field to autogenerate values in DB column

* Added comment and refactor

* Autogenerate field update according to names instead of type for ArangoDB
2021-07-23 09:00:32 +05:30
Abhijeet
a6c357ac16
Removed support for S3 and GSheets for generate CRUD page (#6076)
* Removed support for S3 and GSheets for now as FE code does not have support for these plugins yet

* Commented TCs for S3 and GSheets
2021-07-22 19:12:32 +05:30
Abhijeet
886ed672ca
Extend backend support for S3 and Google Sheets plugin for generating page from DB table feature (#5997)
* Comments update

* S3 plugin support added

* Support for GSheet

* GSheet and S3 support, TCs update

* TC added for MongoDB datasource

* ilike opertor for SQL fixed

* Resolve merge conflicts

* Seperate template page for postgresql and other SQL datasources as there are minor changes in action bodies

* Added ListFiles query as on page load action, Insert all the columns from user's table in SelectWidget

Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
2021-07-22 14:24:22 +05:30
Bhavin K
7259d1e908
Bug/mustache binding extra space (#5587)
Table data was not populating when extra space inside the mustache binding, This is now fixed for list and table widget

* removed return statements from computed values

* list widget responce update

* table data handled return, added migration

* removed unused function

* updatetd rowBinding string generator

* fix failing cypress test

* fix cypress tests
2021-07-22 14:13:58 +05:30
Nayan
5261f782df
Fixed comment missing issue when user role is changed (#5898)
* -fixed comment missing issue when user role is changed

* WIP: add test for policy utils

* -added test for policy utils comment permission when users are added or removed

* -removed unused code

* -removed public access modifier for an internal function

* -add test to verify comment thread policy updated when user role changed in organization

* -add tests for add user and remove user from organization to test comment thread policies
2021-07-21 12:30:34 +06:00
Anagh Hegde
ed7e4457fe
Bug - Fix page order sorting (#5971)
* Use the order from Application object

* Fix the bug in test cases
2021-07-20 09:09:20 +05:30
Nayan
5185a0af5c
Log analytics event when comment created (#5953)
* -log analytics event when comment created

* -mocked analytics for comment tests

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/CommentServiceImpl.java

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

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-07-19 20:45:37 +06:00
Anagh Hegde
d5d6c3fa9c
Feature/page order API refactor (#5799)
* Refactor Page order API - Instead of the order filed use the Order persistency in Array offered by Mongo

* Add migration script to remove the order filed from the Application Pages

* Change unit tests as per the new implementation

* Fix indentation issues

* Compute pages based on the view mode

* Removed order field in response and changed the page order API response to List of pages instead of the application object

* Remove the Order filed from the Response class

* Use the $push instead of $addToSet to maintain order of pages in array
2021-07-19 15:12:29 +05:30
Nayan
8fcbb6e4c1
Add a bot thread when someone adds first comment or tags someone is the comment for the first time (#5521)
* resolved conflicts

* -fixed some issues in PR

* -used sequence in generating thread number

* -refactored the create thread method

* -refactored comment service

* -add bot reply to the first comment thread of an user

* -added a new bot thread when user resolves the first bot thread

* -handle the case when user data can be absent

* -add organization id and widget type to comment and comment threads

* -resolved conflicts

* -mark appsmith bot username as a tagged user in the bot comment

* -turn a private thread to a public thread when someone is tagged in it

* -updated as per the review comments

* -fixed compile error in unit test

* -updated as per PR review comments

* -removed commented code
2021-07-15 23:45:08 +06:00
Anagh Hegde
99a06728d4
Suggest List of possible widgets and add exception handling (#5800)
* Add try catch block to handle the data conversion exception

* Suggest widget only in edit mode

* Add JsonNodeType to the widget suggestion logic

* Use ClassCastException instead of generic exception

* add tests for the array data type

* Suggest list of possible widgets instead of one

* Use constant in if condition to avoid possible NPE
Fix typo
2021-07-14 22:25:13 +05:30
Nayan
45198c7d68
Increased maximum image size to be uploaded as profile picture (#5641)
* -increased max image size to upload as profile picture

* -removed unnecessary changes

* -show message on maximum allowed file size
2021-07-09 15:38:14 +06:00
Rishabh Rathod
c27974b2a2
Replace pluginName with packageName in mockDB creation (#5720)
* replace pluginName with packageName in mockDB creation

* Replace pluginName with packageName

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
2021-07-08 16:03:41 +05:30
Anagh Hegde
0154017836
Refactor Get mock-data set API (#5620)
* Call cloud services to fetch mock datasets

* Call cloud services to fetch mock datasets

* Change the MockData Config,

* Remove unused import statements and fix small indentation issues

* 1. Moved the mock data creation and fetching to a separate class
2. Added plugin type to mockdata class
3. Used pluginName to identify the db type
4. Removed the block call mock data creating method
5. Added unit tests for the mockdata

* 1. Removed unused field from contract and
2. Updated the url to cloud service

* 1. renamed the field of mockdata contract
2. Updated the test cases

* using new mock datasources apis

* 1. Added the Cloud Service release end point to env variable

Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-07-08 11:29:11 +05:30
Abhijeet
07944f214b
Provide API for MongoDB datasource to generate page from DB table feature (#5590)
* Template application updated to include separate page for MongoDB as a datasource

* Support for mongoDB as datasource added

* Added comments

Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
2021-07-08 07:18:23 +05:30
Nayan
eb557035b2
Added new API to get unread comment thread count (#5429)
* -added new API to get unread comment thread count

* -changed query to get unread comments so that it only searches where user has permission

* -added unit test for unread comment thread count

* -improved formatting

* -updated as per PR review
2021-07-07 13:00:33 +06:00
Abhijeet
17006ffe0e
Minimise DB calls to throw duplicate app name error message (#5625)
* Minimise DB calls to throw duplicate error message for updating application name
2021-07-06 22:20:47 +05:30
Trisha Anand
d1ef21dce3
Reliable change application access from public to private & vice versa (#5530)
* Changing application public/private view can no longer be cancelled (for example by client timeout, etc.)

* Update test to only read the datasource used in the application

* Incorporated review comment

* Comment update
2021-07-06 21:49:35 +05:30
Sumit Kumar
d68ca405a8
Feature: integrate ArangoDB plugin (#5518)
* integrate arangoDB plugin.

Co-authored-by: Ming Fang <mingfang@mac.com>
Co-authored-by: Automated Github Action <automated@github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
2021-07-06 18:40:19 +05:30
Anagh Hegde
027603697a
Suggest widget after executing Action (#5574)
* Add widget suggestion to query execution flow

* Change the logic for Chart widget suggestion

* Add tests for the all the suggested widgets

* Added enum class to store widget types
2021-07-06 18:15:48 +05:30
Nayan
13fec4e30e
Update email notification template when there is comment (#5392)
* WIP: updated the email template

* -updated the comment link in email as per the user role

* -rebased from release

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/solutions/EmailEventHandler.java

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

* -updated the template as per review comment

* -removed unused email template file

* -fixed compile error

* -checked application policy instead of role when sending email for comment

* -minor changes as per PR review comment

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-06-30 20:46:56 +06:00
Abhijeet
6ec6f9578c
API for generating a page with UI based on the structure of a given database table (#5269)
* Keymapping, Clone actions from template application, Used exported application JSON file as template app

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

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

* Added TCs

* Update in regex, enable reqArgsConstructor, separate DTO for CRUD page
2021-06-24 14:58:57 +05:30
Nayan
9a247f3e78
Fix bug where some fields are missing for notifications from the API (#5336)
* -set createdAt and type fields in notification
-add threadId in response for comment

* -fixed bug with unread notification count
2021-06-24 14:35:30 +06:00
Nayan
e52680fb1f
Feature/implement comment thread subscriber (#5261)
* -send email to users who are subscribed to a thread only

* -fixed null pointer exception while set subscriber in create thread

* -updated as per PR comments and review
2021-06-23 17:24:57 +06:00
Abhijeet
7fc04f043f
Error message when updating duplicate application name modified to give more contextual information (#5341) 2021-06-23 13:08:12 +05:30
Anagh Hegde
32ecffbf8f Merge remote-tracking branch 'origin/feature/page-order-api' into feature/page-order-api 2021-06-18 22:40:43 +05:30
Anagh Hegde
9ad742e97e Change the test method name to more meaningful,.equals for boolean comparision, fix indentation 2021-06-18 22:40:16 +05:30
Anagh Hegde
82a1289f45
Merge branch 'release' into feature/page-order-api 2021-06-18 15:15:48 +05:30
Anagh Hegde
e02e572df7 Change the logic to have check for the order of all the pages 2021-06-18 14:53:33 +05:30
Anagh Hegde
bd3369dd03 Remove * import statements 2021-06-18 10:25:36 +05:30
Nayan
a1a4f0ef3f
Fature/add pagination in notifications (#5096)
* -added pagination to notifications API

* -add unit tests for notification pagination

* -added unread count in get notifications API

* -moved notification creations to notification service from comment service

* -add repository method to mark a notification as read

* -added repository to update isRead by for username

* -add API to mark notification as read

* -addd application id and application name in notification

* -save application id and name in notification when creating notification for comment and comment threads

* -added page id, from user information in notifications

* -fixed failing unit test due to dependency error

* -removed unused imports

* -extended base controller in notification controller

* - introduced pagination based on before created data instead of offset based pagination

* -moved application id, name and page id inside comment from notification

* -moved author information from notification to comment thread

* -return data from notification service instead of the response object in the mark read or unread API
2021-06-16 23:24:03 +06:00
Anagh Hegde
e119bd716c Ignore the order of the page while checking the published and edited pages test 2021-06-16 21:12:18 +05:30
Anagh Hegde
8296f416cc Merge remote-tracking branch 'origin/feature/page-order-api' into feature/page-order-api 2021-06-16 14:29:37 +05:30
Anagh Hegde
2ccc1ef1f2 Change the test scenario 2021-06-16 14:29:03 +05:30
Anagh Hegde
e748623e57
Merge branch 'release' into feature/page-order-api 2021-06-16 13:56:52 +05:30
Anagh Hegde
5a8ac3fd33 1. Fix failing unit tests for the page reorder 2021-06-16 11:21:19 +05:30
Anagh Hegde
3e1702b4f9 1. Add migration logic
2. Add order while creating pages
2021-06-16 09:12:53 +05:30
Abhijeet
7c430303aa
Allow only organization admins to export application (#5085)
* Added permission export:applications for admin role

* Only admins are allowed to export applications

Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-06-15 18:18:21 +05:30
Anagh Hegde
9932f918f9 Use assertThat type of assertions and move the order initialization logic to migration 2021-06-15 10:03:39 +05:30
Anagh Hegde
1ca7a0cb20 Add test for page reorder and add order to the response 2021-06-14 15:34:07 +05:30
Shrikant Sharat Kandula
8db64e6355
Merge pull request #4980 from appsmithorg/feature/send-email-on-comment
Feature/send email on comment
2021-06-10 15:20:34 +05:30
Abhijeet
0246563bd2
Bugfix for applications with MongoDB datasources authenticated with SRV string (#4944)
* Avoid updating authenticationDTO for mongo-plugin with SRV if the authentication object is already present
2021-06-10 10:52:23 +05:30
Nayan
b3bde4eb95 -organized imports 2021-06-08 15:52:25 +06:00
Nayan
ba4ea3a61b -fixed issue in unit test 2021-06-08 15:34:10 +06:00
Nayan
280155ac89 -added test for the email event handler 2021-06-08 14:43:21 +06:00
Nayan
5550c9310f -moved email sender to background task 2021-06-08 14:43:20 +06:00
Nayan
f9493a4bd2 -add unit test for utils 2021-06-08 14:43:19 +06:00
Nayan
db7363fac6 -Issue #4706 - send email when new comment added or comment thread resolved 2021-06-08 14:43:18 +06:00
Nayan
77940c0cfa
[Issue #3785][Bug] User names in organization management page are stale (#4702)
* [Issue #3785][Bug] User names in organization management page are stale

* -update name in userroles in background when there is a change in user
2021-06-02 15:56:52 +06:00
Nayan
78915301e3
[Issue #4572]-Allow users to leave an organization (#4634)
* [Issue #4572]-Added API to leave organisation by any user

[Issue #4572]-Add option for organization admins to leave an organization

* -add option to leave organization in frontend for non-admin users

* -updated the leave org endpoint path and HTTP method as per PR review

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserOrganizationServiceImpl.java

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

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserOrganizationServiceImpl.java

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

* -add cypress test and some minor changes as per PR comment

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-06-02 15:56:22 +06:00
Abhijeet
51addbc963
Feature/import-export-application (#4553)
* Decryption for dbauth, basic and OAuth datasources added in exported file

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

* Content-Disposition header implemented 

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

* Published pages and actions explicitly handled in cases where unpublished resources are deleted
2021-06-01 17:38:26 +05:30
Nidhi
5ddd58cdfd
Added optional audience and resource fields for oauth2 datasources (#4678)
* Added optional audience and resource fields for oauth2

* Review changes

* Don't show audience and resource fields by default
2021-05-27 21:53:59 +05:30
Nayan
caf7f3678c
[Issue #2689][Bug] Duplicate Accounts with Same Email - Field is Case… (#4529)
* [Issue #2689][Bug] Duplicate Accounts with Same Email - Field is Case Sensitive

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

Co-authored-by: Nayan <83352306+nayan-appsmith@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-05-26 15:25:48 +06:00
Nidhi
2bf1fbff04
Removed check for encryption since this is not handled manually anymore (#4673)
* Removed check for encryption since this is not handled manually anymore

* Removed migration for isEncrypted
2021-05-25 20:29:57 +05:30
Sumit Kumar
c156560313
[Bug] fix NPE (#4613)
* fix NPE
* add ip check for localhost
2021-05-21 13:47:51 +05:30
Arpit Mohan
b1d7258dcb
Adding support for multipart form data (#4547)
* Handling multipart form data in the CURL import flow

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

* Also fixing minor bug where the form values need not always be double-quoted
2021-05-19 10:48:51 +05:30
Shrikant Sharat Kandula
b1c523eef4 Fix flaky UserData test 2021-05-18 17:48:40 +05:30
Nayan
51dd6587cf
[Issue #2093]-show last used organizations first in home page (#4461)
* [Issue #2093]-show last used organizations first in home page

* -updated as per the comments in PR
2021-05-16 09:42:10 +06:00
Shrikant Sharat Kandula
27af947852
APIs for adding and removing reactions on comments (#4457)
* Add APIs for reacting and unreacting on comments

* Add tests for Reactions APIs

* Fix s/create/delete typo

Co-authored-by: Nidhi <nidhi@appsmith.com>

* Deletion is successful if more than one are deleted

Co-authored-by: Nidhi <nidhi@appsmith.com>
2021-05-13 12:52:43 +05:30
Trisha Anand
aa51040c99
Small housekeeping server side changes (#4245)
* Minor refactor datasource policy generation for easy re-use.

* Added simple widget name refactor test
2021-05-06 16:27:08 +05:30
Nidhi
6c0668e74d Tests for encryption 2021-05-06 13:36:37 +05:30
Nidhi
b2aaa7787c Merge branch 'release' of github.com:appsmithorg/appsmith into task/apply-encryption 2021-05-06 12:55:25 +05:30
Sumit Kumar
52bfd25824
Feature: return request parameters with type for debug tab (#4078)
- return request parameters with type for debug tab.
- request params are stored in a RequestParamDTO object.
- a configProperty -> label map is cached in pluginService, which returns the param label as per the configProperty it is mapped to via editor.json file.
- This feature currently only works with prepared statements disabled.
2021-04-30 16:26:51 +05:30
Rishabh Saxena
a0d2e8533d
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs

* add actions

* add assets

* state management for existing comments and creating new

* add ui components

* add overlay comments wrapper to baseWidget

* add toggle comment mode button at editor header

* trigger tests

* Disallow commenting as someone else

* Add applicationId for comments

* lint

* Add overlay blacklist to prevent component interaction while adding comments

* Comment thread style updates

* Placeholder comment context menu

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

* Update comment type description

* Reset input on save

* Resolve comment thread button ui

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

* Submit on enter

* add emoji picker

* Attempt at adding a websocket server in Java

* CRUD APIs for comment threads

* Add API for getting all threads in application

* Move types to a separate file

* Initial commit for real time server (RTS)

* Add script to start RTS

* Fix position property

* Use create comment thread API

* Use add comment to thread API

* Add custom cursor

* Dispatch logout init on 401 errors

* Allow CORS for real time connection

* Add more logs to RTS

* Fix construction of MongoClient

* WIP: Real time comments

* Enable comments

* Minor updates

* Read backend API base URL from environment

* Escape to reset comments mode

* Set popover position as auto and boundary as scroll parent

* Disable warning

* Added permissions for comment threads

* Add resolved API for comment threads

* Migration to set commenting permission on existing apps

* Fix updates bringing the RTS down

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

* Cleanup comment reducer

* Move to typescript for RTS

* Add missing server.ts and tsconfig files

* Resolve / unresolve comment

* Scaffold app comments

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

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

* Retry socket connection flow

* Integration tests for comments with api mocks using msw

* Fix circular depependency

* rm file

* Minor cleanup and comments

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

* Use policies when pushing updates in RTS

* ENV var to set if comments are enabled

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

* Add tests for comments reducer

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

This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.

* Enable comments for users with appsmith email

* lint

* fix

* Try running a socket.io server inside backend

* Update comment reducer tests

* Init mentions within comments

* Fix comment thread updates with email rooms

* Minor fixes

* Refactors / review suggestions

* lint

* increase cache limit for builds

* Comment out tests for feature that's under development

* Add Dockerfile for RTS

* Fix policies missing for first comment in threads

* Use draftJS for comments input with mentions support

* fix fixtures

* Use thread's policies when querying for threads

* Update socket.io to v4

* Add support for richer body with mentions

* Update comment body type to RawDraftContentState

* fix stale method

* Fix mentions search

* Minor cleanups

* Comment context menu and thread UI updates

* revert: Scaffold app comments

* Yarn dependencies

* Delete comment using id api added

* Init app comments

* Add test for creating thread

* Api for delete comment with id

* Test comment creation response and policies

* Copy comment links

* Fix reset editor state

* Delete valid comment testcase added

* Delete comment TC : code refactor

* Don't allow creating comments with an empty body

* Pin comments WIP[]

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

* Cleanup of some dev-only files, for review

* Delete comment

* Update socket.io to v4 in RTS

* Pin and resolve comment thread object added in commentThread

* Pin and resolve comment thread object added in commentThread

* Update comment thread API

* Added creationTime and updationTime in comment thread response

* Added creationTime and updationTime in comment thread response

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

* Refactor

* lint

* fix test, rm duplicate selector

* comment out saga used for dev

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

* lint

* trigger tests

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 16:03:51 +05:30
Trisha Anand
73c2b09dc4
[Bug Fix] : In case the table being renamed has mongo escaped fields, rename the table name in set keeping a track of these widgets as well (#4195) 2021-04-28 17:36:30 +05:30
Nidhi
8afac888c7 Merge branch 'release' of github.com:appsmithorg/appsmith into task/apply-encryption 2021-04-26 13:30:49 +05:30
Abhijeet
c11dab9673 Auto-generated-organization field added in organization DB to differentiate between user created and auto generated organization 2021-04-23 19:29:20 +05:30
Abhijeet
bb0516a495
Default counter for new datasource in organization should initiate at 1 (#4005)
* OrgId is added as a suffix to link datasource entry with orgId when creating document in sequenceDB.

* Each document entry in sequenceDB is linked to organization ID which is then used by the datasourceDB to generate default name. Testcase for testing default names to new datasources (#2212)

* Migration ChangeSet added to setup sequenceDB with organization ID in name field

* Optimization in string operation
2021-04-22 12:46:43 +05:30
Nidhi
6b31aa333b
Introducing Google Sheets Plugin (#3517)
* cherry pick -make new

* revert to enable fix from release

* attempt to hook into existing datasource editor

* gSheets plugin skeleton from Rest API

* Changes for database migration

* fix for auth code

* separate it out

* action page loads!

* add to explorer

* create action from datasource

* Editor JSON WIP

* working query form

* Editor JSON WIP

* import to

* fix toast message

* redirect from datasource and editor pages

* fix onboarding

* fix imports and constants

* refactor form out

* refactor queryForm

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

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

* initial values from settings, editor and form

* Check

* remove dangling code around lightTheme

* Safety net

* remove class

* try mouseover solve

* force click

* changes from review

* fix action form name on import

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

* minor cleanup

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

* WIP

* Google sheets changes

* Merge conflicts

* Merging and fixes, needs refactoring

* Check

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

* Fixed tests

* Add cloud services env variable

* Clean up saga

* Clean up

* Refactoring

* Deleted svg file

* Minor fixes

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

* Modified design to allow behaviour in google sheets methods

* Review changes

* Removed sysout

* Added handling of edge cases with table data

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

* Fixes

* Fixes

* Added validations

* Improved tests

* Removed extraneous injected bean

* Review changes

* Fixed bug with method

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

* Method changes

* Removed logging

* Renaming options

* Reverting pom version

* Modified type of collection variables, fixed errors

* Converted row offset field to one that supports dynamic bindings

* Review changes

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

* list saas plugin type actions under lightning menu apis

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

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

* Fix merge issues

* Prettified query editor and a few fixes w/ ux

* Test fixes

* Reformatting request

* code for REST added (#3876)


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

* Renamed body to row object

* Renamed placeholder for range

* Renamed range heading

* Modifications to handle range semantics

* Use spreadsheet Url instead of id

* Ordering of methods

* Removed logging

* Add tests for Dynamic text controls

* Add tests for url helpers

* Fix coverage config

* Nevermind

* Interface changes

* There is no body here

* Yay to hints

* Delete row field is separately handled as row index

* placeholder support (#4001)

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

* Switched to using 'rowIndex' throughout

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

* - Fixed QA bugs (#4032)

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

* Proper exceptions

* Removed extra logging

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

* Same for bulk update

* Zero-indexed delete row

* I'm a space bound rocket ship

* Logic to register installations with cs (#4062)

* Logic to register installations with cs

* Clean up

* Casting to string

* Checking to see if this makes the test pass

* Added an extra null check

Co-authored-by: Piyush <piyush@codeitout.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-04-22 09:00:09 +05:30
Trisha Anand
eaa24ca894
[Bug Fix] : Fetch actions by id during refactor action name to solve IncorrectResultSizeDataAccessException for pages where duplicate action names exist (#4030)
* New dto for refactoring action name which includes actionId as well

* Refactor action name now also takes actionId as payload and fetches the action from db by id instead of name to solve for the scenario where the action names could be duplicated.

* Adding actionId to QP of action refactor API.

* WIP : test for asserting the bug fix

* WIP test

* Fixed the test case asserting refactoring works for an action when there are duplicate action names in the page.

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
2021-04-19 12:35:10 +05:30
Trisha Anand
4f8cf79041
[Bug fix] : Disallowing action creation with existing names from the page (#4015) 2021-04-16 16:13:03 +05:30
Abhijeet
6ea795e8a1
Autoscroll to invited organisation (#3945)
* Added organization slug to the invite Url, which is finally used by email template(#2359)

* Separate method to create email params. Welcome email url variable updated so as to be consistent with other email templates

* Unused enum emailType removed, importing of java.util.* removed as per suggestion
2021-04-15 16:46:46 +05:30
Trisha Anand
9b49308abe
Adding dependency relationship to plugins (#3997)
* Added dependencies to be added to dependencyMap on client to Postgres, MSSQL, MySQL and Mongo plugins

* Added Dependency config for API

* Fixed the test case
2021-04-15 11:36:41 +05:30
Shrikant Sharat Kandula
a259dd00ed
Fix internal server error on invalid header in curl command (#3931)
* Fix internal server error on invalid header in curl command

* Add tests for invalid header/method
2021-04-14 10:44:43 +05:30
Sumit Kumar
b4e43798ab
fix NPE by adding null check conditional (#3989)
Fix NPE seen on Sentry by adding null check for result body
2021-04-13 19:58:40 +05:30
Nidhi
a24eb90091
Fixed escaped layout being used for update (#3968)
* Fixed escaped layout being used for update

* Few more cases of unescaped layout usage
2021-04-13 09:36:50 +05:30
Nidhi
4bddfa0a4e
Fixed curl import without valid tokens (#3933) 2021-04-09 14:03:53 +05:30
Sumit Kumar
9c8bce0415
Feature: return data types of returned data on query execution for better data display (#3914)
- Return data type list along with action execution result so that the data can be displayed in the correct format.
- Handles these three data types for now : table, json, raw.
  - If a plugin has already assigned the data type, then common handler is not used.
  - Mongo plugin assigns the data types in the plugin specific flow i.e. does not use the common data type parse / assign method.
- To address review comments:
  - added a new enum ActionResultDataType for data types. It is consumed by ParsedDataType. A list of ParsedDataType is returned by ActionExecutionResult
  - parsed data in parallel using streams.parallel().
2021-04-09 10:58:37 +05:30
Nidhi
4f68d5f472 Logging test failure 2021-04-08 19:53:48 +05:30
Nidhi
13a3e8f240 Applying AOP encryption 2021-04-08 16:58:45 +05:30
Sumit Kumar
41e44eed30
Feature: add title to action execution errors to improve user experience (#3872)
- add title to action execution errors to improve user experience
    - all errors in AppsmithPluginErrors
    - action execution related errors in AppsmithError : NO_CONFIGURATION_FOUND_IN_DATASOURCE, INVALID_ACTION, INVALID_DATASOURCE, INVALID_DATASOURCE_CONFIGURATION - as these are the likely errors in an action execution flow (excluding plugin specific flow) that might result from faulty action / datasource configuration by a user.
    - title is returned as part of ActionExecutionResult.
    - title is set in ActionExecutionResult on failure during action execution.
    - In response to review comment - added a new BaseException class, so that both AppsmithException and AppsmithPluginException extend this base class. Also, refactored code to introduce setErrorInfo() function in ActionExecutionResult class to set its attributes.
- Some unrelated cleanup:
    - catch PoolInitializationException for Postgres plugin and return AppsmithPuginException
    - catch MongoTimeoutException and return AppsmithPluginException
2021-04-08 09:49:05 +05:30
Trisha Anand
174ef284f0
[Bug Fix Improvement] : Table widget keys are unescaped after walking through the DSL (#3908)
* WIP : untested

* Minor refactoring

* Added test case to assert escaping and unescaping of the table widget primary column keys
2021-04-07 19:36:37 +05:30
Nidhi
927a6a3479
Annotation based encryption (#3610)
* Annotation set up

* Removed annotation uses

* Redundant condition

* Commented out logging, retained for implementation

* Handling for Collection and Map parameterized types

* Removed comments
2021-04-07 15:27:36 +05:30
Sumit Kumar
3140e98146
modify hint message to include fix (#3829)
Modify hint message to include fix.
2021-04-01 17:10:30 +05:30
Shrikant Sharat Kandula
efec01344a
Clone explicitly set datasource for new users (#3793) 2021-04-01 12:44:44 +05:30
Sumit Kumar
e347b61e53
Return hint on localhost url (#3611)
- Return hint for localhost URL on the following events:
Test datasource
Save datasource
Update REST API Url
Create datasource from REST API
When page gets loaded for first time.
- Hint message returned: "You may not able to access your localhost if Appsmith is running inside a docker container or on the cloud. Please check out Appsmith's documentation to understand more."
- It has been decided as part of actions pod meeting that these messages will not be persisted.
2021-03-26 15:42:34 +05:30
Trisha Anand
c6e4f91ffb
[Bug fix] A lax search for presence of binding during save page to match client algorithm to reduce page save error (#3698)
* Lax mustache binding check added to match the client side check when client recognizes a field to have a dynamic binding. This would reduce/remove bad bindings from throwing a 400 during save page.

* Added a test to assert that update layout does not fail in case the binding is technically incorrect because part of the mustache's lie inside quotes. Since client has a lax way of finding a dynamic path, server also follows suite.
2021-03-25 16:00:45 +05:30
Shri
bb1d0059d3
Clear OAuth tokens for forked datasources (#3609)
* Clear OAuth tokens for forked datasources

* Fix datasource duplicate finder in light of oAuth tokens

* Fix potential NPE
2021-03-18 21:08:56 +05:30
Shri
cbd7828503
Add migration to remove template organization config (#3568) 2021-03-16 15:29:06 +05:30
Shri
e1fb1203b5
Application forking fixes and improvements (#3519)
* Clone only those datasources that are actually used

* Retry when cloning app causes a name class

* Search for an existing datasource before cloning

* Test deep matching of datasources

* Refactoring, since now the tests pass

* Allow forking of owning applications

* Don't limit datasource naming suffix number
2021-03-15 22:19:40 +05:30
Shrikant Sharat Kandula
b12057ef73
Allow client to set layouts without id when creating a page (#3477)
* Allow client to set layouts without id when creating a page

* Mild refactoring

* Fix Layout action tests
2021-03-11 15:13:24 +05:30
Shrikant Sharat Kandula
65568a4e13
Add more devices in AppLayout options (#3451)
* Remove width and introduce more AppLayout type enums

* Fix: Adding min width to layout options.

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
2021-03-11 07:51:48 +05:30
Shrikant Sharat Kandula
bb9a9a307f
APIs for profile photos (#3260)
* Add API for uploading profile photos for current user

* Add delete and get APIs for profile photos

* Add test for uploading and deleting profile photo

* Added negative tests for upload profile photo API
2021-03-09 17:03:20 +05:30
Sumit Kumar
800d305dab
Gracefully handle the timeout overflow / out of expected range errors (#3411)
- Expect max value of timeout as 60000 ms.
- If value exceeds max value then add error message to the list of invalids. This list is returned to the client in response body.
- Detect integer overflow exception (Number format exception) and override the value to 60000 ms.
2021-03-05 17:09:29 +05:30
Trisha Anand
f49cc7b455
Added throwing a properly formatted error for client to consume when dynamic binding path list contains an invalid entry (#3343) 2021-03-03 17:47:35 +05:30
Shrikant Sharat Kandula
9c50182f0e
API for forking of public applications (#3221)
* A barely working API for forking a public application

* Tests WIP

* Mild refactoring in tests

* Refactoring in test

* Not all applications are forkable
2021-03-03 15:45:47 +05:30
Shrikant Sharat Kandula
a1d027bb59
Save separate appLayout for edit/view and sync on publish (#3245) 2021-02-26 16:18:04 +05:30
Shrikant Sharat Kandula
5808620716
Add API for the signed in user to set their name (#3164)
* Add API for the signed in user to set their name

* Use the correct error in session handling
2021-02-26 14:48:20 +05:30
Sumit Kumar
63ff3c73fa
Fix execute on page load for api on app copy (#3150)
* first draft

* added fix without TC

* cleanup

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java

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

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java

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

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java

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

* - add TC
- minor code refactor

* fix condition

* update clone page test

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2021-02-24 10:21:03 +05:30
Piyush
faea2f36ff
Add support for setting.json for pluginType DB (#3156) 2021-02-23 13:57:37 +05:30
Trisha Anand
e5574c1945
Support Prepared Statements in Postgres (#2967)
* Pushing minor editor form changes to ensure that prepared statement could be turned off.

* Code refactor to do variable substitution in PluginExecutor instead of action service.

* WIP : Prepared Statement handling in psql plugin

* WIP Prepared Statements.

* Working version of prepared statements

* Quote trimming added for post preparing sql statements. Now the unprepared statements and prepared statements do not require edits.

* Fixed existing test cases failing.

* Code formatting.

* Super minor code cleanup.

* Added migration for the existing postgres actions.

* Fixed failing test cases in ActionServiceTest.

* Minor change in the text for turning on and off prepared statements in the postgres query pane.

* Added test cases for prepared statement.

* Some minor comments for code readability

* Moved Prepared Statement setting from Action Configuration to Plugin Specified Templates since this setting does not make sense for all the DB plugins.

* Added function level comments

* Update app/server/appsmith-interfaces/src/main/java/com/appsmith/external/helpers/SqlStringUtils.java

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* Update app/server/appsmith-interfaces/src/main/java/com/appsmith/external/helpers/SqlStringUtils.java

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>

* Incorporated review comments.

* Fixed compile time error.

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2021-02-18 18:33:27 +05:30
Trisha Anand
b565301afe
Datasource is given permission for a public app during create/update of a public action (#3086)
* Added test case to assert that new datasources and actions created post making an application public have the correct permissions for public execution.
2021-02-18 18:05:07 +05:30
Nidhi
afc329fd7b
Added grant type Authorization code to OAuth2 (#2992)
Co-authored-by: Piyush <piyush@codeitout.com>
2021-02-16 17:58:03 +05:30
Nidhi
8823f9d407
Added client credentials grant type for OAuth2 (#2649)
* Added client credentials grant type for OAuth2

Co-authored-by: Piyush <piyush@codeitout.com>
2021-02-11 17:58:06 +05:30
Shrikant Sharat Kandula
0861836db4
Fix bindings in Firestore plugin's where condition value (#2934) 2021-02-09 19:11:16 +05:30
Trisha Anand
af273c60d8
When fetching unpublished actions and unpublished pages, check if the undeployed version is not deleted before fetching. (#2792)
* When fetching unpublished actions and unpublished pages, check if the undeployed version is not deleted before fetching.

* Only add unpublished page deleted at check if the view mode is false (aka edit mode)

* 1. Update action repository to fetch only non deleted actions if fetching actions in edit mode.
2. Added test cases to assert re-using of deleted page and action names.
2021-02-09 12:57:10 +05:30
Trisha Anand
078870f7c9
Communicate action execute on load changes in update layout (#2825)
* 1. Update on load actions correctly
2. Send the changed actions with their changes as well as messages back to the client as part of the response.

* Added test case to assert that the action updates are correctly recorded in updateLayout.

* Code cleanup + added more comments for code readability

* Incorporated review comments.
2021-02-09 10:39:08 +05:30
Sumit Kumar
e6b77a1299
Stop logging some AppsmithPluginException to Sentry (#2351)
1. Move package  appsmith-interfaces/src/main/java/com/appsmith/external/pluginExceptions-> appsmith-interfaces/src/main/java/com/appsmith/external/exceptions/pluginExceptions
2. Move enum AppsmithErrorAction from appsmith-server/src/main/java/com/appsmith/server/exceptions/AppsmithError.java -> appsmith-interfaces/src/main/java/com/appsmith/external/exceptions/AppsmithErrorAction.java, so that both plugin exceptions and server exceptions could use the same enum.
3. Log exception based on the error action defined for each exception.
2021-02-04 15:24:30 +05:30
Shrikant Sharat Kandula
5c9f90fd59
Fix missing user name in first organization name (#2873) 2021-02-04 14:04:24 +05:30
Shrikant Sharat Kandula
f950a9352b
Fix datasource hostnames being saved with spaces (#2844) 2021-02-03 16:46:09 +05:30
Nidhi
c83fb70b95
Fixed ExecuteOnLoad not getting set for onPageLoad actions (#2801)
* Piped onpageload update function

* Added tests
2021-02-02 10:48:51 +05:30
Tim Dillon
91d5eb5860
Fix user email duplicated as name (#2787) 2021-02-01 14:51:44 +05:30
Shrikant Sharat Kandula
a6d76d1672
Fix organization slug computation clashes (#2725)
* Fix organization slug computation clashes

* Handle case where number-less slug is available
2021-01-27 14:35:43 +05:30
Trisha Anand
9e0f36a6f2
Improve Server thrown Error Messages' language (#2705)
* Improve Error Messages

* Added naming convention expansion for action name in the error

* Fixed failing test case assertion.

* Minor formatting.
2021-01-25 18:50:32 +05:30
Trisha Anand
3776e82fb8
Scheduling of parallel tasks implementation for on-page load actions (#2667)
* Proof of concept code which calculates the on load page actions.

* Refactored the field names introduced in Layout. Added a new field to keep a track of direct action names used in dynamic bindings in the DSL.

* Untested compute on on page load actions completed.

* Working page load actions computation.
TODO : Update the tests for correctness.

* Added fix for BFS starting from root nodes instead of arbitrary nodes.
Fixed a test case to assert for correct page load actions.

* Fixed the bug where the ids of the actions were not getting set in the layout. Also asserting the same in the test case for catching the future breaks.

* Minor refactor of function name to clear its purpose without reading the code.

* Incorporated review comments.

* Added conditional checks for unpublished action deleted and circular dependency of actions depending on each other.
2021-01-25 16:54:45 +05:30
Nidhi
9ea5c884e1
Null check for empty pagination next url (#2546) 2021-01-13 12:12:29 +05:30