🔧 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
🔧 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
✨ feat(PaginatorComponent): update rowsCount options to [10, 20, 50, 100] for more flexibility in choosing page size
🐛 fix(PaginatorComponent): fix maxIndex calculation to always be 100 for now, to avoid incorrect pagination
🐛 fix(PaginatorComponent): fix page index display to start from 1 instead of 0 for better user experience
🐛 fix(PaginatorComponent): fix disabled state of first and previous buttons to be disabled when index is 0
🐛 fix(PaginatorComponent): fix disabled state of next and last buttons to be disabled when index is equal to maxIndex
✨ feat(authGuard): add new ProtectedLoginRoute component to redirect authenticated users to home page
🐛 fix(genericIconComponent): fix icon size to be smaller with h-3 and w-3 classes
🐛 fix(ui/checkbox): fix checkbox icon size to be smaller with h-3 and w-3 classes
✨ feat(constants): add CONTROL_NEW_USER constant for new user form initialization
🐛 fix(authContext): fix getAuthentication function to correctly check for stored access and refresh tokens
🐛 fix(api.tsx): remove unused imports and reorganize imports for better readability
✨ feat(api.tsx): add support for retrying failed requests up to 3 times with a 5-second delay between retries
🐛 fix(api.tsx): fix logic for excluding certain URLs from error retries
✨ feat(api.tsx): add support for adding access token to every request as a request interceptor
🐛 fix(api.tsx): fix formatting and remove unnecessary code
✨ feat(index.ts): add support for fetching users, adding a user, fetching users with pagination, deleting a user, and updating a user
🐛 fix(UserManagementModal): fix typo in username state variable name
✨ feat(UserManagementModal): add support for password visibility toggle in password and confirm password fields
✨ feat(UserManagementModal): add support for is_disabled and is_superuser checkboxes
🐛 fix(LoginPage): fix typo in username state variable name
✨ feat(LoginPage): add support for handling input changes and signing in with username and password
🔨 refactor(AdminPage/index.tsx): import Checkbox component to improve code readability and maintainability
🔨 refactor(AdminPage/index.tsx): import API functions separately to improve code readability and maintainability
🔨 refactor(AdminPage/index.tsx): import alertContext from contexts/alertContext to improve code readability and maintainability
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused variables and functions to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused imports to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve code cleanliness and performance
🔨 refactor(AdminPage/index.tsx): remove unused code and dependencies to improve
🐛 fix(AdminPage/index.tsx): update text when there are no users registered to improve clarity and user experience
✨ feat(AdminPage/index.tsx): add loading state when fetching users to provide feedback to the user
🔨 refactor(AdminPage/index.tsx): refactor filter functionality to reset filter when input value is cleared
🔨 refactor(AdminPage/index.tsx): refactor filter functionality to use the current user list instead of the filtered list
🔨 refactor(AdminPage/index.tsx): refactor handleNewUser function to pass the user object instead of index
🔨 refactor(AdminPage/index.tsx): refactor handleEditUser function to pass the user id instead of index
🔨 refactor(AdminPage/index.tsx): refactor handleDeleteUser function to pass the user object instead of index
🔨 refactor(AdminPage/index.tsx): refactor TableRow key to use index instead of user.user
🔨 refactor(AdminPage/index.tsx): refactor TableCell content to use ShadTooltip component for better user experience
🔨 refactor(AdminPage/index.tsx): refactor Checkbox components to use id and checked props for better semantics
🔨 refactor(AdminPage/index.tsx): refactor date formatting to use toISOString and split methods for better readability
🔨 refactor(AdminPage/index.tsx): refactor UserManagementModal titleHeader to use user.id instead of user.user for better clarity
🔨 refactor(AdminPage/index.tsx): refactor handleEditUser function to pass the user id instead of index
🔨 refactor(AdminPage/index.tsx): refactor handleDeleteUser function to pass the user object instead of index
🔨 refactor(AdminPage/index.tsx): refactor PaginatorComponent to use handleChangePagination function for better readability and maintainability
🐛 fix(loginPage/index.tsx): remove unused import statement for 'error' from console module
✨ feat(loginPage/index.tsx): add support for displaying error message when signing in fails
🐛 fix(routes.tsx): add ProtectedLoginRoute component to protect login, signup, and login/admin routes
🐛 fix(api/index.ts): add missing 'is_disabled' and 'is_superuser' properties to Users type
🐛 fix(components/index.ts): change value type of inputHandlerEventType to include boolean
✨ feat(components/index.ts): add UserInputType type for user input data
🐛 fix(styleUtils.ts): add missing Eye and EyeOff icons to nodeIconsLucide object
✨ feat(authContext): add getAuthentication() function to check if user is authenticated using cookies
🔧 chore(index.tsx): reorganize context providers to wrap AuthProvider around other providers
🆕 feat(headerComponent): add logout functionality and redirect to login page on sign out
🔧 fix(constants): add missing URL to the list of excluded error retries
🔧 fix(authContext): add refreshToken state and update login and logout functions to handle refresh token
🆕 feat(api): add interceptor to handle access token expiration and refresh
🔧 fix(api): add missing request interceptor to add access token to every request
🔧 fix(API/index.ts): import missing LoginAuthType and LoginType from types/api/index to resolve compilation error
✨ feat(API/index.ts): add onLogin function to handle user login and authentication
✨ feat(API/index.ts): add renewAccessToken function to handle token renewal
🔧 fix(loginPage/index.tsx): import missing onLogin function from controllers/API to resolve compilation error
✨ feat(loginPage/index.tsx): add signIn function to handle user sign in and authentication
🔧 fix(routes.tsx): import ProtectedRoute component from components/authGuard to resolve compilation error
✨ feat(routes.tsx): add protected routes for HomePage, FlowPage, AdminPage, and DeleteAccountPage to enforce authentication
🔧 fix(api/index.ts): add missing grant_type, scope, client_id, and client_secret properties to LoginType to match API requirements
✨ feat(api/index.ts): add LoginAuthType to represent the authentication response from the server
🔧 fix(contexts/auth.ts): add refreshToken property to AuthContextType to store the refresh token
✨ feat(users.py): add docstrings to API endpoints for better documentation
🔥 chore(users.py): remove unnecessary code and comments
🐛 fix(users.py): fix return type hints in API endpoints
🔧 fix(auth.py): change SECRET_KEY comment from "TODO" to "JUST FOR TEST" for clarity
🔧 fix(auth.py): change create_access_token function name to create_token for consistency
🔧 fix(auth.py): change create_refresh_token function to accept refresh_token parameter instead of data dictionary
🔧 fix(auth.py): change create_refresh_token function to decode and validate refresh_token before creating new user tokens
🔧 fix(auth.py): change authenticate_user function to use get_user_by_username instead of get_user
🔧 fix(auth.py): change get_current_user function to use get_user_by_username instead of get_user
🔧 fix(auth.py): change get_user function name to get_user_by_username for clarity
🔧 fix(users.py): change get_password_hash function to be inside the router scope for better encapsulation
🔧 fix(users.py): change add_user function to return UserListModel instead of User
🔧 fix(users.py): change update_user function to update user data based on UserPatchModel fields
🔧 fix(users.py): change update_user function to handle username conflicts and update user's updated_at field
🔧 fix(users.py): change delete_user function to delete user based on user_id
✨ feat(login.py): add refresh_token endpoint to refresh access token using refresh token
✨ feat(login.py): add refresh_token function to create new user tokens based on refresh token
✨ feat(login.py): add refresh_token endpoint to refresh access token using refresh token
✨ feat(login.py): add refresh_token function to create new user tokens based on refresh token
✨ feat(login.py): add refresh_token endpoint to refresh access token using refresh token
✨ feat(login.py): add refresh_token function to create new user tokens based on refresh token
✨ feat(login.py): add refresh_token endpoint to refresh access token using refresh token
✨ feat(login.py): add refresh_token function to create new user tokens based on refresh token
✨ feat(login.py): add refresh_token endpoint to refresh access token using refresh token
✨ feat(login.py): add refresh_token function to create new user tokens based on refresh token
✨ feat(login.py): add refresh_token endpoint to refresh access token using refresh token
✨ feat(login.py): add refresh
🔒 chore(auth.py): add refresh token functionality with expiration time of 180 minutes
🔒 chore(login.py): change token endpoint URL from /token to /login for better semantics
🔒 chore(login.py): add refresh token creation to login endpoint to provide a refresh token along with the access token
This pull request introduces a new admin login page to the application,
enhancing the user management experience by implementing a user table
with pagination. This will allow administrators to efficiently manage
users, edit passwords, delete accounts, and apply filters through a
user-friendly table interface.
/login/admin - Just click login
✨ feat(PaginatorComponent): add support for custom icons using IconComponent for better customization options
🔧 fix(UserManagementModal): remove unused imports and fix import order for better organization
✨ feat(UserManagementModal): add password confirmation validation and reset form on modal open for better user experience
🔧 fix(UserManagementModal): fix modal size to be full height for better visibility and usability
✨ feat(UserManagementModal): add form fields for username and password with validation for better user input handling
🔧 fix(UserManagementModal): fix form field labels and error messages for better clarity and user guidance
✨ feat(UserManagementModal): add form submission and confirmation handling for better user interaction and data management
🔧 fix(UserManagementModal): fix cancel button styling for better consistency and user experience
🔧 fix(baseModal): add missing size options to the size prop to support additional modal sizes
✨ feat(baseModal): add support for "small-h-full" and "medium-h-full" sizes to allow modals with smaller height and full width
🔧 fix(AdminPage): import missing IconComponent and ShadTooltip components
✨ feat(AdminPage): add functionality to handle editing and adding new users
🔧 fix(applies.css): add missing semicolon to .field-invalid and .label-invalid classes
🔧 fix(styleUtils.ts): import missing Pencil, ChevronsRight, and ChevronsLeft icons
🔨 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
This PR is a code refactoring initiative aiming to improve the
readability and maintainability of our codebase. It specifically targets
generic or non-descriptive variable names, renaming them to more
meaningful names that better express their purpose within the code.
As noted in the
[documentation](https://python.langchain.com/docs/integrations/document_loaders/slack)
for this plugin zip_path is the first named parameter not file_path and
workspace_url is the second with zip_path being required and
workspace_url being optional.
Fixes#695
Signed-off-by: Melvin Hillsman <mhillsma@redhat.com>