Commit graph

1,507 commits

Author SHA1 Message Date
Gabriel Luiz Freitas Almeida
a68535cbe4 🐛 fix(users.py): prevent users from changing their password in the patch_user endpoint to ensure security
🐛 fix(users.py): prevent users from using their current password when resetting their password to ensure security
2023-09-08 16:42:56 -03:00
Gabriel Luiz Freitas Almeida
01a289dd9a 🐛 fix(users.py): assign the hashed new password to a variable before updating the user's password to ensure consistency
 test(test_user.py): add test to verify if the new password works after resetting it
2023-09-08 14:28:32 -03:00
Gabriel Luiz Freitas Almeida
f95a38a4b5 🐛 fix(crud.py): change HTTP status code from 304 to status.HTTP_304_NOT_MODIFIED for better readability and consistency
 feat(crud.py): add support for updating user profile image in the update_user function
 feat(test_user.py): add test case for updating user profile image in the test_patch_user function
2023-09-08 14:23:19 -03:00
Gabriel Luiz Freitas Almeida
75f03b17f4 🔧 chore(67cc006d50bf_add_profile_image_column.py): refactor upgrade and downgrade functions to check if "user" table exists and if "profile_image" column is already present before adding or dropping the column respectively 2023-09-08 14:19:28 -03:00
Gabriel Luiz Freitas Almeida
071ad8621b 🔧 chore(user.py): add optional profile_image field to UserRead model for improved user profile functionality 2023-09-08 14:13:54 -03:00
Gabriel Luiz Freitas Almeida
04544b172f 🚀 feat(alembic): add migration to add profile_image column to user table
🔧 chore(user.py): add profile_image field to User model for storing user profile images
2023-09-08 07:36:56 -03:00
Gabriel Luiz Freitas Almeida
a7db386277 🐛 fix(users.py): change route paths for user-related endpoints to improve consistency and readability
 feat(users.py): add support for resetting a user's password
