Commit Graph

120 Commits

Author SHA1 Message Date
Trisha Anand
e1d59ca3a6 Multi data source support for plugins using Resource Context 2019-10-11 10:32:18 +00:00
Arpit Mohan
9d01cecbd5 Merge branch 'feature/acl-opa' into 'master'
ACL Framework for limiting access to various controllers

We use open policy agent (OPA) in order to control ACL. The policy file is present in `src/main/resources/acl.policy` file.

The `ACLFilter` will apply the ACL policy for all endpoints. In the future, we'll add a regex to the URL matcher to ensure that public URLs do not have ACL filters applying to them. The actual API call to OPA side-car is made through `ACLService`

For permissions, the hierarchy of data is org -> groups -> permissions. Users will be part of groups and also have individual permissions (if required). While evaluating their ACL, we will consider a union of the resolved permissions from groups and user-specific permissions. All control will then be applied on those permissions only. 

Also adding a `signupController` & `SignupService` that creates the org, default groups for the org and assigns the admin user to the org. This will ensure that on user signup, the user becomes the admin of their created or. This flow will undergo more changes as we develop the signup flow with the client.

See merge request theappsmith/internal-tools-server!36
2019-10-11 10:31:28 +00:00
Arpit Mohan
632aff4faa Adding basic ACL functionality with Open Policy Agent.
Currently, ACLFilter communicates with the OPA daemon to determine if the request should be validated or not based on the resource and permissions in user and group
2019-10-11 10:31:28 +00:00
Trisha Anand
d6651a69ac Merge branch 'bug/redisDown' into 'master'
Fixing redis connection changes

See merge request theappsmith/internal-tools-server!37
2019-10-10 11:53:03 +00:00
Trisha Anand
7315802508 Fixing redis connection changes 2019-10-10 11:53:03 +00:00
Trisha Anand
39f0cb7e83 Merge branch 'feature/redit-install-plugin' into 'master'
redis install plugin for multi Appsmith-server with single mongo db deployments

See merge request theappsmith/internal-tools-server!35
2019-10-07 09:02:03 +00:00
Trisha Anand
d1bcc282f8 Adding the redis listener via spring-data-redis-reactive.
The listeners need to be configured in the RedisConfig class via Beans. These beans can then invoke complex business logic based on requirements.
2019-10-07 09:02:02 +00:00
Arpit Mohan
0d63de8404 Merge branch 'feature/redis-pubsub' into 'master'
Adding the redis listener via spring-data-redis-reactive.

See merge request theappsmith/internal-tools-server!34
2019-10-07 08:18:54 +00:00
Arpit Mohan
ad22e1a406 Adding the redis listener via spring-data-redis-reactive.
The listeners need to be configured in the RedisConfig class via Beans. These beans can then invoke complex business logic based on requirements.
2019-10-07 08:18:54 +00:00
Trisha Anand
ccf2be5e6c Merge branch 'feature/install-plugin' into 'master'
Install Plugin

See merge request theappsmith/internal-tools-server!33
2019-10-04 04:27:11 +00:00
Trisha Anand
59752254b4 On install, the plugins are loaded and started again. This ensures that we don't have to restart the server every time a new plugin is installed. Earlier the plugins were loaded and started only during the boot 2019-10-04 04:27:11 +00:00
Trisha Anand
ee3a2a8b8b Merge branch 'feature/rest-api-extension' into 'master'
REST API Plugin

Closes #25

See merge request theappsmith/internal-tools-server!31
2019-09-30 18:17:35 +00:00
Trisha Anand
8658df95a9 All action executions now return object of type ActionExecutionResult. RestApiPlugin returns the same object which contains statusCode, headers and body. 2019-09-30 18:17:35 +00:00
Arpit Mohan
4fcdd76588 Merge branch 'feature/spring-update' into 'master'
Updating to the latest spring boot version

See merge request theappsmith/internal-tools-server!32
2019-09-30 06:05:07 +00:00
Arpit Mohan
71ac6f4488 Updating to the latest spring boot version 2019-09-30 11:32:16 +05:30
Trisha Anand
e501de6498 Merge branch 'hotfix/segment-bug' into 'master'
Fixing minor bugs in the Segment analytics flow

See merge request theappsmith/internal-tools-server!30
2019-09-25 17:06:28 +00:00
Trisha Anand
51d5c93119 Fixing minor bugs in the Segment analytics flow 2019-09-25 17:06:28 +00:00
Trisha Anand
426f9b53c1 Merge branch 'feature/segment' into 'master'
Segment & Rollbar Integration

Closes #39 and #38

See merge request theappsmith/internal-tools-server!27
2019-09-25 16:20:51 +00:00
Trisha Anand
566a245451 Segment & Rollbar Integration 2019-09-25 16:20:51 +00:00
Trisha Anand
3a3521a539 Merge branch 'feature/mongo-seed' into 'master'
Mongo-seeding

See merge request theappsmith/internal-tools-server!26
2019-09-24 12:14:41 +00:00
Trisha Anand
bec8b2e0a1 Adding the docker-compose up command to the build
This should ideally run the mongo-seed container to restore the DB before each run
2019-09-24 12:14:41 +00:00
Trisha Anand
4815e6819d Merge branch 'feature/properties' into 'master'
Property Pane for Widget

Closes #51

