BubbleFetcher is a library designed to simplify communication with Bubble.io, a no-code tool.
With BubbleFetcher, developers can easily integrate Bubble applications with their own stack and accelerate the development process.
BubbleFetcher provides a wrapper over the Bubble API, providing easy-to-use methods for common tasks such as CRUD operations, authentication, and accessing data.
Install bubbleFetcher with NPM or Yarn
npm i bubblefetcher
or
yarn add bubblefetcher
- Import bubbleFetcher
import { bubbleFetcher } from "bubblefetcher";
- Configure variables
bubbleFetcher.init({
apiKey : "your-bubble-api-key",
domain : "your-bubble-domain",
isDev : true || false
})
Example
const BUBBLE_API_KEY = process.env.BUBBLE_API_KEY
bubbleFetcher.init({
apiKey : BUBBLE_API_KEY,
domain : "edu.todomall.kr",
isDev : process.env.NODE_ENV === "development"
})
- Request
-
// getAll const users = await bubbleFetcher.get("/user") // getAllWithSort const users = await bubbleFetcher.get("/user", { sortOption: { sort_field: "name_text", descending: true || false, }, }); // getAllWithConstarint const users = await bubbleFetcher.get("/user", { constraints: { key: "name_text", constraint_type: "equals", value: "target value", }, }); // getAllWithPage const users = await bubbleFetcher.get("/user", { pageOption: { cursor: 0, limit: 10, }, }) // get with Sort and Constarint and Page const users = await bubbleFetcher.get("/user", { sortOption: { sort_field: "name_text", descending: true || false, }, constraints: { key: "name_text", constraint_type: "equals", value: "target value", }, pageOption: { cursor: 0, limit: 10, }, });
-
await bubbleFetcher.post("/user" , { body :{ name_text : "Sangkun-svg", age_number: 23 } });
-
await bubbleFetcher.put("/user" , { body :{ name_text : "Sangkun-svg", age_number: 23 } }); await bubbleFetcher.patch("/user" , { body :{ name_text : "Sangkun-svg", age_number: 23 } });
-
await bubbleFetcher.delete("/user/${UID}")
This project is used by the following companies:
Contributions are always welcome!