Files
auth_service/src/web/js/change_user.js
T
wt 3a1f97e078
Prepare Build and Testing executable binary / Prepare-Build-Testing-With-Make (push) Has been cancelled
Prepare Build and Testing executable binary / Prepare-Build-Testing-With-CMake (push) Has been cancelled
Prepare Build and Testing executable binary / Prepare-Build-Testing-With-Meson (push) Has been cancelled
adde bootstrap
2025-04-23 12:23:34 +07:00

57 lines
2.3 KiB
JavaScript

const changeuserform = document.querySelector('.changeuserform')
const changeuserformbody = document.querySelector('.changeuserformbody')
const changeuserformusername = document.querySelector('#changeuserformusername')
const changeuserformpassword = document.querySelector('#changeuserformpassword')
const changeuserformgroup = document.querySelector('#changeuserformgroup')
const changeuserformissuperuser = document.querySelector('#changeuserformissuperuser')
const cancelchangeuser = document.querySelector("#cancelchangeuser")
let changedatauserid = "";
let userdata = "";
const change_user_data = async (userid) => {
changeuserform.classList.add('active')
changedatauserid = userid
const all_users = await fetch(routes.all_users(), {
method: 'POST',
body: `{"token":"${localStorage.getItem('token')}"}`
}).then(data => data.json()).then(jsondata => jsondata).catch((error) => {
notification(`Ошибка на сервере: ${error}`, "error")
})
userdata = all_users.find(usr => usr.id === userid)
changeuserformusername.value = userdata.username
changeuserformgroup.value = userdata.group
changeuserformissuperuser.checked = userdata.is_superuser === "1"
}
cancelchangeuser.addEventListener('click', (e) => {
e.preventDefault()
changeuserform.classList.remove('active')
})
changeuserformbody.addEventListener('submit', async (e) => {
e.preventDefault()
let request = {
token: localStorage.getItem('token'),
userid: changedatauserid,
username: changeuserformusername.value,
is_superuser: changeuserformissuperuser.checked ? "1" : "0",
group: changeuserformgroup.value
};
if (changeuserformpassword.value !== "") {
const hashedpassword = await hashPassword(changeuserformpassword.value)
request = {...request, "password": hashedpassword}
}
const status = await fetch(routes.change_user(), {
method: 'POST',
body: JSON.stringify(request)
}).then(data => data.json()).then(jsondata => jsondata).catch((error) => {
notification(`Ошибка на сервере: ${error}`, "error")
})
if (status.status === "ok") {
notification("Данные пользователя успешно изменены", "success")
changeuserform.classList.remove('active')
await get_all_users()
}
})