fix(codeTabsComponent): remove unused imports and update import for FlowsContext
fix(headerComponent): remove unused imports and update import for FlowsContext, useDarkStore, and remove darkContext
fix(tagsSelectorComponent): remove unused import and update import for useDarkStore
refactor(darkStore): move darkContext functionality to a separate zustand store called darkStore
refactor(index.tsx): remove import for darkContext and DarkProvider
fix(codeAreaModal): remove unused imports and update import for useDarkStore
feat(darkStore): add zustand store for managing dark mode state, stars count, and gradient index
feat(darkStore): fetch and set stars count from API in darkStore
feat(darkStore): generate and set random gradient index in darkStore
feat(darkStore): add updateDark, updateStars, and updateGradientIndex actions to darkStore
feat(darkStore): initialize dark mode state, stars count, and gradient index in darkStore
feat(darkStore): fetch and set stars count from API in darkStore
feat(darkStore): generate and set random gradient index in darkStore
feat(darkStore): add updateDark, updateStars, and updateGradientIndex actions to darkStore
feat(darkStore): initialize dark mode state, stars count, and gradient index in darkStore
🎨 style(App.css): reformat CSS code for better readability and consistency
🚀 feat(App.css): add styles for json-view component
🔨 refactor(parameterComponent): extract DictComponent to a separate file for reusability
🔧 chore(constants): add constant for CODE_DICT_DIALOG_SUBTITLE
🔨 refactor(EditNodeModal): extract DictComponent to a separate file for reusability
🔧 chore(constants): add constant for CODE_DICT_DIALOG_SUBTITLE
🔨 refactor(codeAreaModal): remove unused isTweakPage variable
🚀 feat(dictAreaModal): add DictAreaModal component to allow editing of dictionaries
🔧 chore(styleUtils.ts): import and add BookMarked icon to nodeIconsLucide for future use
- Update "@emotion/react" to version "^11.11.1"
- Update "@emotion/styled" to version "^11.11.0"
- Update "@headlessui/react" to version "^1.7.17"
- Update "@heroicons/react" to version "^2.0.18"
- Update "@mui/material" to version "^5.14.7"
- Update "@tabler/icons-react" to version "^2.32.0"
- Update "@tailwindcss/forms" to version "^0.5.6"
- Update "ace-builds" to version "^1.24.1"
- Update "axios" to version "^1.5.0"
- Update "class-variance-authority" to version "^0.6.1"
- Update "dompurify" to version "^3.0.5"
- Update "esbuild" to version "^0.17.19"
- Update "react-error-boundary" to version "^4.0.11"
- Update "react-icons" to version "^4.10.1"
- Update "react-router-dom" to version "^6.15.0"
- Update "react-tabs" to version "^6.0.2"
- Update "react-tooltip" to version "^5.21.1"
- Update "rehype-mathjax" to version "^4.0.3"
- Update "shadcn-ui" to version "^0.2.3"
- Update "tailwind-merge" to version "^1.14.0"
- Update "tailwindcss-animate" to version "^1.0.7"
chore(frontend): update devDependencies in package.json
- Update "@swc/cli" to version "^0.1.62"
- Update "@swc/core" to version "^1.3.80"
- Update "@tailwindcss/typography" to version "^0.5.9"
- Update "@testing-library/jest-dom" to version "^5.17.0"
- Update "@testing-library/react" to version "^13.4.0"
- Update "@testing-library/user-event" to version "^13.5.0"
- Update "@types/lodash" to version "^4.14.197"
- Update "@types/node" to version "^16.18.46"
- Update "@types/react
### Description
This pull request introduces a significant enhancement to the project by
incorporating robust authentication logic. The enhancement addresses the
critical need for secure user access and data protection within the
application. With this addition, the system will be able to authenticate
users, verify their identities, and provide access only to authorized
individuals.
### Changes Implemented
- **Authentication Middleware**: A new middleware module has been
implemented to intercept incoming requests and validate user
authentication. This middleware checks for valid authentication tokens
or credentials and ensures that only authenticated users can access
protected resources.
- **User Authentication Endpoint**: A new endpoint has been created to
handle user authentication. This endpoint allows users to provide their
credentials, which are then securely processed and validated against the
stored user data.
- **Password Hashing**: User passwords are now securely hashed using a
strong cryptographic algorithm before being stored in the database. This
ensures that even if the database is compromised, user passwords remain
inaccessible.
- **Token-Based Authentication**: Upon successful authentication, the
system generates a time-limited access token for the user. This token
must be included in subsequent requests to access protected resources.
Token validity is maintained through token expiration and refresh
mechanisms.
- **Authorization Checks**: The logic has been extended to include
authorization checks after successful authentication. This ensures that
authenticated users only have access to the resources they are
authorized to use, based on their roles and permissions.
### Benefits
1. **Enhanced Security**: By implementing strong authentication
mechanisms and password hashing, the project significantly improves
security, minimizing the risk of unauthorized access or data breaches.
2. **User-Friendly Experience**: Users can securely access the
application, confident in the knowledge that their credentials and data
are protected. The token-based authentication simplifies the user
experience by eliminating the need for frequent re-authentication.
3. **Scalability**: The authentication logic has been designed with
scalability in mind, ensuring that the system can handle a growing
number of users and requests without compromising security or
performance.
4. **Modularity**: The new authentication logic has been integrated as a
separate module, enhancing the project's modularity and maintainability.
🐛 fix(headerComponent): add onClick event handler to navigate to "/account/api-keys" when button is clicked
🐛 fix(API): add missing API functions for getting, creating, and deleting API keys
🐛 fix(SecretKeyModal): add functionality to create a new API key and set the value in the input field
🔧 fix(ApiKeysPage): remove unused imports and refactor code to improve readability and performance
✨ feat(ApiKeysPage): add support for fetching and displaying API keys for the logged-in user
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 fix(ApiKeysPage): refactor code to improve readability and remove unnecessary functions and variables
🔧 chore(frontend): add BASE_URL_API constant to constants.ts to store API base URL
🔧 chore(frontend): update API endpoints in controllers to use BASE_URL_API constant for better maintainability and flexibility
🔨 refactor(PaginatorComponent): remove unnecessary whitespace in paginate prop
📝 docs(ConfirmationModal): add missing JSDoc comments and improve code readability
📝 docs(UserManagementModal): add missing JSDoc comments and improve code readability
🔨 refactor(baseModal): improve code readability by adding a div wrapper for headerChild
✨ feat(AdminPage/index.tsx): add Pencil icon from lucide-react library to the import statement to use it in the component
✨ feat(AdminPage/index.tsx): add ConfirmationModal and UserManagementModal components to import statements to use them in the component
🐛 fix(AdminPage/index.tsx): remove unused handleSaveClick function
✨ feat(AdminPage/index.tsx): add modalEditOpen and modalDeleteOpen states to handle the opening and closing of the modals
✨ feat(AdminPage/index.tsx): add handleEditUser function to handle the edit user functionality
🐛 fix(AdminPage/index.tsx): remove unused handleSaveClick function
✨ feat(AdminPage/index.tsx): add ConfirmationModal component to handle the delete user functionality
✨ feat(AdminPage/index.tsx): add UserManagementModal component to handle the edit user functionality
✨ feat(components/index.ts): add ConfirmationModalType and UserManagementType types to handle the props of ConfirmationModal and UserManagementModal components
🐛 fix(components/index.ts): add missing newline at the end of the file
✨ feat(utils/styleUtils.ts): add UserMinus2 and UserPlus2 icons from lucide-react library to the import statement
🔧 chore(frontend): add PaginatorComponent and Select component to the project
🔧 fix(api.tsx): comment out error retry logic to temporarily disable it
✨ feat(LoginPage): add login functionality for admin page
🆕 feat(AdminPage): add AdminPage component to display a list of users and provide filtering and pagination functionality
🐛 fix(AdminPage): fix handleInputChange function to update the password value correctly
🔨 refactor(AdminPage): refactor handleFilterUsers function to filter users based on user and email fields
🔥 chore(AdminPage): remove unused imports and console.log statements
✨ feat(routes.tsx): add routes for admin login and admin page to enable access to admin features
🔧 chore(components/index.ts): add PaginatorComponentType to define the type for a paginator component
🐛 fix(typesContext.tsx): remove unnecessary retry logic and error logging in getTypes function
🚀 feat(API/api.tsx): add ApiInterceptor component to handle API response retries and error handling
🚀 feat(API/index.ts): replace axios calls with api instance from API/api.tsx for better code organization and reusability
✨ feat(index.tsx): add ApiInterceptor component to intercept API requests and responses for additional processing
The prettier-plugin-organize-imports package is added to the project to improve code formatting. This plugin helps to organize and sort import statements in a consistent and standardized manner, making the codebase more readable and maintainable.
The package.json file has been updated to include the dependencies for Prettier and the Prettier plugin for Tailwind CSS. Prettier is a code formatter that helps maintain consistent code style across the project. The Prettier plugin for Tailwind CSS ensures that the Tailwind CSS code is formatted correctly. Additionally, a new prettier.config.js file has been added to configure Prettier with the Tailwind CSS plugin. This will improve the code formatting and maintainability of the frontend codebase.
🐛 fix(frontend): add missing semicolon in EditFlowSettingsComponent
The package.json and postcss.config.js files were updated to improve formatting and update dependencies. The EditFlowSettingsComponent had a missing semicolon which was added.
🔧 chore: fix formatting issues in multiple files
The changes in this commit are purely cosmetic and do not affect the functionality of the application. The changes include fixing formatting issues such as indentation, whitespace, and semicolons in multiple files. These changes improve the readability and maintainability of the codebase.