1.0.3 • Published 20 days ago

axe-api-client v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
20 days ago

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")

License

MIT License

1.0.3-beta-1

20 days ago

1.0.3-beta-3

20 days ago

1.0.3-beta-2

20 days ago

1.0.3-beta-4

20 days ago

1.0.3

20 days ago

1.0.2

3 months ago

1.0.1

5 months ago

1.0.0

5 months ago

0.1.1

5 months ago

0.1.0

10 months ago