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
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
6d24b996e1
Don't nest into Enum properties when copying bean properties.
2020-04-06 07:27:24 +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
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
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
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
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