@roadiehq/backstage-plugin-jira
Version:
32 lines (29 loc) • 925 B
JavaScript
import { useCallback, useEffect } from 'react';
import { useApi } from '@backstage/core-plugin-api';
import { useAsyncFn } from 'react-use';
import { handleError } from './utils.esm.js';
import { jiraApiRef } from '../api/index.esm.js';
const useUserInfo = (userId) => {
const api = useApi(jiraApiRef);
const getUserDetails = useCallback(async () => {
try {
setTimeout(() => document.activeElement.blur(), 0);
return await api.getUserDetails(userId);
} catch (err) {
return handleError(err);
}
}, [api, userId]);
const [state, fetchUserInfo] = useAsyncFn(() => getUserDetails(), [userId]);
useEffect(() => {
fetchUserInfo();
}, [userId, fetchUserInfo]);
return {
loading: state.loading,
error: state.error,
user: state?.value?.user,
tickets: state?.value?.tickets,
fetchUserInfo
};
};
export { useUserInfo };
//# sourceMappingURL=useUserInfo.esm.js.map