121 lines
3.9 KiB
HTML
121 lines
3.9 KiB
HTML
<h1><a href="/api/foorum">/api/foorum</a></h1>
|
|
<br/>
|
|
<button onclick="getForum(prompt('ForumId: ', '1'))">GetForum</button>
|
|
<button onclick="getForums()">GetAllForums</button>
|
|
<button onclick="addForum(prompt('Title: ', 'Uus foorum'), 'kirjeldus', 'Äge body', prompt('Author:', 'Javascript'))">AddForum</button>
|
|
<button onclick="changeForumTitle(prompt('ForumId: ', '1'), prompt('ForumTitle: ', 'Muudetud'))">ChangeForumTitle</button>
|
|
<br/>
|
|
<button onclick="deleteForum(prompt('ForumId: ', '1'), true)">DeleteForum</button>
|
|
<button onclick="deleteForum(prompt('ForumId: ', '1'), false)">HideForum</button>
|
|
<br/>
|
|
<button onclick="searchForum('author', prompt('Author: ', 'veeb'))">SearchForumAuthor</button>
|
|
<button onclick="searchForum('title', prompt('Title: ', 'test'))">SearchForumTitle</button>
|
|
<button onclick="searchForum('authorPosts', prompt('Author: ', 'test'))">SearchAuthorPosts</button>
|
|
|
|
<br/>
|
|
<button onclick="addPost(prompt('ForumId', '1'), prompt('Title:', 'Best title'), prompt('Body', 'Lahe post'), prompt('Author', 'Ajax'))">AddPost</button>
|
|
|
|
<code><pre id="output"></pre></code>
|
|
|
|
<script>
|
|
var out = document.getElementById("output");
|
|
|
|
function getForum(id) {
|
|
fetch("/api/foorum/"+id).then(resp => {
|
|
return resp.json();
|
|
}).then(data => {
|
|
console.log(data);
|
|
out.innerText = JSON.stringify(data, null, 2);
|
|
});
|
|
}
|
|
|
|
function getForums() {
|
|
fetch("/api/foorum").then(resp => {
|
|
return resp.json();
|
|
}).then(data => {
|
|
console.log(data);
|
|
out.innerText = JSON.stringify(data, null, 2);
|
|
});
|
|
}
|
|
|
|
function addForum(title, description, body, author) {
|
|
if (title == null) throw new Error("title unset");
|
|
if (description == null) throw new Error("description unset");
|
|
if (body == null) throw new Error("body unset");
|
|
if (author == null) throw new Error("author unset");
|
|
|
|
var dto = {
|
|
Author: author,
|
|
Body: body,
|
|
Description: description,
|
|
Title: title
|
|
}
|
|
fetch("/api/foorum",
|
|
{
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(dto)
|
|
}).then(resp => getForums());
|
|
}
|
|
|
|
function changeForumTitle(id, title) {
|
|
var dto = {
|
|
Title: title
|
|
}
|
|
fetch("/api/foorum/"+id,
|
|
{
|
|
method: 'PUT',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(dto)
|
|
});
|
|
}
|
|
|
|
function deleteForum(id, permanent) {
|
|
if (id == null) throw new Error("Forum id is unset");
|
|
|
|
var q = "";
|
|
if (permanent) {
|
|
q = "?permanent=true";
|
|
}
|
|
|
|
fetch("/api/foorum/" + id + q, { method: 'DELETE' })
|
|
.then(resp => getForums());
|
|
}
|
|
|
|
function searchForum(what, author) {
|
|
fetch("/api/search?"+what+"="+author).then(resp => {
|
|
return resp.json();
|
|
}).then(data => {
|
|
console.log(data);
|
|
out.innerText = JSON.stringify(data, null, 2);
|
|
});
|
|
}
|
|
|
|
function addPost(id, title, body, author) {
|
|
if (id == null) throw new Error("forum id is unset");
|
|
if (title == null) throw new Error("title is unset");
|
|
if (body == null) throw new Error("body is unset");
|
|
if (author == null) throw new Error("author is unset");
|
|
|
|
var dto = {
|
|
Author: author,
|
|
Body: body,
|
|
Title: title
|
|
}
|
|
|
|
fetch("/api/foorum/"+id,
|
|
{
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(dto)
|
|
}).then(resp => getForum(id));
|
|
}
|
|
|
|
getForums();
|
|
</script> |