Adding email sending capability when the user resets their password
At the moment, the email sending is sent in the same thread that slows down the API request. Future changes should include:
1. Publish the request to send an email to Redis and actually send the email on subscribe event.
2. Disable the email sending in local environments.
See merge request theappsmith/internal-tools-server!102
Implementing Forgot Password flow + DB based password authentication
Changes include:
1. Create/Update user APIs now use `passwordEncoder` to encode the user password before storing it in the database.
2. Forgot password flow has been added.
3. Added a `PasswordEncoderConfig` to configure the encoder from a single location
4. Moving from in-memory `MapUserDetails` to DB for checking the password for a user during login.
5. Using `WithUserDetails` in all the tests because we now use our custom `User` domain object instead of Spring's `User` object in our session. The earlier implementation in the test cases was using Spring's implementation.
6. Adding a bunch of javadoc comments to `UserServiceImpl`
See merge request theappsmith/internal-tools-server!101
Get actions by pageId & applicationId
Query params "pageId" and "applicationId" can be used on Get call to actions api to all the actions by page Ids and application ids.
See merge request theappsmith/internal-tools-server!99
Storybooks integration
- Add storybooks to appsmith UI application.
- addon-docs - Picks up documentation from the component
- addon-designs - Picks up figma URL to see widget and design side by side
- addong-knobs - Allows to toggle props in storybook
- Add a sample story for TextInputWidget
See merge request theappsmith/internal-tools-client!172
Editor header - Breadcrumbs routing
Changes:
- The first breadcrumb is "Home" which redirects to the homepage (/)
- The second breadcrumb is "Applications" which redirects to applications (/applications)
See merge request theappsmith/internal-tools-client!175
Checking if the name of the user is not null. Only then inserting it that field into analytics service.
See merge request theappsmith/internal-tools-server!97
Add support for plugin name based filtering
Started pulling plugins from the server and showing actions and data sources depending of plugin name
See merge request theappsmith/internal-tools-client!169