Files
FastGPT/packages/service/core/dataset/utils.ts
2025-08-14 15:59:59 +08:00

31 lines
805 B
TypeScript

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]);
};