refac
This commit is contained in:
@@ -184,6 +184,9 @@ class UserInfoResponse(UserStatus):
|
|||||||
name: str
|
name: str
|
||||||
email: str
|
email: str
|
||||||
role: str
|
role: str
|
||||||
|
bio: Optional[str] = None
|
||||||
|
groups: Optional[list] = []
|
||||||
|
is_active: bool = False
|
||||||
|
|
||||||
|
|
||||||
class UserIdNameResponse(BaseModel):
|
class UserIdNameResponse(BaseModel):
|
||||||
|
|||||||
@@ -484,7 +484,14 @@ async def get_user_info_by_id(
|
|||||||
):
|
):
|
||||||
user = Users.get_user_by_id(user_id, db=db)
|
user = Users.get_user_by_id(user_id, db=db)
|
||||||
if user:
|
if user:
|
||||||
return user
|
groups = Groups.get_groups_by_member_id(user_id, db=db)
|
||||||
|
return UserInfoResponse(
|
||||||
|
**{
|
||||||
|
**user.model_dump(),
|
||||||
|
"groups": [{"id": group.id, "name": group.name} for group in groups],
|
||||||
|
"is_active": Users.is_user_active(user_id, db=db),
|
||||||
|
}
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=status.HTTP_400_BAD_REQUEST,
|
status_code=status.HTTP_400_BAD_REQUEST,
|
||||||
|
|||||||
@@ -300,32 +300,6 @@ export const updateUserSettings = async (token: string, settings: object) => {
|
|||||||
return res;
|
return res;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getUserById = async (token: string, userId: string) => {
|
|
||||||
let error = null;
|
|
||||||
|
|
||||||
const res = await fetch(`${WEBUI_API_BASE_URL}/users/${userId}`, {
|
|
||||||
method: 'GET',
|
|
||||||
headers: {
|
|
||||||
'Content-Type': 'application/json',
|
|
||||||
Authorization: `Bearer ${token}`
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.then(async (res) => {
|
|
||||||
if (!res.ok) throw await res.json();
|
|
||||||
return res.json();
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.error(err);
|
|
||||||
error = err.detail;
|
|
||||||
return null;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (error) {
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
|
|
||||||
return res;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getUserInfoById = async (token: string, userId: string) => {
|
export const getUserInfoById = async (token: string, userId: string) => {
|
||||||
let error = null;
|
let error = null;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import { LinkPreview } from 'bits-ui';
|
import { LinkPreview } from 'bits-ui';
|
||||||
|
|
||||||
const i18n = getContext('i18n');
|
const i18n = getContext('i18n');
|
||||||
import { getUserById } from '$lib/apis/users';
|
import { getUserInfoById } from '$lib/apis/users';
|
||||||
|
|
||||||
import UserStatus from './UserStatus.svelte';
|
import UserStatus from './UserStatus.svelte';
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
let user = null;
|
let user = null;
|
||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
if (id) {
|
if (id) {
|
||||||
user = await getUserById(localStorage.token, id).catch((error) => {
|
user = await getUserInfoById(localStorage.token, id).catch((error) => {
|
||||||
console.error('Error fetching user by ID:', error);
|
console.error('Error fetching user by ID:', error);
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
const i18n = getContext('i18n');
|
const i18n = getContext('i18n');
|
||||||
|
|
||||||
import { user as _user } from '$lib/stores';
|
import { user as _user } from '$lib/stores';
|
||||||
import { getUserById, searchUsers } from '$lib/apis/users';
|
import { getUserInfoById, searchUsers } from '$lib/apis/users';
|
||||||
import { WEBUI_API_BASE_URL } from '$lib/constants';
|
import { WEBUI_API_BASE_URL } from '$lib/constants';
|
||||||
|
|
||||||
import XMark from '$lib/components/icons/XMark.svelte';
|
import XMark from '$lib/components/icons/XMark.svelte';
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
if (userIds.length > 0) {
|
if (userIds.length > 0) {
|
||||||
userIds.forEach(async (id) => {
|
userIds.forEach(async (id) => {
|
||||||
const res = await getUserById(localStorage.token, id).catch((error) => {
|
const res = await getUserInfoById(localStorage.token, id).catch((error) => {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
import Messages from '$lib/components/chat/Messages.svelte';
|
import Messages from '$lib/components/chat/Messages.svelte';
|
||||||
|
|
||||||
import { getUserById, getUserSettings } from '$lib/apis/users';
|
import { getUserInfoById, getUserSettings } from '$lib/apis/users';
|
||||||
import { getModels } from '$lib/apis';
|
import { getModels } from '$lib/apis';
|
||||||
import { toast } from 'svelte-sonner';
|
import { toast } from 'svelte-sonner';
|
||||||
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (chat) {
|
if (chat) {
|
||||||
user = await getUserById(localStorage.token, chat.user_id).catch((error) => {
|
user = await getUserInfoById(localStorage.token, chat.user_id).catch((error) => {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user