mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-16 16:04:34 +00:00
31 lines
805 B
TypeScript
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]);
|
|
};
|