Commit Graph

556 Commits

Author SHA1 Message Date
Trisha Anand
ac06cc9668 1. user permissions during create/update of actions and datasources would now be set.
2. During update, policies are set to null in the update object to ensure that the policies are not overwritten to empty set.
2020-06-09 20:25:13 +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
061577d2c9 Bug : When the user tries to invite without selecting the role user, this leads to null pointer exception.
Fix : A user CAN NOT be invited to an organization without specifying the role.
2020-06-08 14:56:12 +00:00
Trisha Anand
a888d54059 Changed the get all actions function to fix the bug where find by Example is not working. Instead the same has now been implemented using criteria. 2020-06-08 12:05:49 +00:00
Trisha Anand
9ac7e817cc Merge branch 'feature/acl-remove-getCurrentOrganization' into 'feature/acl-spring-object'
Removed the usage of get current organization id. Added organization id to a few api calls.

See merge request theappsmith/internal-tools-server!367
2020-06-08 06:45:04 +00:00
Trisha Anand
a31796a216 Removed the usage of get current organization id. Requires addition of organization id to a few api calls. 2020-06-08 06:45:04 +00:00
Trisha Anand
f9d63f9881 Adding a 3P Api to a page now also expects the client to send the organization id. 2020-06-05 16:14:15 +05:30
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
1a68b7f561 Fixing the DSL Json for default layouts in new pages. 2020-06-04 16:13:47 +05:30
Trisha Anand
9e1742c289 Add OrgId to the output of the api used to return all the page ids and names given an application (id or name) 2020-06-04 08:08:15 +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
d20e92a587 Modifying the Action object to include an array of Property for dynamicBindingPathList 2020-05-27 13:16:38 +05:30
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
59a83d414b Added description to roles for organization appsmith roles. 2020-05-26 10:49:42 +05:30
Arpit Mohan
a569156029 Merge branch 'hotfix/action-error' into 'release'
Creating the actionExecutionResult object for error scenarios as well.

See merge request theappsmith/internal-tools-server!354
2020-05-23 07:23:13 +00:00
Arpit Mohan
e6b7ffca9c Creating the actionExecutionResult object for error scenarios as well.
This ensures that we can populate the request fields for all action executions
2020-05-23 12:49:01 +05:30
Trisha Anand
0c9c95bc9a Fixed the findAll repository function which was leading to get all actions via application id to throw an internal server error. 2020-05-22 15:56:09 +05:30
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
b13a7a5df3 Fix incorrect call to updatedAt. 2020-05-19 19:25:32 +05:30
Shrikant Kandula
329587f5ff Fix NPE when using datasources without updatedAt. 2020-05-19 13:48:58 +00:00
Arpit Mohan
14c1778645 Merge branch 'bug/curl-auto-add-protocol' into 'release'
Automatically add protocol to URL provided to cURL command.

Notion ref: <https://www.notion.so/appsmith/CURL-import-for-incomplete-but-valid-URLs-like-www-google-com-leads-to-the-URL-not-getting-read-Th-9191456cb1b24cd68b92072c1a6f3ab6>.

See merge request theappsmith/internal-tools-server!343
2020-05-19 04:23:59 +00:00
Shrikant Kandula
db0532941d Automatically add protocol to URL provided to cURL command. 2020-05-19 04:23:58 +00:00
Arpit Mohan
85ea6563db Merge branch 'hotfix/server-use-forward-headers' into 'release'
Adding the ForwardedHeaderTransform bean to enable spring to parse...

Adding the ForwardedHeaderTransform bean to enable spring to parse X-Forwarded-* headers from Nginx proxy

See merge request theappsmith/internal-tools-server!344
2020-05-19 03:56:40 +00:00
Arpit Mohan
158f5c8203 Adding the ForwardedHeaderTransform bean to enable spring to parse X-Forwarded-* headers from Nginx proxy 2020-05-19 09:22:33 +05:30
Shrikant Kandula
bffd68b1a9 Merge branch 'bug/postgres-empty-result' into 'release'
Don't fail after executing a non-SELECT query on Postgres.

