Commit Graph

770 Commits

Author SHA1 Message Date
Arpit Mohan
c813678f49 Adding the AclPermission enum to track all possible permissions globally
Also moving the argument AclPermission to the custom Repository interface level. This is to ensure that all the service functions can invoke the same repository function with different permissions based on their requirements.
2020-03-05 15:33:41 +05:30
Arpit Mohan
c5e8f3bef4 Removing unnecessary and extra code in AclFilter, MongoAspect and CustomWebExpressionHandler 2020-03-04 19:12:34 +05:30
Arpit Mohan
243376642b Deleting the unnecessary annotations and aspects 2020-03-04 19:02:24 +05:30
Arpit Mohan
f47e7eb882 Adding ACL policy filters to CustomApplicationRepository functions 2020-03-04 18:57:46 +05:30
Arpit Mohan
0914acdca6 Adding default principal for anonymous Users in SecurityConfig
Also, hard-coding the document fields in BaseRepositoryImpl criteria queries.
2020-03-04 18:57:46 +05:30
Arpit Mohan
7019bae082 Adding policy to the document object instead of the user
The login has broken and all users are being treated as un-authenticated users
2020-03-04 18:57:46 +05:30
Arpit Mohan
a1ee6d9508 Adding querydsl properties instead of hardcoded names 2020-03-04 18:57:46 +05:30
Arpit Mohan
3a1673dfca Adding QueryDsl to the appsmith-server and appsmith-interfaces modules
This will generate the annotated classes so that we can refer to the fields easily and scalably.
2020-03-04 18:57:46 +05:30
Arpit Mohan
125982dabf Adding the ARN object and parsing it for user login and while checking permissions in PreAuthorize & custom repo implementations 2020-03-04 18:57:46 +05:30
Arpit Mohan
e078382b94 Adding the user policy object that has permissions for ARN objects.
Now we need to parse the ARN and match it to the policy in the PreAuthorize & Custom repository functions.
2020-03-04 18:57:46 +05:30
Arpit Mohan
bd5424095a Adding default implementations for a few functions which filter by ACL clause.
This is present in the BaseRepositoryImpl. In this manner, we can add default conditions to all the basic JPA queries. Now we only need to figure out how to intercept the custom queries to add user details into.
2020-03-04 18:57:46 +05:30
Arpit Mohan
5b09427b6c Removing the aspect and trying to implement the application repository directly 2020-03-04 18:57:46 +05:30
Arpit Mohan
29ae5fd360 Adding default implementation for applicationrepository to test 2020-03-04 18:57:46 +05:30
Arpit Mohan
63f4056a8a Another WIP commit.
At the moment, we cannot fetch the user from securityContext in the SoftDeleteMongo Query Lookup
2020-03-04 18:57:46 +05:30
Arpit Mohan
d5ed147111 Getting the AclAspect to work for both Mono & Flux methods.
This is done by checking the return type of the function via the joinPoint method signature
2020-03-04 18:57:46 +05:30
Arpit Mohan
bd1c390402 Allowing user to define multiple AclPermissions for a given permission
Also adding proper Acl permissions on ApplicationService and PageService functions
2020-03-04 18:57:46 +05:30
Arpit Mohan
9f3197792a WIP Commit to save the dev state 2020-03-04 18:57:46 +05:30
Arpit Mohan
81d39042a6 Merge branch 'feature/mdc-session-logging' into 'release'
Adding sessionId to the MDC logging to make debugging simpler

See merge request theappsmith/internal-tools-server!211
2020-03-04 12:49:50 +00:00
Arpit Mohan
f53a444635 Adding sessionId to the MDC logging to make debugging simpler 2020-03-04 18:16:12 +05:30
Trisha Anand
dfdd44674b Merge branch 'feature/filter-providers-category' into 'release'
Filter providers by category

See merge request theappsmith/internal-tools-server!210
2020-03-04 09:58:16 +00:00
Trisha Anand
0cba85c95b Filter providers by category added. 2020-03-04 15:24:14 +05:30
Trisha Anand
c27cd0e0c5 Merge branch 'feature/template-to-action' into 'release'
Marketplace GET Controller & Add an action/template to current page

See merge request theappsmith/internal-tools-server!209
2020-03-04 07:50:54 +00:00
Trisha Anand
f97053a314 Marketplace GET Controller & Add an action/template to current page 2020-03-04 07:50:54 +00:00
Trisha Anand
65ceb24fcf Merge branch 'hotfix/curl-parser-test' into 'release'
Fixing the curl parser test. Required setting a MockBean for pluginExecutor...

See merge request theappsmith/internal-tools-server!208
2020-03-02 09:07:33 +00:00
Trisha Anand
6b5faa6218 Added more detail to the invalid action error to pin point which action is invalid at least in the logs. 2020-03-02 14:34:48 +05:30
Arpit Mohan
d239f25697 Fixing the curl parser test. Required setting a MockBean for pluginExecutor bean and adding RestTemplateExecutor to the SeedMongoData file.
Also moving the plugin search in CurlImporterService to packageName instead of just name.
2020-02-29 10:05:10 +05:30
Arpit Mohan
2ad6d3f11b Adding test cases in ActionService for some create Action workflows 2020-02-26 12:46:10 +05:30
Arpit Mohan
971c1c3c24 Fixing the spring data auditable issue by creating a dummy embedded Datasource object in Action
This is to ensure that setting the createdAt nad updatedAt properties by spring-data will still succeed even if the client doesn't provide us with the datasource details.
2020-02-26 12:45:07 +05:30
Arpit Mohan
48f0e68070 Merge branch 'hotfix/postgres-plugin-execute' into 'release'
Adding the field shouldCacheResponse to the ActionExecutionResult to make the response caching generic across various plugins

