2025-01-29 20:42:01 -05:00
|
|
|
import { useEffect, useState } from 'react';
|
2025-04-16 16:55:38 -07:00
|
|
|
|
|
|
|
|
import { useGetEntitiesQuery } from '@graphql/entity.generated';
|
|
|
|
|
import { Entity } from '@types';
|
2025-01-29 20:42:01 -05:00
|
|
|
|
|
|
|
|
export function useGetEntities(urns: string[]): Entity[] {
|
|
|
|
|
const [verifiedUrns, setVerifiedUrns] = useState<string[]>([]);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
urns.forEach((urn) => {
|
|
|
|
|
if (urn.startsWith('urn:li:') && !verifiedUrns.includes(urn)) {
|
|
|
|
|
setVerifiedUrns((prevUrns) => [...prevUrns, urn]);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}, [urns, verifiedUrns]);
|
|
|
|
|
|
|
|
|
|
const { data } = useGetEntitiesQuery({ variables: { urns: verifiedUrns }, skip: !verifiedUrns.length });
|
|
|
|
|
return (data?.entities || []) as Entity[];
|
|
|
|
|
}
|