See merge request theappsmith/internal-tools-server!341
2020-05-18 13:42:24 +00:00
Shrikant Kandula
c4d3d535a1 Rename isExecuteOnLoad to executeOnLoad.
The `is` prefix apparently makes Spring unhappy.
2020-05-18 12:13:54 +00:00
Shrikant Kandula
c18c344f4b Don't fail after executing a non-SELECT query on Postgres. 2020-05-15 18:13:36 +05:30
Shrikant Kandula
180002a984 Handle errors when destroying stale connections.
This happens when the stale connection is an invalid connection object,
like when if it's created with invalid credentials etc.
2020-05-15 03:26:35 +00:00
Arpit Mohan
4fa254a449 Adding error log message whenever an action execution fails because of invalid datasource 2020-05-14 15:26:05 +05:30
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
9c48f42990 Rename ActionExecutionResult.shouldCacheResponse -> isExecutionSuccess. 2020-05-12 18:25:49 +05:30
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
02de2ea1f6 Removing Arn because its not being used anymore. 2020-05-08 21:08:16 +05:30
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
Trisha Anand
d7637355fe Create Page always sets the inherited policies from the application. Update Application policy remains to be done. Leaving it as a TODO for now. 2020-05-08 16:32:46 +05:30
Shrikant Kandula
ffc4379a4d Migration to install existing default plugins to existing organizations. 2020-05-08 11:46:13 +05:30
Shrikant Kandula
7673ee49eb Merge branch 'chore/remove-index-annotations' into 'release'
Remove index annotations as they don't accurately reflect actual indexes

See merge request theappsmith/internal-tools-server!322
2020-05-08 01:58:43 +00:00
Shrikant Kandula
b8de4ef659 Remove index annotations as they don't accurately reflect actual indexes 2020-05-08 01:58:43 +00:00
Shrikant Kandula
2e9a94341b Guard against NPE when action is null due to cURL command being invalid. 2020-05-08 01:22:02 +00:00
Trisha Anand
44ce0bbf01 Added baseservice function add and remove policies to an object. This would be used for updating permissions for an object. 2020-05-07 19:39:36 +05:30
Trisha Anand
957116409d Resolved the review comments. Changed the structure of the DTO returned. Added the userPermissions as part of the base domain leading to this field always computed before returning any object to the user. 2020-05-07 10:49:48 +00:00
Trisha Anand
485eb29e03 Added timeout in DslActionDTO which is used to represent actions inside a layout and in turn is used for page load action execution. 2020-05-07 15:06:16 +05:30
Shrikant Kandula
f7f03c5ad7 Add delete:datasources permission to all existing groups. 2020-05-05 13:52:03 +05:30
Trisha Anand
1f25aac3a5 Untested mock get applications for home page. 2020-05-01 16:56:05 +05:30
Trisha Anand
bc99ce9244 Merge branch 'release' into feature/acl-spring-object 2020-04-30 17:50:32 +05:30
Shrikant Kandula
fc1b73773e More readable plugin names. 2020-04-29 11:49:06 +00:00
Shrikant Kandula
7dfa1bd8ca Add deletedAt field into the unique index of datasources and pages. 2020-04-29 16:16:09 +05:30
Trisha Anand
8db71d00a9 Merge branch 'release' into feature/acl-spring-object 2020-04-29 15:49:57 +05:30
Trisha Anand
89f179397f Create action with template id was leading to mock response. Removing this to allow for copy of actions which have been created using 3p API 2020-04-29 10:19:01 +00:00
Trisha Anand
0b496e1ecc Untested add policies to an object code. 2020-04-29 15:03:56 +05:30
Shrikant Kandula
079e185ed2 Add allowUserDatasources to plugins to hide from create datasource UI. 2020-04-28 12:44:56 +00:00
Trisha Anand
2d1fe9d8b4 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-interfaces/src/main/java/com/appsmith/external/models/SSHPrivateKey.java
#	appsmith-server/src/main/java/com/appsmith/server/filters/AclFilter.java
#	appsmith-server/src/main/java/com/appsmith/server/services/CurlImporterService.java
#	appsmith-server/src/test/java/com/appsmith/server/services/CurlImporterServiceTest.java
2020-04-28 18:13:06 +05:30
Trisha Anand
219a594a4c URL decoding the name before searching for it. 2020-04-28 16:31:19 +05:30
Trisha Anand
e99ede9d86 Minor comments added for TODOs 2020-04-28 16:18:28 +05:30
Shrikant Kandula
b092692922 Merge branch 'bug/npe-if-opa-not-ready' into 'release'
Fix NPE when accessing services before OPA is ready.

See merge request theappsmith/internal-tools-server!300
2020-04-28 09:22:05 +00:00
Shrikant Kandula
6fd23f38b8 Merge branch 'bug/curl-parser' into 'release'
Fix cURL import bugs with new cURL command parser

