mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-20 10:20:15 +01:00
* WIP: end session endpoint * refactor: move useGetBannerQuery outside of package * refactor: add queriesEnabled and move useGetEndpointsConfigQuery to data-provider (local) * refactor: move useGetEndpointsQuery import to data-provider * refactor: relocate useGetEndpointsQuery import to improve module organization * refactor: move `useGetStartupConfig` from package to `~/data-provider` * refactor: move useGetUserBalance to data-provider and update imports * refactor: update query enabled conditions to include config check * refactor: remove unused useConfigOverride import from useAppStartup * refactor: integrate queriesEnabled state into file and search queries and move useGetSearchEnabledQuery to data-provider (local) * refactor: move useGetUserQuery to data-provider and update imports * refactor: enhance loginUser mutation with success and error handling as pass in options to hook * refactor: update enabled condition in queries to handle undefined config * refactor: enhance authentication mutations with queriesEnabled state management * refactor: improve conditional rendering for error messages and feature flags in Login component * refactor: remove unused queriesEnabled state from AuthContextProvider * refactor: implement queriesEnabled state management in LoginLayout with timeout handling * refactor: add conditional check for end session endpoint in OpenID strategy * ci: fix tests after changes * refactor: remove endSessionEndpoint from user schema and update logoutController to use OpenID issuer's end_session_endpoint * refactor: update logoutController to use end_session_endpoint from issuer metadata
19 lines
688 B
TypeScript
19 lines
688 B
TypeScript
import { useChatContext } from '~/Providers/ChatContext';
|
|
import { useGetEndpointsQuery } from '~/data-provider';
|
|
import { getEndpointField } from '~/utils';
|
|
import useUserKey from './useUserKey';
|
|
|
|
export default function useRequiresKey() {
|
|
const { conversation } = useChatContext();
|
|
const { data: endpointsConfig } = useGetEndpointsQuery();
|
|
const { endpoint } = conversation || {};
|
|
const userProvidesKey: boolean | null | undefined = getEndpointField(
|
|
endpointsConfig,
|
|
endpoint,
|
|
'userProvide',
|
|
);
|
|
const { getExpiry } = useUserKey(endpoint ?? '');
|
|
const expiryTime = getExpiry();
|
|
const requiresKey = !expiryTime && userProvidesKey;
|
|
return { requiresKey };
|
|
}
|