Commit Graph

525 Commits

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