Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 44x | import { Dispatch, SetStateAction } from "react";
import type { Model, Policy } from "../types/shared";
type Options = {
models: Model[];
id: string | undefined;
setPolicies: Dispatch<SetStateAction<Policy[]>>;
signal?: AbortSignal;
setEnableTableActions?: Dispatch<SetStateAction<boolean>>;
};
const getPolicies = async ({
models,
id,
setPolicies,
signal,
setEnableTableActions,
}: Options) => {
const data = await Promise.all(
models.map((model) => {
return fetch(`/api/store/${id}/models/${model.name}/policies`, {
signal,
});
}),
);
const allPolicies = await Promise.all(
data.map(async (res) => {
if (!res.ok) {
return [];
}
const policies = await res.json();
if (!policies.success) {
return [];
}
return policies.data;
}),
);
setPolicies(allPolicies.flat());
if (setEnableTableActions) {
setEnableTableActions(true);
}
};
export default getPolicies;
|