Commit graph

1,791 commits

Author SHA1 Message Date
anovazzi1
67e364ef35 fix(reactflowUtils.ts): import missing FlowType from "../flow" in reactflowUtils.ts
feat(reactflowUtils.ts): add generateFlow function to generate a new flow based on selected nodes and edges
2023-09-08 11:37:35 -03:00
anovazzi1
ccb8b0d323 feat(reactflowUtils.ts): add getMiddlePoint function to calculate the average position of multiple nodes
The getMiddlePoint function calculates the average position of multiple nodes by summing up the x and y coordinates of each node and dividing them by the total number of nodes. This allows us to find the middle point or center of a group of nodes. This function can be used to determine the position of a new node based on the average position of existing nodes.
2023-09-08 11:27:04 -03:00
Gabriel Luiz Freitas Almeida
7d9a9a7def 🔧 fix(loginPage): improve code readability by formatting the code and breaking long lines
🔧 fix(types): fix formatting of the updated_at property in UserInputType
🔧 fix(reactflowUtils): fix import order and formatting in reactflowUtils.ts
2023-08-30 14:56:23 -03:00
Gabriel Luiz Freitas Almeida
f9e3d0f57b 🐛 fix(headerComponent): reformat code to improve readability and consistency
🔨 refactor(AdminPage/index.tsx): reorganize imports and remove unused imports for better code organization and maintainability
🐛 fix(AdminPage/index.tsx): fix import statement for Header component to resolve import error
🚀 feat(AdminPage/index.tsx): add support for filtering user list based on input value to improve user experience

🔨 refactor(AdminPage/index.tsx): clean up code formatting and indentation for improved readability
🐛 fix(AdminPage/index.tsx): fix missing closing tags and correct JSX syntax errors
 feat(AdminPage/index.tsx): add support for user management actions such as filtering, adding, editing, and deleting users
📝 chore(AdminPage/index.tsx): update comments and remove unused code for better code organization

🎨 style: refactor user management UI to improve readability and maintainability
🔧 chore: update user management UI to use UserManagementModal and ConfirmationModal components for edit and delete functionality respectively