See merge request theappsmith/internal-tools-server!28
2019-09-24 11:40:53 +00:00
Trisha Anand
de55ec8f8e Property Pane for Widget 2019-09-24 11:40:53 +00:00
Arpit Mohan
5a0f92c508 Merge branch 'hotfix/cors' into 'master'
Fixing the Cors configuration to ensure that pre-flight requests return the `...

See merge request theappsmith/internal-tools-server!25
2019-09-18 09:45:00 +00:00
Arpit Mohan
280f8d4dcb Fixing the Cors configuration to ensure that pre-flight requests return the Access-Control-Allow-Origin header 2019-09-18 09:45:00 +00:00
Arpit Mohan
64440cf3e7 Merge branch 'feature/response-meta' into 'master'
Modifying the ResponseDTO to contain the ResponseMeta object. Also moving...

See merge request theappsmith/internal-tools-server!22
2019-09-18 08:52:14 +00:00
Arpit Mohan
ac44e2c970 Modifying the ResponseDTO to contain the ResponseMeta object. Also moving ErrorDTO inside ResponseMeta object.
This also fixes the logic for multiple ResponseDTOs that were being sent when the service level response was a Flux. Now we only return a single array inside a Mono ResponseDTO object.
2019-09-18 08:52:14 +00:00
Trisha Anand
29bdefdec2 Merge branch 'feature/ci-cd' into 'master'
CI/CD with Heroku and docker via gitlab

See merge request theappsmith/internal-tools-server!23
2019-09-18 08:24:03 +00:00
Trisha Anand
3d82809d2a CI/CD with Heroku and docker via gitlab 2019-09-18 08:24:03 +00:00
Arpit Mohan
6f4bfdd728 Ensuring that the plugins directory is in the same path as the jar 2019-09-17 18:02:58 +05:30
Arpit Mohan
352398da68 Adding a very initial version of the RestApiPlugin
Requires a bunch of testing for corner cases and error scenarios.

See merge request theappsmith/internal-tools-server!21
2019-09-17 12:24:45 +00:00
Arpit Mohan
b618bfc5d8 Adding a very initial version of the RestApiPlugin
Requires a bunch of testing for corner cases and error scenarios.
2019-09-17 12:24:45 +00:00
Arpit Mohan
5d20f170ee Merge branch 'feature/execute-action' into 'master'
Execute Action API

See merge request theappsmith/internal-tools-server!20
2019-09-17 12:18:23 +00:00
Arpit Mohan
0edc0f6363 Adding the executeAction API in the ActionController.
Also changed the interface for the PluginExecutor to include the resourceConfig and ActionConfig as well.
2019-09-17 12:18:23 +00:00
Trisha Anand
16dca65a64 Merge branch 'feature/docker-ci-cd' into 'master'
Docker

See merge request theappsmith/internal-tools-server!19
2019-09-17 09:35:13 +00:00
Trisha Anand
4498a301a6 Docker 2019-09-17 09:35:13 +00:00
Trisha Anand
b4643dd6fd Merge branch 'action-changes-review' into 'master'
Incorporated review comments from Nikhil on action

See merge request theappsmith/internal-tools-server!18
2019-09-17 07:23:30 +00:00
Trisha Anand
14ec5260d9 Incorporated review comments from Nikhil on action 2019-09-17 07:23:30 +00:00
Trisha Anand
7c1561a969 Merge branch 'bug/#53' into 'master'
Add Page Actions to Page object.

Closes #53

See merge request theappsmith/internal-tools-server!16
2019-09-17 06:25:07 +00:00
Trisha Anand
5468436d9f Add Page Actions to Page object. 2019-09-17 06:25:07 +00:00
Arpit Mohan
f5ea85f636 Running only part of build.sh in the buildpack-run.sh. This is because all the buildpacks in Heroku are run sequentially 2019-09-16 17:19:55 +05:30
Arpit Mohan
cdba3a5b68 Adding Procfile for custom run command in Heroku 2019-09-16 17:12:26 +05:30
Arpit Mohan
bb84e74c23 Re-arranging the files to fix bad merge that threw compile errors 2019-09-16 17:04:07 +05:30
Arpit Mohan
661111daaa Setting java version to 11 in system.properties.
This is required by Java Heroku buildpack
2019-09-16 16:54:28 +05:30
Arpit Mohan
dc7ede7c4f Merge branch 'feature/pf4j' into 'master'
See merge request theappsmith/internal-tools-server!17
2019-09-16 11:21:57 +00:00
Arpit Mohan
b3c987a9f9 Convert the project into a multi-module structure
We are moving to a multi-module structure so that different parts of the codebase can be exposed to the public while others can remain private. Using pf4j for plugin framework.

Also adding a build script `build.sh` which compiles the code and creates the `dist` folder for distribution purposes. Now we can build the code via

```
$ ./build.sh -DskipTests
```
2019-09-16 11:21:57 +00:00
Trisha Anand
57f98d7581 Merge branch 'bug/nestedDataLayout' into 'master'
Fixes nested data object in Layout. Renamed data to 'dsl'

Closes #43

See merge request theappsmith/internal-tools-server!15
2019-09-11 11:51:25 +00:00
Trisha Anand
467b3e6db5 Fixes nested data object in Layout. Renamed data to 'dsl' 2019-09-11 11:51:25 +00:00
Trisha Anand
e6ef59295a Merge branch 'feature/page-crud' into 'master'
CRUD for pages and layouts.

Closes #33

See merge request theappsmith/internal-tools-server!14
2019-09-11 10:44:31 +00:00
Trisha Anand
07614d8980 CRUD for pages and layouts. 2019-09-11 10:44:31 +00:00