Spaces:
Runtime error
Runtime error
import { WEBUI_API_BASE_URL } from '$lib/constants'; | |
import { getUserPosition } from '$lib/utils'; | |
export const getUserPermissions = async (token: string) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/permissions/user`, { | |
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.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res; | |
}; | |
export const updateUserPermissions = async (token: string, permissions: object) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/permissions/user`, { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
Authorization: `Bearer ${token}` | |
}, | |
body: JSON.stringify({ | |
...permissions | |
}) | |
}) | |
.then(async (res) => { | |
if (!res.ok) throw await res.json(); | |
return res.json(); | |
}) | |
.catch((err) => { | |
console.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res; | |
}; | |
export const updateUserRole = async (token: string, id: string, role: string) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/update/role`, { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
Authorization: `Bearer ${token}` | |
}, | |
body: JSON.stringify({ | |
id: id, | |
role: role | |
}) | |
}) | |
.then(async (res) => { | |
if (!res.ok) throw await res.json(); | |
return res.json(); | |
}) | |
.catch((err) => { | |
console.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res; | |
}; | |
export const getUsers = async (token: string) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/`, { | |
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.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res ? res : []; | |
}; | |
export const getUserSettings = async (token: string) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/user/settings`, { | |
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.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res; | |
}; | |
export const updateUserSettings = async (token: string, settings: object) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/user/settings/update`, { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
Authorization: `Bearer ${token}` | |
}, | |
body: JSON.stringify({ | |
...settings | |
}) | |
}) | |
.then(async (res) => { | |
if (!res.ok) throw await res.json(); | |
return res.json(); | |
}) | |
.catch((err) => { | |
console.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
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.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res; | |
}; | |
export const getUserInfo = async (token: string) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/user/info`, { | |
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.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res; | |
}; | |
export const updateUserInfo = async (token: string, info: object) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/user/info/update`, { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
Authorization: `Bearer ${token}` | |
}, | |
body: JSON.stringify({ | |
...info | |
}) | |
}) | |
.then(async (res) => { | |
if (!res.ok) throw await res.json(); | |
return res.json(); | |
}) | |
.catch((err) => { | |
console.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res; | |
}; | |
export const getAndUpdateUserLocation = async (token: string) => { | |
const location = await getUserPosition().catch((err) => { | |
throw err; | |
}); | |
if (location) { | |
await updateUserInfo(token, { location: location }); | |
return location; | |
} else { | |
throw new Error('Failed to get user location'); | |
} | |
}; | |
export const deleteUserById = async (token: string, userId: string) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/${userId}`, { | |
method: 'DELETE', | |
headers: { | |
'Content-Type': 'application/json', | |
Authorization: `Bearer ${token}` | |
} | |
}) | |
.then(async (res) => { | |
if (!res.ok) throw await res.json(); | |
return res.json(); | |
}) | |
.catch((err) => { | |
console.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res; | |
}; | |
type UserUpdateForm = { | |
profile_image_url: string; | |
email: string; | |
name: string; | |
password: string; | |
}; | |
export const updateUserById = async (token: string, userId: string, user: UserUpdateForm) => { | |
let error = null; | |
const res = await fetch(`${WEBUI_API_BASE_URL}/users/${userId}/update`, { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
Authorization: `Bearer ${token}` | |
}, | |
body: JSON.stringify({ | |
profile_image_url: user.profile_image_url, | |
email: user.email, | |
name: user.name, | |
password: user.password !== '' ? user.password : undefined | |
}) | |
}) | |
.then(async (res) => { | |
if (!res.ok) throw await res.json(); | |
return res.json(); | |
}) | |
.catch((err) => { | |
console.log(err); | |
error = err.detail; | |
return null; | |
}); | |
if (error) { | |
throw error; | |
} | |
return res; | |
}; | |