Commit Graph

123 Commits

Author SHA1 Message Date
trishaanand
9eedb15620
Updating anonymous user permissions for application and associated pages & actions when public access is modified (#57)
* On setting an application to public view, correct permissions are assigned to the application and its pages & actions.

* If anonymous user is allowed a certain permission, the all users (anonymous/logged in) should be allowed the certain permission.
2020-07-09 11:21:39 +05:30
trishaanand
a5a3a5f4a2
Bug fix - In case of invited user signing up on Appsmith, the password is getting doubly hashed leading to sign in breaking for this user. (#51)
* Bug fix is working. Added a test case which is not working.

* Code cleanup. Test case fixed. Now, when we set the user to enabled, we also store the password that has been passed to the flatMap.

* Minor code cleanup.
2020-07-08 13:16:13 +05:30
trishaanand
c9703ea3b1
Special 404 handling and adding a few paths to the unauthenticated list to allow for public applications (#45)
* 404 error added for a few API calls which would be specially handled on the frontend to display an ACL 404 error.

* Putting everything except GET actions, GET pages, and GET applications behind authenticated. This ensures that in the future public applications (view only) would not lead to 401 but any other page would.

* Code formatted.
2020-07-06 20:21:07 +05:30
Shrikant Sharat Kandula
56547ec02f
Move application configuration to be loaded from environment variables (#23)
* Move application configuration to be loaded from environment variables
* Remove unused sentry.properties
* Make missing value sentinel a constant and ignore all *.env files
* Removed now-used ACL properties
* Prefix RapidAPI environment variable with APPSMITH_
* Fix application properties not being loaded into static fields
* Remove application-test.properties file
* Add required env variables for test in GitHub
* Quote URLs for MongoDB and Redis in test config
* Change RAPIDAPI to RAPID_API in environment variable names
* Source .env file in the root of repo in start script
2020-07-06 14:35:56 +05:30
trishaanand
4a05ba6ac5
An invited user on signup should be set to enabled and should not lead to duplicate key exception. (#36) 2020-07-06 12:46:46 +05:30
Arpit Mohan
3035ec9bef
Adding the Github action workflow for the server code (#24)
* Adding the Github action workflow for the server code

* Modifying the redis endpoint in application-test.properties to point to localhost because the Docker service exposes ports to the host
2020-07-03 14:40:57 +05:30
Arpit Mohan
fdeed757ff
Fixing the move action API by removing invocations to subscribe (#17)
* Fixing the move action API by removing invocations to subscribe

Calling subscribe() inside function calls is an anti-pattern and we shouldn't be doing it.
The reactiveContext is not called if the subscribe() function is called in the middle of execution flows. This breaks DB queries.

* Added test case for move action.

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2020-07-02 15:41:45 +05:30
Shrikant Sharat Kandula
95b9860bf9
Give appropriate error when method is invalid in cURL command (#1) 2020-07-01 12:37:59 +05:30
Trisha Anand
930e577f98 Bug Fix : When page name is updated, the policies should not get overwrritten. Changed the base service function to reset the empty policies to null in case the update is not used to update the policies. 2020-06-27 19:45:24 +00:00
Trisha Anand
76e3db497c Bug fix : Google SSO for sign up led to the organization id for personal organization not getting set up. 2020-06-26 11:59:33 +00:00
Arpit Mohan
bbf0aef450 Merge branch 'bug/embedded-datasource-without-organization-id' into 'release'
When organizationId is null in a datasource, fail with the right error message

The organization id is subsequently used to find a matching plugin (checking for installation essentially), but when organization id is missing, this query never returns. But the error message reads as if the plugin is not installed, whereas it should've been that organization id is missing.

See merge request theappsmith/internal-tools-server!406
2020-06-26 11:43:16 +00:00
Shrikant Kandula
d5921ea52d When organizationId is null in a datasource, fail with the right error message 2020-06-26 11:43:16 +00:00
Shrikant Kandula
3217daab14 Fix Mustache rendering to work on object fields directly 2020-06-25 09:58:20 +00:00
Trisha Anand
0603da29ee User test - Add request URL and http method to the execution result 2020-06-19 16:24:58 +00:00
Shrikant Kandula
70c312ca40 Merge branch 'bug/disallow-delete-datasource-with-actions' into 'release'
Fail deleting datasource if there's actions against it

See merge request theappsmith/internal-tools-server!388
2020-06-18 10:41:49 +00:00
Shrikant Kandula
9f6a4f6ea5 Fail deleting datasource if there's actions against it 2020-06-18 10:41:48 +00:00
Shrikant Kandula
45961ddcde Merge branch 'bug/fail-on-invalid-page-id-when-creating-action' into 'release'
Fail with an error if can't find page when creating an action

See merge request theappsmith/internal-tools-server!394
2020-06-18 10:25:13 +00:00
Shrikant Kandula
f19764ab99 Merge branch 'bug/space-not-needed-in-header-in-curl' into 'release'
Fix parse error when there's a space in header in curl command

See merge request theappsmith/internal-tools-server!390
2020-06-18 10:11:39 +00:00
Shrikant Kandula
1d5fa960db Fail with an error if can't find page when creating an action 2020-06-18 15:05:55 +05:30
Trisha Anand
893698f09e Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/src/main/java/com/appsmith/server/constants/FieldName.java
2020-06-17 15:10:23 +05:30
Shrikant Kandula
8e40240f25 Fix parse error when there's a space in header in curl command 2020-06-17 12:32:08 +05:30
Arpit Mohan
c6af229a97 Merge branch 'bug/default-page-action-refactor' into 'release'
Adding the widget names set to the default layout for a page

During action name refactor, we require the widget names to exist in the layout. Hence all default layouts must have the widgetName set.

See merge request theappsmith/internal-tools-server!387
2020-06-16 05:25:54 +00:00
Arpit Mohan
a4132d5845 Adding the widget names set to the default layout for a page 2020-06-16 10:50:07 +05:30
Shrikant Kandula
dd0ba857c2 Fix cURL import when using --url argument
Also fixes cases where there's a space between `-X` and `POST` and
similar cases.
2020-06-16 09:59:43 +05:30
Trisha Anand
9dfb72720e Fixed the broken test cases. 2020-06-12 19:35:01 +05:30
Trisha Anand
73757c3425 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	.gitignore
#	appsmith-plugins/mongoPlugin/plugin.properties
#	appsmith-plugins/postgresPlugin/plugin.properties
#	appsmith-plugins/rapidApiPlugin/plugin.properties
#	appsmith-plugins/restApiPlugin/plugin.properties
#	appsmith-plugins/restApiPlugin/src/main/java/com/external/plugins/RestApiPlugin.java
#	appsmith-server/src/main/java/com/appsmith/server/constants/FieldName.java
#	appsmith-server/src/main/java/com/appsmith/server/repositories/ActionRepository.java
#	appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java
#	appsmith-server/src/main/java/com/appsmith/server/services/DatasourceContextServiceImpl.java
#	appsmith-server/src/main/java/com/appsmith/server/services/DatasourceServiceImpl.java
#	appsmith-server/src/test/java/com/appsmith/server/services/ActionServiceTest.java
#	appsmith-server/src/test/java/com/appsmith/server/services/ApplicationServiceTest.java
#	appsmith-server/src/test/java/com/appsmith/server/services/LayoutServiceTest.java
#	appsmith-server/src/test/java/com/appsmith/server/services/PageServiceTest.java
#	build.sh
2020-06-12 19:14:31 +05:30
Trisha Anand
7a658ce5ea App viewer user in an organization should have read:organizations permission. 2020-06-10 15:55:29 +05:30
Arpit Mohan
bbd33c2968 Removing the query field in ActionConfiguration and using String body as the field to store the query
This is to simplify the query pane on the frontend client. The client doesn't need to have separate interfaces for sql and non-sql plugins. All queries will be sent to the server in the form of a String that is parsed in different formats based on the plugin.

Also adding test cases for PostgresPlugin. Used TestContainers to simulate the postgres db in Docker inside the Java test itself. Very useful.
2020-06-09 12:12:27 +00:00
Trisha Anand
87aafd6cf4 Adding test case for testDatasource
Refactoring the testDatasource code by moving the business logic to the service layer.
2020-06-05 10:05:23 +00:00
Arpit Mohan
1ac69bab50 Modifying the default page name to Page1
Also creating a default empty layout when a new page is created. This ensures that the client can show the default message on new page creations.
2020-06-04 13:05:34 +05:30
Trisha Anand
f8cf87e3c8 Invite existing user to an organization works. Updated the test case for adding user to an organization as well to use the new API. 2020-06-01 17:39:27 +00:00
Trisha Anand
f1e1e6959a Bug : New users aren't able to read their own user object and hence homepage doesnt load.
Fix : Added lateral permissions for user on create.
2020-05-29 05:28:30 +00:00
Trisha Anand
d6670c70cc Bug Root Cause : New users have no applications inside the organizations(s). In this case, get all applications does not return back organizationApplications object.
Fix : In getAllApplications, instead of iterating over collections of applications which could be empty, we iterate over organizations where we are guaranteed to have atleast one organization.
2020-05-28 13:31:24 +05:30
Trisha Anand
6475be63d1 Baseline code added for cascading the org level permissions to applications, pages and eventually actions. 2020-05-27 14:36:57 +00:00
Arpit Mohan
9f82bde92c Adding statusCode from AppsmithPluginErrors when plugins error out
This ensures that we can always display a status code on the client.
2020-05-26 11:50:09 +00:00
Trisha Anand
d98fce3d09 WIP: adding helper functions for adding/removing roles from an organization. Adding role updates the organization right now. Removing role -> added a helper.
TODO : finish the above code flows + cascade these to the children objects of the organization -> Applications/Pages/Actions.
2020-05-21 15:05:43 +00:00
Shrikant Kandula
7037d99cfa Use sequences for numbering new datasources. 2020-05-20 11:21:32 +00:00
Trisha Anand
e95b680169 create application now expects organization id. Fixed the test cases which broke because of this basic change in the way applications are created. 2020-05-19 17:09:51 +00:00
Shrikant Kandula
db0532941d Automatically add protocol to URL provided to cURL command. 2020-05-19 04:23:58 +00:00
Shrikant Kandula
c4d3d535a1 Rename isExecuteOnLoad to executeOnLoad.
The `is` prefix apparently makes Spring unhappy.
2020-05-18 12:13:54 +00:00
Arpit Mohan
a9580effa7 Using the last value of duplicate headers as that is the behaviour displayed by webclient and other clients as well. 2020-05-14 08:49:06 +05:30
Arpit Mohan
71d8812feb Fixing bug where duplicate headers were being set in the action execution result
Also removing empty headers from being sent to the action
2020-05-14 08:11:24 +05:30
Arpit Mohan
fb9e9fbf4c Request body and header in Action Execution Response 2020-05-14 02:08:46 +00:00
Trisha Anand
5829a92998 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java
2020-05-13 23:37:31 +05:30
Trisha Anand
9a8bf9dc89 In case the user is not signed in, return a 401 so that the user can be redirected to login by the frontend. 2020-05-13 18:00:03 +00:00
Shrikant Kandula
b65690ec74 Automatically use a unique name for creating datasources without name.
In the request from frontend for datasource creation, if the data
doesn't have a `name` value, we now set it to an automatically numbered
value and save with that.
2020-05-12 16:05:29 +05:30
Shrikant Kandula
7f4d32e7d4 Report error when cURL command is invalid. 2020-05-12 04:12:55 +00:00
Trisha Anand
6cdab92bbe Merge branch 'feature/acl-action-inheritance' into 'feature/acl-spring-object'
Action Permission Inheritance during create.

See merge request theappsmith/internal-tools-server!329
2020-05-08 15:39:36 +00:00
Trisha Anand
b7435e546f Added action inheritance for permissions during create. No update permissions for action added. Fixed the existing test cases to run with the new code.
TODO : Add test cases for action permissions.
2020-05-08 15:39:36 +00:00
Trisha Anand
f7bb87824c Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/src/main/java/com/appsmith/server/domains/User.java
2020-05-08 20:57:51 +05:30