See merge request theappsmith/internal-tools-server!306
2020-04-28 09:09:03 +00:00
Shrikant Kandula
1dbb98e1e8 Fix cURL import bugs with new cURL command parser 2020-04-28 09:09:03 +00:00
Trisha Anand
82eb02b88c Invite user to application as viewer or admin works now works in setting the correct permissions for the application. Next step is to set the correct permissions for the pages. 2020-04-27 18:19:28 +05:30
Shrikant Kandula
2adad6b3b5 Merge branch 'bug/spread-operator-in-mustache-templates' into 'release'
Fix page-load action not being picked up when using the spread operator.

See merge request theappsmith/internal-tools-server!299
2020-04-27 08:11:22 +00:00
Shrikant Kandula
ce930181cd Fix page-load action not being picked up when using the spread operator. 2020-04-27 08:11:21 +00:00
Shrikant Kandula
d0e47ea2ea Merge branch 'feat/delete-datasources-api' into 'release'
Add delete service operation for datasources.

See merge request theappsmith/internal-tools-server!305
2020-04-27 08:01:16 +00:00
Shrikant Kandula
090e00ee13 Add delete service operation for datasources. 2020-04-27 08:01:16 +00:00
Shrikant Kandula
16f2df38f1 Merge branch 'bug/npe-in-appsmith-exception' into 'release'
Fix potential NPE in AppsmithException. Also removed unused methods.

See merge request theappsmith/internal-tools-server!298
2020-04-27 07:51:18 +00:00
Shrikant Kandula
a96b1005ff Fix potential NPE in AppsmithException. Also removed unused methods. 2020-04-27 07:51:18 +00:00
Trisha Anand
2fa879fbd4 Minor code cleanup 2020-04-24 15:15:39 +05:30
Trisha Anand
6ee1a58a9a Added endpoint in marketplace to fetch provider by id if required 2020-04-23 19:02:14 +05:30
Trisha Anand
a8f32d8b2a Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceService.java
2020-04-23 14:45:40 +05:30
Trisha Anand
0c76b8f394 Minor comments 2020-04-22 17:27:55 +05:30
Trisha Anand
11cb6f6c56 Refactored some code which was being repeated. 2020-04-22 16:59:01 +05:30
Shrikant Kandula
a8842e962b Fix NPE when accessing services before OPA is ready. 2020-04-22 08:41:40 +05:30
Trisha Anand
3148dec921 Search endpoint is now implemented with mock response deleted. It currently does exact name searches in providers by hitting the marketplace service. 2020-04-21 12:42:11 +00:00
Shrikant Kandula
58c0f94508 Add form config JSONs for individual plugins and an API for GETting them. 2020-04-21 17:42:14 +05:30
Trisha Anand
504a165411 Added a few comments to ease understanding 2020-04-21 13:44:19 +05:30
Trisha Anand
d7d31a43da Fixed compile time error. 2020-04-20 18:30:47 +05:30
Trisha Anand
373c9ac738 Code formatting corrected. 2020-04-20 18:17:25 +05:30
Trisha Anand
6be0b7ae23 Merge branch 'release' into feature/acl-spring-object
# Conflicts:
#	appsmith-server/pom.xml
#	appsmith-server/src/main/java/com/appsmith/server/migrations/DatabaseChangelog.java
#	appsmith-server/src/main/java/com/appsmith/server/repositories/BaseRepositoryImpl.java
#	appsmith-server/src/main/java/com/appsmith/server/services/LayoutActionServiceImpl.java
#	appsmith-server/src/test/java/com/appsmith/server/services/OrganizationServiceTest.java
2020-04-20 18:13:55 +05:30
Shrikant Kandula
02a384698b Merge branch 'bug/missing-response-meta-in-test-api' into 'release'
Fix missing `responseMeta` in response for /datasources/test endpoint.

