-
"Ok", 200
- resultado bem sucedido
- obs.: pode ser retornado "Ok" ou o conteudo pedido
-
"Unauthorized", 401
- o usuario não está cadastrado no sistema
-
"Forbidden", 403
- o methodo utilizado não é permitido
-
"Not Acceptable", 406
-
"Conflict", 409
-
relacionados aos usuarios
// modelo de usuario user = { books_ids: [], email: "email@email.com", id: 0, is_admin: true | false, name: "username", password: "****", };
- login
// para usuario e admin async function(){ const data = new FormData(); data.append("email", email); data.append("password", password); // configurações do post via fetch const options = { method: "POST", body: data, }; result = await fetch(`${ApiUrl}/login`, options); // retornos: // "Ok", 200 // "Unauthorized", 401 /*<...>*/ }
- logout
// para usuario e admin async function(){ result = await fetch(`${ApiUrl}/logout`); // retornos: // "Ok", 200 // "Unauthorized", 401 /*<...>*/ }
- cadastrar usuario
// somente para admin async function(){ const data = new FormData(); data.append("email", email); data.append("name", name); data.append("password", password); data.append("is_admin", is_admin); // configurações do post via fetch const options = { method: "POST", body: data, }; result = await fetch(`${ApiUrl}/login`, options); // retornos: // "Ok", 200 // "Unauthorized", 401 // "Forbidden", 403 // "Not Acceptable", 406 // "Conflict", 409 /*<...>*/ }
- consultar usuarios
// somente para admin async function(){ result = await fetch(`${ApiUrl}/users`); // [user,...], 200 // "Unauthorized", 401 // "Forbidden", 403 /*<...>*/ }
- consultar um unico usuario
// somente para admin async function(){ result = await fetch(`${ApiUrl}/user/${id}`); // user, 200 // "Unauthorized", 401 // "Forbidden", 403 /*<...>*/ }
- consultar as proprias informações
// para usuario e admin async function(){ result = await fetch(`${ApiUrl}/info/${id}`); // "Ok", 200 // "Unauthorized", 401 /*<...>*/ }
-
relacionados aos livros
// modelo de um livro book = { author: "name", file: ... // arquivo de imagem // link da imagem é : {api}/img/<isbn10>.<ext> // ALLOWED_EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif'] cover: "", // link da 'capa' caso nâo envie o arquivo edition: "2020", isbn10: "a1b2c3d4", obs: "", // 'observação' opcional on_loan: true | false, // em emprestimo sub_title: "1234", title: "abcd", year: "2021" },
- consultar livros
// para usuario e admin async function(){ result = await fetch(`${ApiUrl}/books`); // [book,...], 200 // "Unauthorized", 401 /*<...>*/ }
- consultar um unico livro
// para usuario e admin async function(){ result = await fetch(`${ApiUrl}/book/${isbn10}`); // book, 200 // "Unauthorized", 401 /*<...>*/ }
- emprestimo
// para usuario e admin async function(){ const data = new FormData(); data.append("isbn10", isbn10); // configurações do post via fetch const options = { method: "POST", body: data, }; result = await fetch(`${ApiUrl}/book/lending/${isbn10}`); // "Ok", 200 // "Unauthorized", 401 // "Conflict", 409 /*<...>*/ }
- adicionar livro
// somente para admin async function(){ const data = new FormData(); data.append("isbn10", isbn10); data.append("title", title); data.append("cover", cover); // 'capa' se for opcional, cover="" data.append("sub_title", subTitle); data.append("obs", obs); // se for opcional, obs="" data.append("author", author); data.append("edition", edition); data.append("year", year); // configurações do post via fetch const options = { method: "POST", body: data, }; result = await fetch(`${ApiUrl}/login`, options); // "Ok", 200 // "Unauthorized", 401 // "Forbidden", 403 // "Conflict", 409 /*<...>*/ }
- editar livro
// somente para admin async function(){ const data = new FormData(); /* // igual ao adicionar, só que todas os campos são opcionais */ // configurações do post via fetch const options = { method: "POST", body: data, }; result = await fetch(`${ApiUrl}/login`, options); // "Ok", 200 // "Unauthorized", 401 // "Forbidden", 403 // "Conflict", 409 /*<...>*/ }