🐛 fix(PageComponent/index.tsx): fix formatting of proOptions object to improve readability and maintain consistency
2023-08-30 14:49:03 -03:00
Lucas Oliveira
daf9214513 Merge branch 'dev' into newHandleId 2023-08-29 21:22:28 -03:00
anovazzi1
02cc23d6b1
Login (#802)
### 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.
2023-08-29 17:38:20 -03:00
anovazzi1
cf8df6c62b fix(users.py): update error message to be more generic and not reveal specific reason for username unavailability
fix(AdminPage/index.tsx): fix nullish assertion for create_at and updated_at properties to avoid potential errors
fix(signUpPage/index.tsx): fix error handling to correctly display error message
fix(types/components/index.ts): make id, create_at, and updated_at properties optional in UserInputType
2023-08-29 16:44:15 -03:00
Lucas Oliveira
2cfd772387 React Flow update and minor style fixes 2023-08-29 15:42:30 -03:00
Cristhian Zanforlin Lousa
27455cbd77 Merge branch 'login' of https://github.com/logspace-ai/langflow into login 2023-08-29 11:46:52 -03:00
Cristhian Zanforlin Lousa
3e55e5f394 🐛 fix(headerComponent): change Sign out button to anchor tag for better accessibility and consistency
 feat(headerComponent): add Home link when on admin page for easier navigation
 feat(headerComponent): add Admin page link for easier navigation to admin page
🐛 fix(ApiKeysPage): handle case when api_keys.name is null or undefined by displaying "-" instead
🐛 fix(ApiKeysPage): handle case when api_keys.last_used_at is an invalid date by displaying "Never" instead
 feat(ApiKeysPage): add Total Uses column to display the total number of uses for each API key
🐛 fix(loginPage): set isAdmin context variable based on user's is_superuser property
🐛 fix(loginPage): increase delay before fetching logged user to 500ms for better user experience
🐛 fix(types): add total_uses property to ApiKey type to match backend response
2023-08-29 11:46:48 -03:00
Gabriel Luiz Freitas Almeida
408caea750 🔒 chore(api.tsx): refactor request interceptor logic to improve readability and maintainability 2023-08-29 10:40:09 -03:00
igorrCarvalho
787c7844f5 Merge login into login 2023-08-28 20:44:05 -03:00
igorrCarvalho
5b75d44c3e Fix: remove admin page and signout on flow page 2023-08-28 20:41:54 -03:00
anovazzi1
166cd7e9f0 added flex to avoid scroll bug on admin page 2023-08-28 20:33:39 -03:00
anovazzi1
bf81507447 feat(AdminPage): add support for displaying user ID, creation date, and update date in the user table
fix(AdminPage): add type annotations to user variables in filter and map functions to improve type safety
2023-08-28 20:07:52 -03:00
igorrCarvalho
21ef1b43c7 fix: Remove redundant button on admin page header 2023-08-28 20:04:56 -03:00
igorrCarvalho
bb4ed111ef fix: Remove redundant button on admin page header 2023-08-28 19:58:25 -03:00
anovazzi1
d1ffe5ab11 fix glitch on apiKey page 2023-08-28 18:59:59 -03:00
Cristhian Zanforlin Lousa
6c03edc50a 🐛 fix(auth.py): set AUTO_LOGIN to False to disable automatic login as a super user
🐛 fix(API/index.ts): add null check for response object before checking status to prevent potential error
2023-08-28 18:22:59 -03:00
Cristhian Zanforlin Lousa
7dcb534eb3 Merge branch 'login' of https://github.com/logspace-ai/langflow into login 2023-08-28 17:56:28 -03:00
Cristhian Zanforlin Lousa
0a2ced4e60 🔧 fix(authContext.tsx): remove unused refreshAccessToken function to improve code readability and maintainability
🔧 fix(tabsContext.tsx): remove unnecessary console.error statements to improve code readability and maintainability
🔧 fix(genericModal/index.tsx): remove unnecessary console.log statement to improve code readability and maintainability
🔧 fix(ApiKeysPage/index.tsx): remove unnecessary console.log statement to improve code readability and maintainability
🔧 fix(auth.ts): remove unused refreshAccessToken function type to improve code readability and maintainability
2023-08-28 17:56:24 -03:00
Gabriel Luiz Freitas Almeida
c9fef26981
Merge branch 'dev' into login 2023-08-28 20:34:08 +00:00
igorrCarvalho
70a8b1f630 Fix: Admin Page button showing even when logged as normal user 2023-08-28 17:28:32 -03:00
igorrCarvalho
97aa1e1443 Fix: Remove processCode() for when popUp open and make it only happen when click Check and save 2023-08-28 17:15:58 -03:00
igorrCarvalho
2b88963e64 refactor: bring back border to the login related buttons 2023-08-28 16:20:19 -03:00
igorrCarvalho
8f90e61379 Refactor: update Last Used from invalid date to never 2023-08-28 16:07:57 -03:00
igorrCarvalho
cb3fc079c6 refactor: Migrate api key messages to constants 2023-08-28 14:06:22 -03:00
Gabriel Luiz Freitas Almeida
b70d5501a2 🐛 fix(ApiKeysPage): handle cases where keysList.current is null or undefined to prevent errors
 feat(ApiKeysPage): add conditional rendering for keysList.current to display appropriate messages when there are no keys assigned or when loading keys
2023-08-27 19:54:59 -03:00
Cristhian Zanforlin Lousa
be0c7ce368 🐛 fix(ApiKeysPage): handle case when last_used_at date is invalid to prevent error in moment.js formatting
🎨 style(ApiKeysPage): improve table header className logic for better readability
2023-08-25 20:06:11 -03:00
Cristhian Zanforlin Lousa
8c763d798e 🐛 fix(PaginatorComponent): add useEffect to update maxPageIndex when totalRowsCount changes
 feat(ApiKeysPage): add Header component to the page layout for better organization and structure
🐛 fix(ApiKeysPage): fix import order to follow convention and improve readability
🐛 fix(ApiKeysPage): fix indentation and formatting issues for better code readability
 feat(ApiKeysPage): add conditional rendering for displaying a message when user has no assigned keys
🐛 fix(ApiKeysPage): fix indentation and formatting issues for better code readability
 feat(ApiKeysPage): add table component to display the list of keys with their details
🐛 fix(ApiKeysPage): fix indentation and formatting issues for better code readability
 feat(ApiKeysPage): add ConfirmationModal component for deleting keys with appropriate title and content
🐛 fix(ApiKeysPage): fix indentation and formatting issues for better code readability
2023-08-25 20:02:16 -03:00
Cristhian Zanforlin Lousa
d546647518 Merge branch 'login' of https://github.com/logspace-ai/langflow into login 2023-08-25 19:50:43 -03:00
Cristhian Zanforlin Lousa
9509edb66d 🔧 fix(App.tsx): remove unused imports and variables for better code cleanliness
 feat(authContext.tsx): move autoLogin logic from App component to AuthProvider to improve separation of concerns
🔧 fix(index.tsx): reorder context providers to ensure correct execution order
🔧 fix(tabsContext.tsx): add comment to clarify the purpose of the useEffect hook
🔧 fix(typesContext.tsx): add comment to clarify the purpose of the useEffect hook
🔧 fix(routes.tsx): rename ProtectedAdminRoute to ProtectedRoute for consistency
2023-08-25 19:50:38 -03:00
anovazzi1
8fda2e207c refactor(ApiKeysPage): update the message displayed when there are no keys assigned to the user for better clarity and user experience 2023-08-25 19:31:24 -03:00
anovazzi1
c296fc18af removed id column from api keys table 2023-08-25 19:29:43 -03:00
Cristhian Zanforlin Lousa
6867811626 Merge branch 'login' of https://github.com/logspace-ai/langflow into login 2023-08-25 19:08:44 -03:00
Cristhian Zanforlin Lousa
89d69af7f8 🐛 fix(authContext.tsx): initialize accessToken and refreshToken with values from cookies to maintain user session
 feat(authContext.tsx): add support for process.env.PORT environment variable to be able to run app on a configurable port
🐛 fix(tabsContext.tsx): import missing AuthContext and use getAuthentication function to conditionally fetch data
🐛 fix(typesContext.tsx): import missing AuthContext and use getAuthentication function to conditionally fetch data
🐛 fix(api.tsx): add check to not refresh token if refreshToken is "auto"
2023-08-25 19:08:38 -03:00
anovazzi1
5efdde4aca fix(API): remove unused user_id parameter in getApiKey function
fix(API): remove unused user_id parameter in createApiKey function and add name parameter
fix(API): change deleteApiKey parameter from user_id to api_key
fix(SecretKeyModal): change createApiKey parameter from data to apiKeyName
fix(ApiKeysPage): remove unused user_id parameter in getApiKey function and add console.log for debugging
2023-08-25 18:50:37 -03:00
anovazzi1
927379b245 fix(manager.py): catch all exceptions instead of just TypeError when loading JSON payload to handle any parsing errors
feat(index.tsx): add authentication token to WebSocket URL to authenticate the user
2023-08-25 18:15:59 -03:00
Cristhian Zanforlin Lousa
38eb1a2d79 Merge branch 'login' of https://github.com/logspace-ai/langflow into login 2023-08-25 17:54:57 -03:00
Cristhian Zanforlin Lousa
1f42910c55 🐛 fix(tabsContext.tsx): add delay to refreshFlows function to prevent race condition with API call
🐛 fix(typesContext.tsx): add delay to useEffect to prevent race condition with API call
2023-08-25 17:54:37 -03:00
igorrCarvalho
928d696751 Merge branch 'login' of github.com:logspace-ai/langflow into login 2023-08-25 17:49:08 -03:00
igorrCarvalho
10ba3381e0 Refactor: Move github stars context to darkContext 2023-08-25 17:48:39 -03:00
anovazzi1
d2f5a5d564 moved api interceptor 2023-08-25 17:21:54 -03:00
anovazzi1
17cbc64273 update browser route context location 2023-08-25 17:17:09 -03:00
Cristhian Zanforlin Lousa
1ed89cbbad merge fix 2023-08-25 17:10:54 -03:00
anovazzi1
82826d6b44 fix(constants.ts): update BASE_URL_API to "/api/v1/" to match backend API endpoint
fix(API/index.ts): update API endpoints to use BASE_URL_API instead of hardcoding "/api/v1/"
2023-08-25 15:15:19 -03:00
igorrCarvalho
a1ea788d45 Feat: Make edges with data work on Examples too 2023-08-24 19:53:00 -03:00
anovazzi1
9b3e4f27a5 fix(tabsContext.tsx): handle error message properly when saving changes in the tabs provider
The error handling in the tabs provider has been improved to display a more meaningful error message when there is an error while saving changes. Instead of directly assigning the error to the `setErrorData` state variable, the error message is now wrapped in an object with a title and a list of error messages. This change ensures that the error message is displayed consistently and provides better context to the user.
2023-08-24 19:50:17 -03:00
anovazzi1
cea8acacd8 update type to avoid undefined 2023-08-24 19:42:48 -03:00
anovazzi1
544738ebef
Merge branch 'login' into bugfix-msgSuccess 2023-08-24 17:58:25 -03:00