Commit Graph

566 Commits

Author SHA1 Message Date
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