Commit Graph

70 Commits

Author SHA1 Message Date
Trisha Anand
59f85cef96 Merge branch 'app-crud' into 'master'
Application CRUD

See merge request theappsmith/internal-tools-server!13
2019-09-09 06:54:36 +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
a03c0a8bde Merge branch 'feature/oauth2-custom-domain' into 'master'
A hacky approach to limiting the Google OAuth2 to a set of custom domains.

Closes #18

See merge request theappsmith/internal-tools-server!12
2019-09-09 05:16:42 +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
b5e05e72c6 Merge branch 'signup' into 'master'
Signup flow

See merge request theappsmith/internal-tools-server!11
2019-09-06 10:49:48 +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
b7c480801f Merge branch 'feature/test' into 'master'
Adding JUnit test framework

Closes #44

See merge request theappsmith/internal-tools-server!10
2019-09-04 09:24:38 +00:00
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
6c90ce2561 Merge branch 'mongo-changes' into 'master'
#42

See merge request theappsmith/internal-tools-server!9
2019-09-03 11:36:49 +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
2acb44382c Merge branch 'feature/http-error-handling' into 'master'
Standardizing Http error handling

Fixes #9

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.

See merge request theappsmith/internal-tools-server!8
2019-08-28 09:35:06 +00:00
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
9ce979dd21 Merge branch 'plugin-dev' into 'master'
Action CRUD implemented

See merge request theappsmith/internal-tools-server!7
2019-08-27 11:31:44 +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
Arpit Mohan
2758e26769 Merge branch 'plugin-dev' into 'master'
Resource CRUD

See merge request theappsmith/internal-tools-server!5
2019-08-27 09:37:38 +00:00
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
3df8d70652 Merge branch 'feature/mdc-logging' into 'master'
MDC Logging across the codebase

Closes #10

See merge request theappsmith/internal-tools-server!6
2019-08-27 06:25:29 +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
e8b7b234b3 Merge branch 'trisha-dev' into 'master'
Plugin Design (Create, install & uninstall)

See merge request theappsmith/internal-tools-server!4
2019-08-22 12:03:42 +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
659f3eab54 Merge branch 'trisha-dev' into 'master'
Oauth2 implementation - #17

See merge request theappsmith/internal-tools-server!3
2019-08-12 04:44:29 +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
Arpit Mohan
dd22ed539c Merge branch 'trisha-dev' into 'master'
Reactive create tenant flow.

See merge request theappsmith/internal-tools-server!2
2019-07-28 04:46:53 +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
00a588cbc5 Merge branch 'trisha-dev' into 'master'
Added Tenant Settings

See merge request theappsmith/internal-tools-server!1
2019-07-25 07:11:05 +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