🐛 fix(crud.py): fix update_user function to properly handle unchanged attributes and return 304 status code if nothing is updated
🐛 fix(user.py): change field name in UserUpdate model from 'username' to 'password' to reflect the intended functionality
🐛 fix(index.ts): update API routes in frontend controller functions to match the changed user-related endpoint paths
2023-09-05 17:19:11 -03:00
Gabriel Luiz Freitas Almeida
e8846fc568
Merge branch 'dev' into implement_loguru 2023-09-04 19:17:21 +00:00
Gabriel Luiz Freitas Almeida
28b487dc33 🔧 fix(manager.py): change logger.warn to logger.warning for consistency and clarity
🔧 fix(logger.py): change log_file parameter type annotation to Optional[Path] to indicate that it is an optional argument
2023-09-04 16:15:41 -03:00
Gabriel Luiz Freitas Almeida
7e336bbee6 🐛 fix(logger.py): change log_level variable to uppercase to improve consistency and semantics 2023-09-04 16:13:01 -03:00
Gabriel Luiz Freitas Almeida
3c153c8b1b
Improves endpoint dependency usage (#862) 2023-09-04 19:06:31 +00:00
Gabriel Luiz Freitas Almeida
58c3e5e9dc refactor: replace loggers with loguru 2023-09-04 11:38:39 -03:00
Gabriel Luiz Freitas Almeida
87eb8b1a95 🔧 chore(logger.py): refactor logger configuration to use loguru library and improve log formatting 2023-09-04 11:35:22 -03:00
Gabriel Luiz Freitas Almeida
2ab3fcb28a 🐛 fix(base.py): set default value of frontend_node to None in ValidatePromptRequest class to avoid potential NoneType errors
🐛 fix(validate.py): set frontend_node to None instead of an empty dictionary in post_validate_prompt function to align with the default value in ValidatePromptRequest class
2023-09-04 10:04:21 -03:00
root
b1c24054c6 added indent to index dropping on non-existing table 2023-09-04 11:41:34 +00:00
Gabriel Luiz Freitas Almeida
53c5a3ccde 🐛 fix(base.py): make frontend_node field in PromptValidationResponse optional to handle cases where it is not provided 2023-09-04 07:05:10 -03:00
Gabriel Luiz Freitas Almeida
833fb4ad8f 🔀 chore(utils.py): add type hint for get_session() function to indicate it returns a generator instead of a Session object 2023-09-04 07:01:05 -03:00
Gabriel Luiz Freitas Almeida
84a0d3acb3 🔧 fix(chat.py): remove unused imports and type hints to improve code readability
 feat(chat.py): add dependency injection for ChatManager in chat and init_build routes to improve modularity and testability
🔧 fix(chat.py): remove duplicate instantiation of ChatManager in chat and init_build routes to improve efficiency
🔧 fix(chat.py): remove duplicate instantiation of ChatManager in stream_build route to improve efficiency
🔧 fix(utils.py): add missing import for ChatManager in get_chat_manager function
2023-09-04 06:42:01 -03:00
Gabriel Luiz Freitas Almeida
2bbbf44b39 🐛 fix(endpoints.py): change get_all function signature to include settings_manager as a dependency to improve code readability
🐛 fix(flows.py): change update_flow function signature to include settings_manager as a dependency to improve code readability
🐛 fix(login.py): change auto_login function signature to include settings_manager as a dependency to improve code readability
🐛 fix(users.py): change add_user function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change read_all_users function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change patch_user function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change delete_user function signature to include session as a dependency to improve code readability
🐛 fix(users.py): change add_super_user_for_testing_purposes_delete_me_before_merge_into_dev function signature to include session as a dependency to improve code readability
2023-09-04 06:41:34 -03:00
Gabriel Luiz Freitas Almeida
594dfb13c1 🔀 chore(manager.py): ignore type error for session_manager_factory import to prevent linting errors 2023-08-31 11:49:51 -03:00
Gabriel Luiz Freitas Almeida
156d8bb089 🔧 chore(auth.py): remove unnecessary comments and fields in AuthSettings class
🔧 chore(manager.py): remove unnecessary arguments in AuthSettings instantiation
2023-08-31 11:43:41 -03:00
Gabriel Luiz Freitas Almeida
c7b500dd5c 🔧 fix(base.py): fix comment indentation for better readability
🔧 fix(users.py): fix code formatting and indentation for better readability
2023-08-31 11:27:45 -03:00
Gabriel Luiz Freitas Almeida
942c489552 🐛 fix(utils.py): change file mode from "rb" to "r" when reading secret from file to fix incorrect file mode 2023-08-31 11:17:28 -03:00
Gabriel Luiz Freitas Almeida
9eca124b17 🐛 fix(utils.py): raise HTTPException with status code 400 and detail message when FIRST_SUPERUSER credentials are missing in api_key_security function
🐛 fix(utils.py): raise credentials_exception when SECRET_KEY is None in get_current_user function
🐛 fix(utils.py): raise HTTPException with status code 400 and detail message when FIRST_SUPERUSER credentials are missing in create_user_longterm_token function
🐛 fix(auth.py): set SECRET_KEY default value to empty string and disallow mutation in AuthSettings class
🐛 fix(auth.py): set FIRST_SUPERUSER and FIRST_SUPERUSER_PASSWORD as optional fields with default values and disallow mutation in AuthSettings class
🐛 fix(manager.py): raise ValueError when CONFIG_DIR is not set in settings
2023-08-31 11:17:16 -03:00
Gabriel Luiz Freitas Almeida
8429f3fe72 🐛 fix(chat.py): fix typo in variable name 'messsage' to 'message' for better readability
🔧 chore(chat.py): refactor error handling in chat websocket to improve code clarity and maintainability
2023-08-31 11:16:52 -03:00
Gabriel Luiz Freitas Almeida
269cb9bc53 🐛 fix(__main__.py): pass the session as a keyword argument 'db' to the create_super_user function for clarity and consistency
🐛 fix(test_user.py): pass the session as a keyword argument 'db' to the create_super_user function for clarity and consistency
2023-08-31 11:16:39 -03:00
Gabriel Luiz Freitas Almeida
8d96c32c2b 🔧 chore(manager.py): add teardown method to DatabaseManager class for cleaning up the database
🔧 chore(manager.py): remove default superuser if auto_login is enabled during teardown to ensure clean database state
2023-08-31 10:21:03 -03:00
Gabriel Luiz Freitas Almeida
29a616bc77 🐛 fix(utils.py): remove unnecessary code and simplify create_super_user function
 feat(utils.py): refactor create_user_longterm_token to use settings_manager for username and password
2023-08-31 10:20:53 -03:00
Gabriel Luiz Freitas Almeida
91ea879e50 🔧 fix(base.py): make Service class inherit from ABC to make it an abstract base class
 feat(manager.py): add debug log messages for service creation and update to improve debugging
 feat(manager.py): add teardown method to ServiceManager to teardown all services and clear state
 feat(manager.py): add teardown_services function to teardown all services and clear state
2023-08-31 10:20:40 -03:00
Gabriel Luiz Freitas Almeida
08407abe9a 🔧 chore(main.py): add teardown_services function to be called on app shutdown event to properly clean up resources 2023-08-31 10:20:20 -03:00
Gabriel Luiz Freitas Almeida
98dfc01934 🔒 refactor(auth.py): move SECRET_KEY logic to AuthSettings class to improve code organization and reusability
🔒 refactor(base.py): remove SECRET_KEY field from Settings class since it is now handled by AuthSettings class
🔒 refactor(manager.py): pass CONFIG_DIR to AuthSettings constructor when creating an instance
2023-08-30 18:58:12 -03:00
Gabriel Luiz Freitas Almeida
3a90b07235 fix exception 2023-08-30 18:18:22 -03:00
Gabriel Luiz Freitas Almeida
1407719f2f 🐛 fix(chat.py): handle unauthorized error in chat websocket to return WS_1008_POLICY_VIOLATION status code and "Unauthorized" reason 2023-08-30 18:12:03 -03:00
Gabriel Luiz Freitas Almeida
9d7deccc53 🐛 fix(chat.py): handle and log any exception that occurs in the chat websocket to prevent unhandled errors and provide better error messages 2023-08-30 17:54:58 -03:00
Gabriel Luiz Freitas Almeida
163a7c49cd 🐛 fix(utils.py): fix TypeError when comparing offset-naive and offset-aware datetimes in get_current_user function 2023-08-30 17:51:57 -03:00
Gabriel Luiz Freitas Almeida
61f0a93cc6 🔥 refactor(manager.py): remove redundant code in connect method by removing unnecessary await websocket.accept() call 2023-08-30 17:40:22 -03:00
Gabriel Luiz Freitas Almeida
a8b9c08a9d 🐛 fix(base.py): fix issue with loading and saving secret key in Settings class
🐛 fix(utils.py): fix issue with writing secret key to file in write_secret_to_file function
2023-08-30 17:39:51 -03:00
Gabriel Luiz Freitas Almeida
eacf558e70 🐛 fix(chat.py): close websocket connection with status code 1008 and reason "Unauthorized" if user is not authenticated or inactive
🐛 fix(auth/utils.py): raise credentials_exception if token has expired
2023-08-30 17:29:07 -03:00
Gabriel Luiz Freitas Almeida
53b9565ac6 Merge remote-tracking branch 'origin/dev' into fix_secret_key 2023-08-30 16:48:04 -03:00
Gabriel Luiz Freitas Almeida
b3c2fd26a5 🐛 fix(base.py): fix import statements for read_secret_from_file and write_secret_to_file functions
🔒 chore(utils.py): add write_secret_to_file and read_secret_from_file functions to handle secret key file read/write operations
2023-08-30 16:14:27 -03:00
Gabriel Luiz Freitas Almeida
e2e890464f 🔧 fix(base.py): import set_secure_permissions function from utils module to fix NameError
🔒 feat(utils.py): add set_secure_permissions function to set secure file permissions based on the operating system
2023-08-30 15:53:32 -03:00
anovazzi1
8a772086e2 fix(api): make frontend_node field optional in ValidatePromptRequest to allow for a tweak call without a frontend_node
fix(api): handle case where frontend_node is None in post_validate_prompt to avoid attempting to update a non-existent node
2023-08-29 22:03:54 -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
anovazzi1
d73b3b0b52 fix(users.py): improve error message when trying to add a user with an already claimed username 2023-08-29 16:26:15 -03:00
Gabriel Luiz Freitas Almeida
8c77613f72 🔀 refactor(utils.py): change return type annotation of authenticate_user function from Union[User, None] to Optional[User] for clarity and consistency 2023-08-29 10:45:10 -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
Gabriel Luiz Freitas Almeida
acd661f629 🔧 chore(__main__.py): remove unused imports and functions to improve code cleanliness and maintainability
🔧 chore(main.py): update import statement to use get_number_of_workers from __main__ module
🔧 chore(util.py): remove unused imports and functions to improve code cleanliness and maintainability
2023-08-28 18:09:26 -03:00
Gabriel Luiz Freitas Almeida
9804d58d32 🐛 fix(base.py): add *args and **kwargs to build method in Vertex class to allow for additional arguments to be passed
🐛 fix(types.py): add *args and **kwargs to build method in AgentVertex, LLMVertex, WrapperVertex, ChainVertex, and PromptVertex classes to allow for additional arguments to be passed
🐛 fix(utils.py): change return type annotation in api_key_security function from Optional[ApiKey] to Optional[User] to reflect the actual return type
2023-08-28 18:05:43 -03:00
Gabriel Luiz Freitas Almeida
099921514c 🐛 fix(endpoints.py): add missing colon after if statement condition to fix syntax error
🔒 chore(endpoints.py): fix indentation and add missing colon after if statement condition for better code readability
2023-08-28 17:56:40 -03:00
Gabriel Luiz Freitas Almeida
1b79c1bd7e 🐛 fix(types.py): pass user_id parameter to build methods in AgentVertex, LLMVertex, WrapperVertex, ChainVertex, and PromptVertex to enable user-specific functionality 2023-08-28 17:56:39 -03:00