See merge request theappsmith/internal-tools-server!291
2020-04-20 12:40:42 +00:00
Shrikant Kandula
94b166b3cb Fix missing responseMeta in response for /datasources/test endpoint. 2020-04-20 17:40:42 +05:30
Trisha Anand
1e000c295f In case the children tag exists in the DSL but is empty, we shouldnt try to extract widget names in that scenario. 2020-04-20 13:58:25 +05:30
Shrikant Kandula
e0add48bd6 Fix mustache parsing fail when keys have double-quotes or backslashes. 2020-04-17 19:26:42 +05:30
Shrikant Kandula
65d4c0e3e5 Fix NPE when invalids in Datasource is not initialized yet. 2020-04-17 13:17:05 +05:30
Shrikant Kandula
08b7f51d5d Datasource API cleanup and better error reporting 2020-04-17 07:27:56 +00:00
Trisha Anand
133eaa7475 Setting the organization id in case of missing plugin. This was being skipped over earlier. 2020-04-16 22:19:35 +05:30
Shrikant Kandula
6d5a1b9dd1 Fix mustache key parsing failing due to escaping in JSON serialization. 2020-04-15 10:24:12 +00:00
Shrikant Kandula
2dbf9d1c6b Test API for data sources 2020-04-15 10:02:09 +00:00
Trisha Anand
684edfe406 Because of db migrations, the older provider ids saved in actions are no longer available. This leads to api pane not loading. Removing the error to return an empty provider so that the api pane can be loaded. 2020-04-14 14:18:04 +05:30
Trisha Anand
03b8de3300 If an action is being created from 3P template, since the marketplace service has been migrated, hit the marketplace server to fetch provider instead of local ProviderService. 2020-04-13 23:08:12 +05:30
Trisha Anand
b64ae7ee5c First cut of code changes for update action where after the action is saved, the page layout is updated. 2020-04-13 08:57:57 +00:00
Trisha Anand
3692b4fa3e Stupid coding error of using OR instead of AND.
Also Mono.zipping the update Action and update Layout instead of this.then because in some optimization done by Spring, one mono doesnt end up emitting.
2020-04-13 08:49:30 +00:00
Trisha Anand
a82070648a Slug should be set by the application instead of insisting on the slug being present in the organization object. Added to the create valid organization test case to assert that the slug must exist. 2020-04-11 17:18:02 +05:30
Shrikant Kandula
abd9235360 Richer plugin validations 2020-04-10 09:59:50 +00:00
Shrikant Kandula
42d0060ecd Upgrade pf4j-spring to 0.6.0 so we can consistently use pf4j 3.2.0. 2020-04-09 19:55:58 +05:30
Shrikant Kandula
edf4043430 Merge branch 'bug/datasource-enum-mismatches' into 'release'
Fix Datasource data structure to be inline with UI

See merge request theappsmith/internal-tools-server!268
2020-04-08 12:32:57 +00:00
Shrikant Kandula
1b75be0fe3 Fix Datasource data structure to be inline with UI 2020-04-08 12:32:56 +00:00
Shrikant Kandula
06dd5fccae Merge branch 'bug/duplicate-key-error-on-app-name' into 'release'
Fix: Duplicate key error when reusing the name of a deleted application

See merge request theappsmith/internal-tools-server!264
2020-04-08 12:09:41 +00:00
Shrikant Kandula
0ad15b4cb6 Fix: Duplicate key error when reusing the name of a deleted application 2020-04-08 12:09:41 +00:00
Shrikant Kandula
c8dee3f279 Add Spring application property to enable/disable Rollbar.
It is enabled by default.
2020-04-08 11:23:28 +00:00
Trisha Anand
f657e2f2d2 newUser is getting written over and the current organization id before the createUser call is not preserved. Extracting this information before calling createUser lets us set the invited organization id as the newly created user's current organization id. 2020-04-08 12:09:52 +05:30
Shrikant Kandula
b8adb96608 The pf4j-spring dependency should be declared before appsmith-interfaces. 2020-04-06 13:44:22 +05:30
Shrikant Kandula
c12cbe0693 Merge branch 'fix-enum-put-not-working' into 'release'
Don't nest into Enum properties when copying bean properties.

See merge request theappsmith/internal-tools-server!258
2020-04-06 07:27:24 +00:00
Shrikant Kandula
6d24b996e1 Don't nest into Enum properties when copying bean properties. 2020-04-06 07:27:24 +00:00
Trisha Anand
69d32de888 Merge branch 'bug/delete-duplicate-dependency' into 'release'
Remove the pf4j dependency's duplicate from pom.xml

