@nitin15j/plugin-dora-frontend
Version:
Welcome to the dora-frontend plugin!
42 lines (39 loc) • 1.23 kB
JavaScript
import { useState, useEffect } from 'react';
import { useApi } from '@backstage/core-plugin-api';
import { catalogApiRef } from '@backstage/plugin-catalog-react';
function useUserTeams() {
const catalogApi = useApi(catalogApiRef);
const [teams, setTeams] = useState([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
const fetchUserTeams = async () => {
try {
setLoading(true);
const userEntities = await catalogApi.getEntitiesByRefs({ entityRefs: ["user:default/user1"] });
const userEntity = userEntities.items[0];
if (!userEntity) {
throw new Error("No user entity found");
}
let userTeams = [];
if (userEntity?.spec?.memberOf) {
userTeams = [...userEntity.spec.memberOf];
}
setTeams(userTeams);
setError(null);
} catch (err) {
setError(err instanceof Error ? err.message : "Failed to fetch user teams");
} finally {
setLoading(false);
}
};
fetchUserTeams();
}, [catalogApi]);
return {
teams,
loading,
error
};
}
export { useUserTeams };
//# sourceMappingURL=useUserTeams.esm.js.map