mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2024-11-15 19:00:33 +01:00
194 lines
4.9 KiB
JavaScript
194 lines
4.9 KiB
JavaScript
|
import { API_BASE } from "../utils/constants";
|
||
|
import { baseHeaders } from "../utils/request";
|
||
|
|
||
|
const Admin = {
|
||
|
// User Management
|
||
|
users: async () => {
|
||
|
return await fetch(`${API_BASE}/admin/users`, {
|
||
|
method: "GET",
|
||
|
headers: baseHeaders(),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.then((res) => res?.users || [])
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return [];
|
||
|
});
|
||
|
},
|
||
|
newUser: async (data) => {
|
||
|
return await fetch(`${API_BASE}/admin/users/new`, {
|
||
|
method: "POST",
|
||
|
headers: baseHeaders(),
|
||
|
body: JSON.stringify(data),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { user: null, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
updateUser: async (userId, data) => {
|
||
|
return await fetch(`${API_BASE}/admin/user/${userId}`, {
|
||
|
method: "POST",
|
||
|
headers: baseHeaders(),
|
||
|
body: JSON.stringify(data),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { success: false, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
deleteUser: async (userId) => {
|
||
|
return await fetch(`${API_BASE}/admin/user/${userId}`, {
|
||
|
method: "DELETE",
|
||
|
headers: baseHeaders(),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { success: false, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// Invitations
|
||
|
invites: async () => {
|
||
|
return await fetch(`${API_BASE}/admin/invites`, {
|
||
|
method: "GET",
|
||
|
headers: baseHeaders(),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.then((res) => res?.invites || [])
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return [];
|
||
|
});
|
||
|
},
|
||
|
newInvite: async () => {
|
||
|
return await fetch(`${API_BASE}/admin/invite/new`, {
|
||
|
method: "GET",
|
||
|
headers: baseHeaders(),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { invite: null, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
disableInvite: async (inviteId) => {
|
||
|
return await fetch(`${API_BASE}/admin/invite/${inviteId}`, {
|
||
|
method: "DELETE",
|
||
|
headers: baseHeaders(),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { success: false, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// Workspaces Mgmt
|
||
|
workspaces: async () => {
|
||
|
return await fetch(`${API_BASE}/admin/workspaces`, {
|
||
|
method: "GET",
|
||
|
headers: baseHeaders(),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.then((res) => res?.workspaces || [])
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return [];
|
||
|
});
|
||
|
},
|
||
|
newWorkspace: async (name) => {
|
||
|
return await fetch(`${API_BASE}/admin/workspaces/new`, {
|
||
|
method: "POST",
|
||
|
headers: baseHeaders(),
|
||
|
body: JSON.stringify({ name }),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { workspace: null, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
updateUsersInWorkspace: async (workspaceId, userIds = []) => {
|
||
|
return await fetch(
|
||
|
`${API_BASE}/admin/workspaces/${workspaceId}/update-users`,
|
||
|
{
|
||
|
method: "POST",
|
||
|
headers: baseHeaders(),
|
||
|
body: JSON.stringify({ userIds }),
|
||
|
}
|
||
|
)
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { success: false, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
deleteWorkspace: async (workspaceId) => {
|
||
|
return await fetch(`${API_BASE}/admin/workspaces/${workspaceId}`, {
|
||
|
method: "DELETE",
|
||
|
headers: baseHeaders(),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { success: false, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// Workspace Chats Mgmt
|
||
|
chats: async (offset = 0) => {
|
||
|
return await fetch(`${API_BASE}/admin/workspace-chats`, {
|
||
|
method: "POST",
|
||
|
headers: baseHeaders(),
|
||
|
body: JSON.stringify({ offset }),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return [];
|
||
|
});
|
||
|
},
|
||
|
deleteChat: async (chatId) => {
|
||
|
return await fetch(`${API_BASE}/admin/workspace-chats/${chatId}`, {
|
||
|
method: "DELETE",
|
||
|
headers: baseHeaders(),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { success: false, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// System Preferences
|
||
|
systemPreferences: async () => {
|
||
|
return await fetch(`${API_BASE}/admin/system-preferences`, {
|
||
|
method: "GET",
|
||
|
headers: baseHeaders(),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return null;
|
||
|
});
|
||
|
},
|
||
|
updateSystemPreferences: async (updates = {}) => {
|
||
|
return await fetch(`${API_BASE}/admin/system-preferences`, {
|
||
|
method: "POST",
|
||
|
headers: baseHeaders(),
|
||
|
body: JSON.stringify(updates),
|
||
|
})
|
||
|
.then((res) => res.json())
|
||
|
.catch((e) => {
|
||
|
console.error(e);
|
||
|
return { success: false, error: e.message };
|
||
|
});
|
||
|
},
|
||
|
};
|
||
|
|
||
|
export default Admin;
|