Initial content
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
import { input } from "@inquirer/prompts";
|
||||
|
||||
const baseUrl = "http://localhost:5000";
|
||||
|
||||
export const ops = {
|
||||
|
||||
"Get All": () => sendRequest("GET", "/api/results"),
|
||||
|
||||
"Get Name": async () => {
|
||||
const name = await input({ message: "Name?"});
|
||||
await sendRequest("GET", `/api/results?name=${name}`);
|
||||
},
|
||||
|
||||
"Get ID": async () => {
|
||||
const id = await input({ message: "ID?"});
|
||||
await sendRequest("GET", `/api/results/${id}`);
|
||||
},
|
||||
|
||||
"Store": async () => {
|
||||
const values = {
|
||||
name: await input({message: "Name?"}),
|
||||
age: await input({message: "Age?"}),
|
||||
years: await input({message: "Years?"})
|
||||
};
|
||||
await sendRequest("POST", "/api/results", values);
|
||||
},
|
||||
|
||||
"Delete": async () => {
|
||||
const id = await input({ message: "ID?"});
|
||||
await sendRequest("DELETE", `/api/results/${id}`);
|
||||
},
|
||||
|
||||
"Replace": async () => {
|
||||
const id = await input({ message: "ID?"});
|
||||
const values = {
|
||||
name: await input({message: "Name?"}),
|
||||
age: await input({message: "Age?"}),
|
||||
years: await input({message: "Years?"}),
|
||||
nextage: await input({message: "Next Age?"})
|
||||
};
|
||||
await sendRequest("PUT", `/api/results/${id}`, values);
|
||||
},
|
||||
|
||||
"Modify": async () => {
|
||||
const id = await input({ message: "ID?"});
|
||||
const values = {
|
||||
name: await input({message: "Name?"}),
|
||||
age: await input({message: "Age?"}),
|
||||
years: await input({message: "Years?"}),
|
||||
nextage: await input({message: "Next Age?"})
|
||||
};
|
||||
await sendRequest("PATCH", `/api/results/${id}`,
|
||||
Object.entries(values).filter(([p, v]) => v !== "")
|
||||
.map(([p, v]) => ({ op: "replace", path: "/" + p, value: v})),
|
||||
"application/json-patch+json");
|
||||
},
|
||||
|
||||
"Exit": () => process.exit()
|
||||
}
|
||||
|
||||
const sendRequest = async (method, url, body, contentType) => {
|
||||
const response = await fetch(baseUrl + url, {
|
||||
method, headers: { "Content-Type": contentType ?? "application/json"},
|
||||
body: JSON.stringify(body)
|
||||
});
|
||||
if (response.status == 200) {
|
||||
const data = await response.json();
|
||||
(Array.isArray(data) ? data : [data])
|
||||
.forEach(elem => console.log(JSON.stringify(elem)));
|
||||
} else {
|
||||
console.log(response.status + " " + response.statusText);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user