🐛 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(constants.ts): add CONTROL_NEW_API_KEY constant for consistency
✨ feat(SecretKeyModal): add SecretKeyModal component to handle secret key generation and copying
🔧 chore(UserManagementModal): rearrange buttons in UserManagementModal for better user experience
🚀 feat(ApiKeysPage): add new page for managing API keys
🔧 chore(routes.tsx): add route for ApiKeysPage
🔧 chore(types): add ApiKeyType and ApiKeyInputType to improve type safety and readability of code
🔧 chore(utils): add Key icon from lucide-react to nodeIconsLucide to be used in styling
✨ feat(main.py): add support for API key routes to enable API key management functionality
📝 docs(api_key.py): add API key routes for retrieving, creating, and deleting API keys
🐛 fix(authLoginGuard/index.tsx): change condition to check autoLogin flag instead of LOCALHOST_JWT flag
🐛 fix(headerComponent/index.tsx): change condition to check autoLogin flag instead of LOCALHOST_JWT flag
🐛 fix(constants.ts): remove unused LOCALHOST_JWT variable
✨ feat(authContext.tsx): add autoLogin and setAutoLogin functions to AuthContext
🐛 fix(API/api.tsx): add auto_login endpoint to the list of excluded endpoints from Authorization header
✨ feat(API/index.ts): add autoLogin function to handle automatic login
🐛 fix(AdminPage/index.tsx): change handleDisableUser function parameter from user.is_superuser to user.is_active
🐛 fix(types/contexts/auth.ts): add autoLogin and setAutoLogin to AuthContextType
✨ feat(auth.py): add support for creating user API key and getting user ID from token
🐛 fix(base.py): fix typo in API_KEY_SECRET_KEY variable name
🐛 fix(base.py): fix typo in FIRST_SUPERUSER and FIRST_SUPERUSER_PASSWORD variable names
🐛 fix(base.py): fix indentation in load_settings_from_yaml function
✨ feat(auth.py): add create_super_user function to create super user if it doesn't exist
🐛 fix(login.py): remove hardcoded user_id and use create_user_longterm_token without arguments
🐛 fix(users.py): remove redundant password hashing in add_super_user_for_testing_purposes_delete_me_before_merge_into_dev
🐛 fix(base.py): change AUTO_LOGIN default value to False and add FIRST_SUPERUSER and FIRST_SUPERUSER_PASSWORD settings
✨ feat(App.tsx): add support for process.env.PORT environment variable to be able to run app on a configurable port
🐛 fix(App.tsx): change 'port' variable case from lowercase to uppercase to improve semantics
🐛 fix(App.tsx): fix typo in import statement for 'getLoggedUser' function
🐛 fix(App.tsx): add missing import statement for 'LoginType' type
🐛 fix(App.tsx): add missing import statement for 'LOCALHOST_JWT' constant
🐛 fix(App.tsx): add missing import statement for 'onLogin' function
🐛 fix(App.tsx): add missing import statement for 'setUserData' function
🐛 fix(App.tsx): add missing import statement for 'setErrorData' function
🐛 fix(App.tsx): add missing import statement for 'getUser' function
✨ feat(App.tsx): add logic to automatically log in user on localhost with predefined credentials
🐛 fix(PaginatorComponent/index.tsx): calculate 'maxIndex' based on 'totalRowsCount' and 'pageSize' to fix pagination bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update 'currentPage' state when changing pages to fix display bug
🐛 fix(PaginatorComponent/index.tsx): update
🐛 fix(UserManagementModal): change is_disabled to is_active to improve semantics and consistency
🐛 fix(AdminPage/index.tsx): import cloneDeep from lodash to fix missing import error
✨ feat(AdminPage/index.tsx): add support for user management functionality, including disabling and editing user properties
🐛 fix(AdminPage/index.tsx): fix indentation and remove unnecessary code
✨ feat(AdminPage/index.tsx): add ConfirmationModal component for editing and disabling users
🔥 chore(AdminPage/index.tsx): remove unused code and fix formatting
🔨 refactor(UserManagement.tsx): refactor UserManagement component to improve readability and maintainability
🔥 chore(UserManagement.tsx): remove unused code and unnecessary closing div tag
🔧 fix(loginPage): add useEffect hook to import statement to fix missing dependency warning
🔄 refactor(api): rename is_disabled field to is_active in Users type for better semantics
🔄 refactor(components): rename is_disabled field to is_active in UserInputType for better semantics
🔄 refactor(utils): add UserCog2 icon import to nodeIconsLucide for future use
🔄 refactor(tailwind.config.js): add text-align-last-left and text-align-last-right utility classes for text alignment
✨ feat(auth.py): add create_super_user function to create super user if it doesn't exist
🐛 fix(login.py): remove hardcoded user_id and use create_user_longterm_token without arguments
🐛 fix(users.py): remove redundant password hashing in add_super_user_for_testing_purposes_delete_me_before_merge_into_dev
🐛 fix(base.py): change AUTO_LOGIN default value to False and add FIRST_SUPERUSER and FIRST_SUPERUSER_PASSWORD settings
✨ feat(auth.py): add support for loading settings from environment variables in create_token and create_user_tokens functions
🔧 fix(auth.py): use settings_manager to access SECRET_KEY, ALGORITHM, ACCESS_TOKEN_EXPIRE_MINUTES, and REFRESH_TOKEN_EXPIRE_MINUTES in create_token and create_user_tokens functions
🔧 fix(auth.py): use settings_manager to access SECRET_KEY and ALGORITHM in get_current_user function
✨ feat(auth.py): add create_user_longterm_token function to create long-term access token for auto login
✨ feat(login.py): add auto_login endpoint to automatically log in as a super user if AUTO_LOGIN is enabled in the settings
🔧 fix(settings/base.py): add SECRET_KEY, ALGORITHM, ACCESS_TOKEN_EXPIRE_MINUTES, REFRESH_TOKEN_EXPIRE_MINUTES, and AUTO_LOGIN settings to the base settings class
✨ feat(settings/base.py): add AUTO_LOGIN setting to control whether auto login is enabled or not
🔧 fix(settings/base.py): use secrets.token_hex(32) to generate a random SECRET_KEY instead of hardcoding it
🔧 fix(settings/base.py): update comments and formatting in the base settings class
✨ feat(settings/base.py): add AUTO_LOGIN setting to control whether auto login is enabled or not
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings class
🔧 fix(settings/base.py): update comments and formatting in the base settings
🔥 refactor(settings.py): remove unused imports and code, clean up formatting and comments
🔀 chore(settings.py): merge duplicated code into reusable functions
📝 docs(settings.py): add missing docstrings and comments for better code documentation
🔧 chore(settings.py): update settings file to improve readability and maintainability
🐛 fix(auth.py): add optional parameter 'db' to 'create_refresh_token' function to allow passing the database session
✨ feat(login.py): pass 'update_last_login=True' to 'create_user_tokens' function to update last login when user successfully logs in
🐛 fix(ApiModal/index.tsx): fix formatting of 'codesArray' array to improve readability
🐛 fix(formModal/index.tsx): fix formatting of 'getWebSocketUrl' function to improve readability
🐛 fix(vite.config.ts): fix typo in comment
🔧 fix(AdminPage/index.tsx): fix incorrect assignment of filtered user list in getUsersPage response
🔧 fix(AdminPage/index.tsx): fix incorrect assignment of total rows count in getUsersPage response
🐛 fix(auth.py): add validation for inactive users and users waiting for approval in authenticate_user function
✨ feat(login.py): remove unnecessary blank line
📦 feat(catchAllRoutes): add CatchAllRoute component to redirect to the root ("/") when the catch-all route is matched
🔧 refactor(api.tsx): remove console.log statement
🔧 refactor(AdminPage): remove disabled prop from Checkbox components
🔧 refactor(loginPage): change Link to="/signup" to Link to="/signup" to fix incorrect link
🔧 refactor(routes.tsx): remove import statement for ProtectedRoute component and add import statements for CatchAllRoute and ProtectedAdminRoute components
🔒 chore(auth.py): add support for creating user tokens with user id
🔒 chore(auth.py): add support for updating last_login_at when creating user tokens
🔒 chore(auth.py): add support for updating user information
🔒 chore(login.py): add support for retrieving current active user in login route
🐛 fix(users.py): fix import order and remove unused imports to improve code readability
✨ feat(users.py): add support for pagination in read_all_users endpoint to retrieve a list of users with pagination
🔧 refactor(users.py): rename update_user function to patch_user for better semantics and consistency
🔧 refactor(users.py): refactor update_user function to use update_user function from models module for better code organization and reusability
✨ feat(users.py): add support for creating a superuser for testing purposes in add_super_user_for_testing_purposes_delete_me_before_merge_into_dev endpoint
🔧 fix(authContext.tsx): change localStorage to cookies for storing access token
🔧 fix(api.tsx): remove console.log statement
🔧 fix(AdminPage/index.tsx): add missing import for getLoggedUser function and useContext for AuthContext
🐛 fix(authContext.tsx): change import statement for Users type to fix compilation error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): change type of userData state to Users type to fix compilation error
🐛 fix(authContext.tsx): remove unnecessary import statement for LoginType to fix unused import warning
🐛 fix(authContext.tsx): remove unnecessary import statement for api to fix unused import warning
🐛 fix(authContext.tsx): change import statement for Cookies to fix unused import warning
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext.tsx): add missing comma in AuthContext initial value object to fix syntax error
🐛 fix(authContext
🔀 refactor(auth.ts): update types and imports in AuthContextType for better code organization and clarity