diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2023-01-29 19:28:48 -0500 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2023-01-29 19:28:48 -0500 |
commit | ac58a612a3fe928793b77c592551fdd962b69064 (patch) | |
tree | c746d9325a88447e3149891a2435bcb1f3ece67a /public/js | |
parent | no mass rerendering html plus logging fix (diff) | |
download | xssbook-ac58a612a3fe928793b77c592551fdd962b69064.tar.gz xssbook-ac58a612a3fe928793b77c592551fdd962b69064.tar.bz2 xssbook-ac58a612a3fe928793b77c592551fdd962b69064.zip |
admin page
Diffstat (limited to 'public/js')
-rw-r--r-- | public/js/admin.js | 59 | ||||
-rw-r--r-- | public/js/api.js | 24 |
2 files changed, 83 insertions, 0 deletions
diff --git a/public/js/admin.js b/public/js/admin.js new file mode 100644 index 0000000..e4364ec --- /dev/null +++ b/public/js/admin.js @@ -0,0 +1,59 @@ +async function auth(event) { + event.preventDefault(); + const text = event.target.elements.adminpassword.value; + const response = await adminauth(text); + if (response.status !== 200) { + alert(response.msg) + } else { + document.getElementById("admin").classList.remove("hidden") + document.getElementById("login").classList.add("hidden") + } + return false; +} + +async function submit() { + let text = document.getElementById("query").value + let response = await adminquery(text) + alert(response.msg) +} + +async function posts() { + let response = await adminposts(); + if (response.status !== 200) { + alert(response.msg) + return + } + let table = document.getElementById("table") + table.innerHTML = response.msg +} + +async function users() { + let response = await adminusers(); + if (response.status !== 200) { + alert(response.msg) + return + } + let table = document.getElementById("table") + table.innerHTML = response.msg +} + +async function sessions() { + let response = await adminsessions(); + if (response.status !== 200) { + alert(response.msg) + return + } + let table = document.getElementById("table") + table.innerHTML = response.msg +} + +async function load() { + let check = await admincheck(); + if (check.msg === "true") { + document.getElementById("admin").classList.remove("hidden") + } else { + document.getElementById("login").classList.remove("hidden") + } +} + +load()
\ No newline at end of file diff --git a/public/js/api.js b/public/js/api.js index 77adff7..9845be5 100644 --- a/public/js/api.js +++ b/public/js/api.js @@ -64,4 +64,28 @@ const postlike = async (post_id, state) => { const createpost = async (content) => { return await request('/posts/create', {content}) +} + +const adminauth = async (secret) => { + return await request('/admin/auth', {secret}) +} + +const admincheck = async () => { + return await request('/admin/check', {}) +} + +const adminquery = async (query) => { + return await request('/admin/query', {query}) +} + +const adminposts = async () => { + return await request('/admin/posts', {}) +} + +const adminusers = async () => { + return await request('/admin/users', {}) +} + +const adminsessions = async () => { + return await request('/admin/sessions', {}) }
\ No newline at end of file |