Now we have a lot of flexibility around the SecurityContext during testing. We can instantiate any type of mock users bearing different roles & permissions.
* 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.
JSON serialization fix for dynamic binding
In the action execution, we now escape all the parameter values received in the dynamic binding. This is because Java unescapes values when it receives the HTTP request. Hence, ActionServiceImpl.execute() will escape the bindings again to ensure that the request to the backend API system still works.
See merge request theappsmith/internal-tools-server!245
Fix fields orders in compound indexes and duplicate slugs.
In the migration for creating slugs for existing organizations, we need to set unique slugs using the same logic as would be used when the organizations are created in the first place. For this, this MR updates the `addOrgSlugs` migration accordingly.
In the migration for **ensuring** (not necessarily **creating**) initial indexes, this MR changes the order of the fields in a couple of compound indexes. Unfortunately, if an compound index named `abc` exists with the field order `"f1", "f2"` and we try to **ensure** an index named `abc` with the field order `"f2", "f1"`, the ensuring fails with obscure errors. Although some resources online suggest that the field order in index does not matter, here, it does.
See merge request theappsmith/internal-tools-server!244
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.
Transient fields being set before returning the created action in case of rapid api template
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.
See merge request theappsmith/internal-tools-server!240
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.
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.
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.
Credential steps should only be written but not read for Providers to reduce the size of response
See merge request theappsmith/internal-tools-server!230
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
Use updated short error messages.
Updated error messages to use the short messages from Notion page titled "Product (error) messages".
See merge request theappsmith/internal-tools-server!227
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.