See merge request theappsmith/internal-tools-server!253
2020-04-06 07:22:12 +00:00
Trisha Anand
2fd7b3378b This change handles the new DTO received from Marketplace Service over the network. The new DTO contains list of providers and total count of providers in the given category. If no category is mentioned, Business Software is assumed to be the category being fetched. 2020-04-03 22:59:38 +05:30
Shrikant Kandula
00da41c7c7 Remove duplicate presence of pf4j-spring dependency. 2020-04-03 13:10:10 +05:30
Shrikant Kandula
e287583cfe Don't include stack traces in plugins migrations. 2020-04-03 06:29:46 +00:00
Trisha Anand
063df9d5ed Merge branch 'bug/marketplace-client' into 'release'
Marketplace Client bug fixes

See merge request theappsmith/internal-tools-server!252
2020-04-02 16:14:38 +00:00
Shrikant Kandula
e5fd048205 New parser for extracting interpolations from Mustache templates 2020-04-02 13:24:55 +00:00
Trisha Anand
4760bab964 Fixed the subscribe provider API that is being hit. 2020-04-02 18:24:03 +05:30
Trisha Anand
2e09f7923c Merge branch 'release' of gitlab.com:theappsmith/internal-tools-server into release 2020-04-02 17:17:52 +05:30
Trisha Anand
dcb74a7be7 Updated the marketplace URL after deploying of marketplace service 2020-04-02 17:17:19 +05:30
Arpit Mohan
b7b7328c3f Merge branch 'release' into feature/acl-spring-object 2020-04-02 13:53:31 +05:30
Arpit Mohan
f165f0b772 Setting the active profile as environment in Rollbar configuration
This will help us segment errors from different environments more easily in the Rollbar UI
2020-04-02 13:49:53 +05:30
Arpit Mohan
01c4a2cc8b Updating the redis credentials for staging because Heroku keeps changing it 2020-04-02 13:22:11 +05:30
Arpit Mohan
1b18c4d6b3 Writing the initial test and implementation for the application user invite flow.
The permissions are being translated to the application domain. Need to also be translated to the page & action domain.
2020-04-02 13:21:01 +05:30
Trisha Anand
f882ffcdf3 Fetching the providers from the Marketplace using webclient. Introduced a temporary end point to support the new source for Providers 2020-04-01 18:53:39 +00:00
Trisha Anand
f51751aba8 Merge branch 'bug/rest-api-post-body' into 'release'
Fixing the double escaping to a single escape.

See merge request theappsmith/internal-tools-server!249
2020-04-01 11:54:16 +00:00
Trisha Anand
8ef59460af Fixing the double escaping to a single escape. 2020-04-01 17:20:07 +05:30
Shrikant Kandula
1f524827b9 Datasource CRUD APIs 2020-04-01 08:50:36 +00:00
Arpit Mohan
4927e7b8d8 Adding a custom SecurityContextFactory to instantiate Mock anonymous user in the test cases.
Now we have a lot of flexibility around the SecurityContext during testing. We can instantiate any type of mock users bearing different roles & permissions.
2020-04-01 10:20:04 +05:30
Arpit Mohan
995bfd0bbd * Adding CustomRepository interfaces and implementations to all the domain objects in the classpath
* Adding generic get(Multivalue<String, String> params) implementation to the BaseService. Now all the domain obejcts can simply leverage this base implementation for get queries out of the box for all the fields.

