mirror of
https://github.com/rustfs/console.git
synced 2026-08-30 17:14:47 +08:00
c019276fcb
Signed-off-by: junxiang Mu <1948535941@qq.com>
92 lines
2.4 KiB
TypeScript
92 lines
2.4 KiB
TypeScript
export const useUsers = () => {
|
|
const { $api } = useNuxtApp();
|
|
|
|
/**
|
|
* List all users
|
|
*
|
|
* @returns
|
|
*/
|
|
const listUsers = async () => {
|
|
return await $api.get('/list-users');
|
|
};
|
|
|
|
const createUser = async (data: any) => {
|
|
const { accessKey } = data;
|
|
delete data.accessKey;
|
|
return await $api.put('/add-user' + `?accessKey=${encodeURIComponent(accessKey)}`, data);
|
|
};
|
|
|
|
const getUser = async (name: string) => {
|
|
return await $api.get(`/user-info?accessKey=${encodeURIComponent(name)}`);
|
|
};
|
|
|
|
const updateUser = async (name: string, data: any) => {
|
|
return await $api.put(`/user/${encodeURIComponent(name)}`, data);
|
|
};
|
|
|
|
/**
|
|
* 修改用户状态
|
|
* @param name
|
|
* @param data
|
|
* @returns
|
|
*/
|
|
const changeUserStatus = async (name: string, data: any) => {
|
|
return await $api.put(`/set-user-status?accessKey=${encodeURIComponent(name)}&status=${data.status}`, data);
|
|
};
|
|
|
|
const deleteUser = async (name: string) => {
|
|
return await $api.delete(`/remove-user?accessKey=${encodeURIComponent(name)}`, {});
|
|
};
|
|
|
|
const updateUserGroups = async (name: string, data: any) => {
|
|
return await $api.put(`/user/${encodeURIComponent(name)}/groups`, data);
|
|
};
|
|
|
|
const getUserPolicy = async () => {
|
|
return await $api.get(`/user/policy`);
|
|
};
|
|
|
|
const getSaUserPolicy = async (name: string) => {
|
|
return await $api.get(`/user/${encodeURIComponent(name)}/policies`);
|
|
};
|
|
|
|
/**
|
|
data{
|
|
name: string[]; //policy name
|
|
entityType: PolicyEntity; //user or group
|
|
entityName: string; //user name or group name
|
|
}
|
|
* @returns
|
|
*/
|
|
const setPolicy = async (data: any) => {
|
|
return await $api.put(`/set-policy`, data);
|
|
};
|
|
const listAllUserServiceAccounts = async (name: string) => {
|
|
return await $api.get(`/user/${encodeURIComponent(name)}/service-accounts`);
|
|
};
|
|
|
|
const createAUserServiceAccount = async (name: string, data: any) => {
|
|
return await $api.post(`/user/${encodeURIComponent(name)}/service-accounts`, data);
|
|
};
|
|
|
|
const createServiceAccountCredentials = async (name: string, data: any) => {
|
|
return await $api.post(`/user/${encodeURIComponent(name)}/service-account-credentials`, data);
|
|
};
|
|
|
|
return {
|
|
listUsers,
|
|
createUser,
|
|
getUser,
|
|
deleteUser,
|
|
changeUserStatus,
|
|
updateUser,
|
|
updateUserGroups,
|
|
getUserPolicy,
|
|
setPolicy,
|
|
getSaUserPolicy,
|
|
listAllUserServiceAccounts,
|
|
createAUserServiceAccount,
|
|
createServiceAccountCredentials,
|
|
};
|
|
};
|