Package Exports
- axe-api-client
- axe-api-client/build/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (axe-api-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Axe API Client
axe-api-client
is a native JavaScript client for Axe API servers.
You can send insert, update, delete, and fetch data from Axe API servers without pain. axe-api-client
has advanced query support with the active record pattern.
Config
import api, { IRequest } from "axe-api-client";
api.setConfig({
baseURL: "https://bookstore.axe-api.com/api/v1",
headers: {},
params: {},
});
api.interceptors.addRequest((request: IRequest) => {
return request;
});
api.interceptors.addResponse((response: Response) => {
// console.log(response);
});
Insert
const response = await api.resource("users").insert({
name: "Karl",
surname: "Popper",
});
Update
const response = await api.resource("users").update({
name: "Karl",
surname: "Popper",
});
Patch
const response = await api.resource("users").patch({
name: "Karl",
surname: "Popper",
});
Delete
const response = await api.resource("users").delete();
Query
import api from "axe-api-client";
const data = await api.resource("users").paginate();
Fields
const response = await api
.resource("users")
.fields("name", "surname", "email")
.paginate();
Sorting
const response = await api
.resource("users")
.fields("name", "surname", "email")
.sort("name")
.sort("surname", "DESC")
.sort("email", "ASC")
.paginate();
Limits
const response = await api.resource("users").paginate({ page: 1, perPage: 25 });
First
const response = await api.resource("users").first();
Where Conditions
const response = await api.resource("users").where("age", 18).paginate();
const response = await api
.resource("users")
.where("age", ">=", 18)
.where("name", "Karl")
.paginate();
const response = await api
.resource("users")
.where("age", ">=", 18)
.orWhere("name", "Karl")
.paginate();
const response = await api
.resource("users")
.where("age", ">=", 18)
.andWhere("name", "Karl")
.paginate();
const response = await api
.resource("users")
.where((query) => {
query.where("name", "Karl").where("surname", "Popper");
})
.orWhere("age", ">=", 18)
.paginate();
const response = await api
.resource("users")
.where("age", "IN", [18, 19, 20])
.paginate();
All the operators should be able to used.
Related Data
const response = await api
.resource("users")
.with("posts{comments{id|content}}")
.paginate();
Quick where functions
We can use the following query where functions:
whereNot("id", 1)
whereLike("name", "*john*")
whereNotLike("name", "*john*")
whereIn("type", [1, 2, 3])
whereNotIn("type", [1, 2, 3])
whereBetween("type", 1, 3)
whereNotBetween("type", 1, 3)
whereNull("age")
whereNotNull("age")