Now the plugin executor will decide if the action should cache the response based on their own result sets. This ensures that we are not tied to the status code that is primarily an HTTP construct.

This MR also contains changes for the CurlParserService that should have been merged in !204 but didn't because of a bad merge with !200. The test case for CurlParserService has been commented out for now.

See merge request theappsmith/internal-tools-server!207
2020-02-25 11:36:02 +00:00
Arpit Mohan
249bbbde39 Adding the field shouldCacheResponse to the ActionExecutionResult to make the response caching generic across various plugins 2020-02-25 11:36:02 +00:00
Arpit Mohan
a835c84582 Merge branch 'feature/embedded-datasource' into 'release'
Creating an embedded datasource for the action

Now the user can create an embedded datasource as well as a saved datasource for the action. 

This MR also fixes the import for a curl command by setting defaults when an action is created via the curl command. For now, the curl command only accepts short flags and not the long form flags.

See merge request theappsmith/internal-tools-server!204
2020-02-25 08:54:16 +00:00
Trisha Anand
609045747b Creating an embedded datasource for an action.
Also setting defaults for an action when created via a curl command.
2020-02-25 08:54:16 +00:00
Arpit Mohan
6eace6ae1a Merge branch 'hotfix/application-delete' into 'release'
When deleting a page, also remove it from the application page cache.

This fixes the bug where the application could not be published because it assumed a page existed when that page had been deleted.

See merge request theappsmith/internal-tools-server!205
2020-02-25 06:00:49 +00:00
Arpit Mohan
3020af632b When deleting a page, also remove it from the application page cache.
This fixes the bug where the application could not be published because it assumed a page existed when that page had been deleted.
2020-02-25 11:26:41 +05:30
Arpit Mohan
6a93b948b7 Increasing the request buffer size to 5 MB in the default application.properties file
This is required for file uploading widgets to be able to successfully upload files.
2020-02-24 14:30:11 +05:30
Arpit Mohan
786aca059e Revert "Merge branch 'feature/embedded-datasource' into 'release'"
This reverts commit 35b49833615d88bc484207670b8ddf645f70d1ad, reversing
changes made to 29bee80c426b4c469bf8e774b7febf4f63b196b4.
2020-02-24 11:31:58 +05:30
Arpit Mohan
df2d7d2b3d Increasing the maximum buffer size for requests to 5 MB 2020-02-24 10:53:45 +05:30
Trisha Anand
a3cd991fd3 Merge branch 'feature/embedded-datasource' into 'release'
Embedding datasource inside Action to get CURL Importer to work

See merge request theappsmith/internal-tools-server!200
2020-02-21 07:19:47 +00:00
Trisha Anand
a7881935da This fixes the bug during refactor of name of a widget/action. This bug is recreatable if in the page there is an action with no jsonPathKeys. Handled the null pointer exception by first checking for the null pointer. 2020-02-21 07:19:46 +00:00
Trisha Anand
92c56c1f42 Merge branch 'feature/template-add-options' into 'release'
Added valueOptions to store the permitted values for a key (which is being sent by rapidApi today)

See merge request theappsmith/internal-tools-server!202
2020-02-21 05:50:01 +00:00
Trisha Anand
6109bd4b6c Added valueOptions to store the permitted values for a key (which is being sent by rapidApi today) 2020-02-21 11:16:07 +05:30
Trisha Anand
608d0c325d Merge branch 'feature/extend-template-save-rapidapi-response-hash' into 'release'
Added hashValue and scraperid to Template

See merge request theappsmith/internal-tools-server!201
2020-02-20 17:51:15 +00:00
Trisha Anand
977bac62dc Added hashValue and scraperid to Template 2020-02-20 19:18:48 +05:30
Trisha Anand
15e1dff980 Merge branch 'feature/expand-action-route-parameters' into 'release'
Added route parameters to action configuration to handle the scenario of rapid...

See merge request theappsmith/internal-tools-server!199
2020-02-19 12:21:22 +00:00
Trisha Anand
1795be3c76 Added route parameters to action configuration to handle the scenario of rapid api putting variables in the path 2020-02-19 17:47:26 +05:30
Trisha Anand
7372600b82 Merge branch 'feature/filter-provider-templates' into 'release'
Filter templates by name, id, provider and version id to help Primathon test

See merge request theappsmith/internal-tools-server!198
2020-02-19 09:42:25 +00:00
Trisha Anand
8ea5d6663c Making the Templates searchable by name, provider id, versionId, and Id 2020-02-19 14:07:49 +05:30
Trisha Anand
58f0d3da97 Merge branch 'bug/provider-subscribe-status' into 'release'
Extending Provider to support pricing plans.

See merge request theappsmith/internal-tools-server!197
2020-02-17 10:08:35 +00:00
Trisha Anand
634a625906 1. Adding provider plan subscribed to and list of all the plans to Provider
2. Curl Importer should call create action instead of saving it directly so that all the defaults can be set up properly.
2020-02-17 10:08:35 +00:00
Trisha Anand
78bae54f55 Instead of using the latest docker image, using a particular docker image to overcome the latest docker bbuild being brocken issue. 2020-02-17 10:44:18 +05:30