Trisha Anand
14ec5260d9
Incorporated review comments from Nikhil on action
2019-09-17 07:23:30 +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
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
467b3e6db5
Fixes nested data object in Layout. Renamed data to 'dsl'
2019-09-11 11:51:25 +00:00
Trisha Anand
07614d8980
CRUD for pages and layouts.
2019-09-11 10:44:31 +00:00
Trisha Anand
7e0cb75ed2
Added domains for application and pages. Edited the layout domain to make it an embedded object inside a page instead of existing in the database on its own.
2019-09-09 06:54:36 +00:00
Arpit Mohan
9c47e1cb2f
A hacky approach to limiting the Google OAuth2 to a set of custom domains.
...
This is not the prettiest way to do it. Ideally, we should send a query parameter to Google with key "hd=example.com" in order to get Google to list accounts with only those domains. For now, we send an error when the domains don't match in a custom `ClientUserRepository` function.
2019-09-09 05:16:42 +00:00
Trisha Anand
bea5f53f46
Signup flow
2019-09-06 10:49:48 +00:00
Arpit Mohan
f71bd9a4e0
Migrating from Tenant nomenclature to Organization.
...
This makes it consistent with the terminology that we want in the product. The hierarchy will be organization -> team -> user.
2019-09-04 15:08:40 +05:30
Arpit Mohan
bf908025e2
Adding some basic unit tests for the TenantService class. We should add more tests for other CRUD flows as well.
2019-09-04 09:24:38 +00:00
Trisha Anand
4258f85a81
Removed DBRef from action. Added DBRef of plugin because while execution, this will be used. So instead of fetching plugin on every execution, plugin is fetched once during create action and stored as part of action (DBRef). Because of DBRef, eager loading would happen which would lead to plugin being present on get without loading plugin again.
2019-09-03 11:36:49 +00:00
Trisha Anand
7bc8948116
Correcting tenant id on staging
2019-08-29 15:39:42 +05:30
Arpit Mohan
bdc53195f0
Sending standardized HTTP error codes to the client application. This structure ensures that we can define the http error code, app error code and (in future) localized string when we want to.
...
Now when we want to send any error message to the client, we should add it to the enum `AppsmithError` and throw an `AppsmithException` by passing this enum value to the constructor. In the future, we can also localize these error messages by defining the template message in a `messages_en.properties` file.
2019-08-28 09:35:06 +00:00
Trisha Anand
bbbdfbada3
Action CRUD implemented
2019-08-27 11:31:44 +00:00
Arpit Mohan
06945ff10f
Renaming Mobtools to Appsmith everywhere for consistency
2019-08-27 15:14:50 +05:30
Trisha Anand
43780a6550
Action configuration now contains all the configurations. The global and mustache configurations now exist under the same object. Data template object has been removed. This is inline with the design discussion.
2019-08-27 09:37:38 +00:00
Arpit Mohan
5a1f9ab132
Adding MDC logging via RequestIdFilter and MDCFilter
...
This ensures that we can send header values and those will be printed in the logs. In the class MDCFilter, we are adding the logContext to the reactive logger along with the normal MDC logger as well.
2019-08-27 06:25:29 +00:00
Trisha Anand
0449633997
Removed wild card imports. Now wild card imports would only happen if the import class count exceeds 20.
2019-08-22 12:03:42 +00:00
Trisha Anand
e852ec6c15
The create tenant flow is completely reactive. This was done because the earstwhile implementation was erroneous leading to unpredictable crashes.
2019-08-12 04:44:28 +00:00
Trisha Anand
ae0fd72d48
The create tenant flow is completely reactive. This was done because the earstwhile implementation was erroneous leading to unpredictable crashes.
2019-07-28 04:46:53 +00:00
Trisha Anand
68e1bef0f6
Introduced TenantSetting to store the real setting value. Setting would exist as set of settings that can be configured for a given tenant. The TenantSetting document stores the configured values for each setting.
...
Also, introduced the util cascadeSave. This is done with the aim of storing the lower order documents first before storing the higher order composite documents (which contain DBRef).
2019-07-25 07:11:05 +00:00
Arpit Mohan
2a5656afbb
Changing the query execution to execute by name. Will make the API a lot simpler.
2019-04-02 21:55:19 +05:30
Arpit Mohan
bbb6e511d7
Adding a working version of the rest template plugin executor.
2019-04-02 21:10:36 +05:30
Arpit Mohan
6d91ab32ce
Adding the bean corsWebFilter to enable CORS in our codebase
2019-04-02 20:05:48 +05:30
Arpit Mohan
c14b34193d
Refactoring the plugin implementations to have their own package.
...
Will keep the code more organized
2019-03-31 21:55:27 +05:30
Arpit Mohan
5570020f6d
Adding Configuration annotation on CORS config class
2019-03-31 21:49:39 +05:30
Arpit Mohan
cffb83a781
Disabling CORS by effectively allowing requests to be made from all hosts
2019-03-31 21:48:50 +05:30
Arpit Mohan
303f42945c
Correcting the properties reading from PostgresDBPluginExecutor
...
Don't use static variables if using spring to feed the config values in
2019-03-31 21:42:29 +05:30
Arpit Mohan
a82a931093
Adding mustache template substitution to QueryObj.
...
Now we can query postgres DB on the fly! Yipee!
2019-03-31 21:22:06 +05:30
Arpit Mohan
28ef85b893
Adding name and confirmationMsg to the query collection
2019-03-30 16:41:44 +05:30
Arpit Mohan
ad2310bae0
Adding properties to a widget
2019-03-30 16:22:14 +05:30
Arpit Mohan
3bdfd13284
Adding the APIs to add plugins and query commands
...
Currently, there is a single executor implemented PostgresDBPluginExecutor which returns some dummy results. The entire framework exists to choose and instantiate the appropriate executor implementation at runtime.
2019-03-30 16:14:54 +05:30
Arpit Mohan
a57d31fbb2
Adding the system.properties file for java version
...
Heroku needs this for determining java version
2019-03-30 13:12:49 +05:30
Arpit Mohan
8f4bfd59fc
Adding application-local.properties
...
This is to ensure that we can provide different types of mongo configurations for different environments
2019-03-30 13:08:43 +05:30
Arpit Mohan
e553470095
Moving the code to the top level to remove one-level of folder indirection
2019-03-30 13:04:05 +05:30
Arpit Mohan
4733ebf95b
Removing Go code from the repo. This is now pure Java spring boot app
2019-03-30 13:01:06 +05:30
Arpit Mohan
d786890834
Adding the staging properties with mongodb atlas setup
2019-03-30 12:58:34 +05:30
Arpit Mohan
cef6946859
Adding the LayoutController that will store the DDL for the page layouts
...
Also adding the getById function in the BaseController so that all CRUD APIs will automatically support that API call.
2019-03-30 12:23:21 +05:30
Arpit Mohan
f8b382940d
Adding basic authentication to the server.
...
This will allow us to host it on a webserver for integration purposes.
2019-03-30 12:01:24 +05:30
Arpit Mohan
8ccd001652
Adding abstractions for CRUD APIs.
...
Now we can easily add controllers for any resource quickly by simply adding a few files.
2019-03-19 19:39:05 +05:30
Arpit Mohan
f7aaafacfb
Moving to Mongo instead of Postgresql for storage.
...
This will allow us to store the widget, plugin & page information much more cleanly and directly into the DB.
2019-03-19 12:13:21 +05:30
Arpit Mohan
9cea9f94f2
Completing the CRUD for the widget domain.
2019-03-19 02:28:00 +05:30
Arpit Mohan
e4f59ff941
Adding the Spring java API for creating Widget.
...
Migrating the code to Spring Java instead of Golang
2019-03-19 01:50:32 +05:30
Arpit Mohan
7ea78bf64c
Adding functionality to execute a query via mustache template.
2019-03-16 18:28:44 +05:30
Arpit Mohan
49b7051cea
Moving the method comparison in gorilla mux to the end and not in the chain
...
This allows mux to compare and match the requests based on the HTTP method as well. If we compare the methods in the middleware chain, then mux will try to redirect the request to the first match it finds.
2019-03-16 17:05:20 +05:30
Arpit Mohan
1133b53437
Adding Google authentication via Goth. All endpoints can now be authenticated.
...
Other changes include:
* Also removing httprouter mux in favour of gorilla for being more mature and having more integrations and resources available for debugging.
* Adding http middlewares for logging req processing time and handling authentication.
TODO: Need to add context in the middleware as well. Will be useful for logging and debugging.
2019-03-16 15:47:47 +05:30