* IMP: For some reason, the query by example has stopped working across the board. Even the super implementation in SimpleReactiveMongoRepository doesn't work. No idea why this is happening. For the time being, have moved to Criteria queries for the get request.
2020-04-01 10:00:18 +05:30
Trisha Anand
e4ab1635cc Double escaping java to support "\n" to be conserved through the proxy. 2020-03-30 15:11:25 +05:30
Arpit Mohan
9f9098268b Fixing the user service test cases 2020-03-29 17:06:20 +05:30
Arpit Mohan
036bd3a392 Fixing the test cases and SeedMongoData
Only userServiceTest is failing now.
2020-03-28 23:07:31 +05:30
Arpit Mohan
381f2f6b4f Resolving merge conflicts from release branch 2020-03-28 21:52:35 +05:30
Arpit Mohan
9ce82bdcb6 Fixing json serialization issue for new line and JSON bodies.
Now we escape all the bindings once on the server to ensure that the unescaping that Spring did is reversed.
2020-03-28 13:48:41 +00:00
Shrikant Kandula
35a2722305 Fix add-slug migration messing up existing slugs, if any.
Migrations should be more resilient in regards to existing data.
2020-03-28 11:15:50 +00:00
Shrikant Kandula
31fa5a66f1 Use mongock for migrations.
Mongock is a fork of Mongobee with a better integration with
Spring. It also does not suffer from trying to access the
`system.indexes` collection.
See https://github.com/mongobee/mongobee/pull/87.
2020-03-28 10:08:11 +05:30
Shrikant Kandula
0947ddcd0f Remove findByName method for Organization domain.
Organization names are no longer unique, so this method
doesn't make as much sense. The `findBySlug` should serve
in it's place.
2020-03-27 14:52:25 +00:00
Trisha Anand
89215fab43 In case of the erroneous state of no DSL, don't allow refactor names. 2020-03-25 18:19:27 +05:30
Trisha Anand
a7cceaf0f1 After adding a rapid api template, the action created was being returned. This has been extended so that the transient fields required for UI are also set before returning the created action. 2020-03-24 19:15:02 +00:00
Trisha Anand
c12cb88265 Added transient field plugin id to set in action everytime its read. 2020-03-24 17:13:30 +05:30
Shrikant Kandula
60e9a1f18e Show Appsmith as the From name in sent emails. 2020-03-19 18:29:13 +05:30
Arpit Mohan
d7ec1f3c52 Merge branch 'release' into feature/acl-spring-object 2020-03-19 13:06:20 +05:30
Arpit Mohan
135280abaa Moving the propertyPane config to generic JSONObject
This ensures that the client can change the config at will without depending on the platform team to add the field to the POJO.

Also deleting redundant classes and controllers for propertyPane and Widget. These are no longer required and can be removed from the codebase.
2020-03-19 12:34:24 +05:30
Arpit Mohan
4725421cba Merge branch 'release' into feature/acl-spring-object 2020-03-19 11:54:36 +05:30
Arpit Mohan
d384dac7ec Minor code clean up 2020-03-19 00:54:04 +05:30
Arpit Mohan
7316a77f42 Moving ActionRepository to the new custom repository format 2020-03-19 00:40:19 +05:30
Arpit Mohan
c5ac557961 Fixing the test cases for pageService and LayoutService
Also adding a helper query function in BaseAppsmithRepository that will make the code much cleaner for custom repository functions.
2020-03-19 00:24:30 +05:30
Arpit Mohan
9bf7bab85b Moving organization repository functions to the custom class.
Also fixing the SeedMongoData file with the seed data to correspond to the changes made in the OrganizationRepository. We will default to using the mongoTemplate in the SeedMongoData file in the future so that we don't have to deal with ACL when we are simply populating the DB.
2020-03-18 22:56:32 +05:30
Trisha Anand
44d5dccbbb Rest API and Rapid api plugin url encode the query parameters. The Providers returned are sorted by sortOrder in ascending order 2020-03-18 20:35:50 +05:30
Arpit Mohan
fc6f225935 Adding user policy to manage organization and fixing the organization create flow to ensure the right permissions are set
Also adding test case for get applications. Now we will fetch all applications that the user has read permissions to by default. It's not dependent on the organization that they are a part of.
2020-03-18 16:09:47 +05:30
Arpit Mohan
c06e16db83 Making changes to get the page tests to pass. Also minor improvements to LayoutServiceTest 2020-03-18 14:47:00 +05:30
Trisha Anand
015713f409 1. Add to Page changes : In case the sample response is null, don't set the cached response for the action.
2. Add to Page changes : Documentation object has been added in Action to handle the extra Template documentation for actions that have been imported from 3p marketplace
3. Added basic structure for rapid api plugin by copy pasting the rest api plugin
2020-03-17 18:19:22 +00:00
Arpit Mohan
19b0d53c22 Fixing the tests for page creation. Also adding policies when a new page is created. 2020-03-17 18:47:45 +05:30
Shrikant Sharat Kandula
3679613561 Use updated short error messages. 2020-03-17 12:02:43 +00:00
Arpit Mohan
1f35bd6a07 Adding the policy hierarchy graph and the lateral policy graph
These graphs help us map policies that are inherited from the parent and also lateral policies that are assigned to the users given that the user has a particular permission. Currently, the hierarchy has been defined for org & application. Need to cascade it to more documents such as pages & actions.
2020-03-16 10:46:28 +05:30
Trisha Anand
edd640a722 isJsConvertible is a boolean, not a string 2020-03-13 15:26:15 +05:30
Trisha Anand
89a9baebac Added label isJsConvertible to the config 2020-03-13 15:25:20 +05:30
Arpit Mohan
a892ee90b5 Merge release branch 2020-03-13 12:47:16 +05:30
Trisha Anand
1d404cb9bf Get all categories now return Mono of List instead of Flux. 2020-03-12 20:01:43 +05:30
Trisha Anand
7c1434e274 Merge branch 'feature/action-provider-fields' into 'release'
Transient Provider fields added in Action which are filled before an Action is read.

