marketplace webclient : First draft of the marketplace client which interacts with the marketplace on a different URL. 1. Get the Providers and Templates given certain parameters. 2. Update the statistics when adding a template to page. 3. Subscribe to th
See merge request theappsmith/internal-tools-server!235
Datasource CRUD APIs
APIs for creating, updating, deleting and reading Datasource objects. This MR creates full data structure for Datasource as needed for DB sources.
Includes tests for creating and updating.
See merge request theappsmith/internal-tools-server!248
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