mirror of
https://github.com/rustfs/console.git
synced 2026-09-21 06:06:37 +08:00
76 lines
1.5 KiB
TypeScript
76 lines
1.5 KiB
TypeScript
export const usePolicies = () => {
|
|
const { $api } = useNuxtApp();
|
|
|
|
/**
|
|
* 获取策略列表
|
|
* @returns
|
|
*/
|
|
const ListPolicies = async () => {
|
|
return await $api.get('/policies');
|
|
};
|
|
|
|
/**
|
|
* 添加策略
|
|
* @param data
|
|
* @returns
|
|
*/
|
|
const addPolicy = async (data: any) => {
|
|
return await $api.post('/policies', data);
|
|
};
|
|
|
|
/**
|
|
* 获取策略详情
|
|
* @param policyName
|
|
* @returns
|
|
*/
|
|
const getPolicyInfo = async (policyName: string) => {
|
|
return await $api.get(`/policy/${encodeURIComponent(policyName)}`);
|
|
};
|
|
|
|
/**
|
|
* 获取策略用户列表
|
|
* @param policyName
|
|
* @returns
|
|
*/
|
|
const listUsersForPolicy = async (policyName: string) => {
|
|
return await $api.get(`/policy/${encodeURIComponent(policyName)}/users`);
|
|
};
|
|
|
|
/**
|
|
* 获取策略组列表
|
|
* @param policyName
|
|
* @returns
|
|
*/
|
|
const listGroupsForPolicy = async (policyName: string) => {
|
|
return await $api.get(`/policy/${encodeURIComponent(policyName)}/groups`);
|
|
};
|
|
|
|
/**
|
|
* 删除策略
|
|
* @param policyName
|
|
* @returns
|
|
*/
|
|
const deletePolicy = async (policyName: string) => {
|
|
return await $api.delete(`/policy/${encodeURIComponent(policyName)}`, {});
|
|
};
|
|
|
|
/**
|
|
* 批量设置策略
|
|
* @param data
|
|
* @returns
|
|
*/
|
|
const setPolicyMultiple = async (data: any) => {
|
|
return await $api.put(`/set-policy-multi`, data);
|
|
};
|
|
|
|
return {
|
|
ListPolicies,
|
|
getPolicyInfo,
|
|
addPolicy,
|
|
deletePolicy,
|
|
listUsersForPolicy,
|
|
listGroupsForPolicy,
|
|
setPolicyMultiple,
|
|
};
|
|
};
|