See merge request theappsmith/internal-tools-server!225
2020-03-12 13:21:03 +00:00
Trisha Anand
2543be8668 Provider fields added with the transient property which is set for Actions when they are read. 2020-03-12 18:46:30 +05:30
Arpit Mohan
cc676e3393 Merge branch 'feature/mono-cache' into 'release'
Correcting the writeKey for Segment in Staging

Also adding Mono.cache in the user invite flow to ensure that the same Mono is not executed multiple times.

See merge request theappsmith/internal-tools-server!224
2020-03-12 11:18:22 +00:00
Arpit Mohan
0c5fc27450 Correcting the writeKey for Segment in Staging
Also adding Mono.cache in the user invite flow to ensure that the same Mono is not executed multiple times.
2020-03-12 16:44:31 +05:30
Trisha Anand
6050b370d4 1. Add to Page changes : In case the sample response is null, don't set the cached response for the action.
2. Add to Page changes : Documentation object has been added in Action to handle the extra Template documentation for actions that have been imported from 3p marketplace
3. Added basic structure for rapid api plugin by copy pasting the rest api plugin
2020-03-11 19:31:21 +00:00
Trisha Anand
5927271c71 Merge branch 'feature/rapid-api-plugin' into 'release'
Partial Rapid API Plugin + Minor bug fix.

See merge request theappsmith/internal-tools-server!218
2020-03-11 17:16:15 +00:00
Trisha Anand
b17fae8e44 1. Add to Page changes : In case the sample response is null, don't set the cached response for the action.
2. Add to Page changes : Documentation object has been added in Action to handle the extra Template documentation for actions that have been imported from 3p marketplace
3. Added basic structure for rapid api plugin by copy pasting the rest api plugin
2020-03-11 17:16:15 +00:00
Trisha Anand
668b91665d 1. Added an endpoint to get all categories.
2. When provider is being fetched without a category, only Business Software category providers are returned.
2020-03-11 13:03:48 +00:00
Arpit Mohan
2da4727cbd Removing document version from all the Mongo documents.
Also adding Origin header to the user invite flow so that we can send the correct links to the user
2020-03-11 18:18:10 +05:30
Arpit Mohan
68fd2f21d9 Updating the communication emails to users for signup, forgot password and invite user flows
Also adding the Origin header to the BaseController create function. This is required by the user creation flow in order to customize the links in the email. For most of the controllers overriding the BaseController, the request header parameter is non-mandatory and can be skipped for testing or otherwise.
2020-03-10 18:58:28 +05:30
Trisha Anand
580bfc76c7 Removing the soft delete right now. Due to the indexing this would lead to duplicate key errors. The index needs to be removed and the allowed naming should be done at application level. 2020-03-09 14:20:43 +05:30
Trisha Anand
e5f8f2bea9 Segment Events Fixed + Soft delete actions 2020-03-09 14:20:32 +05:30
Arpit Mohan
35b0c22334 Adding /profile endpoint to return enhanced user profile to the client. 2020-03-06 06:17:00 +00:00
Arpit Mohan
40964c3dfe WIP commit of trying to create an inheritance structure with permissions.
Also, moving all permissions to READ & MANAGE. Not maintaining separate permissions to create, update & delete.
2020-03-06 09:29:45 +05:30
Arpit Mohan
1475d9124a Fixing all the test cases for OrganizationService
We still need to add a lot more test cases to ensure that no functionality has broken. But this is a start in the right direction.
2020-03-05 19:35:24 +05:30
Arpit Mohan
c9a885d605 Modifying the create application flow in ApplicationPageService. All the tests in ApplicationService are passing
In order to create an application with valid permissions, we copy the relevant permissions from the organization of the user. This involves changes to the organizationService and OrganizationRepository as well.
2020-03-05 18:53:40 +05:30
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
f53a444635 Adding sessionId to the MDC logging to make debugging simpler 2020-03-04 18:16:12 +05:30
Trisha Anand
0cba85c95b Filter providers by category added. 2020-03-04 15:24:14 +05:30
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