import { authDatasetByTmbId } from '../../support/permission/dataset/auth'; import { ReadPermissionVal } from '@fastgpt/global/support/permission/constant'; // TODO: 需要优化成批量获取权限 export const filterDatasetsByTmbId = async ({ datasetIds, tmbId }: { datasetIds: string[]; tmbId: string; }) => { const permissions = await Promise.all( datasetIds.map(async (datasetId) => { try { await authDatasetByTmbId({ tmbId, datasetId, per: ReadPermissionVal }); return true; } catch (error) { console.log(`Dataset ${datasetId} access denied:`, error); return false; } }) ); // Then filter datasetIds based on permissions return datasetIds.filter((_, index) => permissions[index]); };