mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-16 12:37:20 +00:00
110 lines
2.7 KiB
Plaintext
110 lines
2.7 KiB
Plaintext
---
|
|
title: 'SDK (TypeScript)'
|
|
description: 'Use the bknd SDK in TypeScript'
|
|
---
|
|
|
|
To start using the bknd API, start by creating a new API instance:
|
|
```ts
|
|
import { Api } from "bknd";
|
|
|
|
const api = new Api({
|
|
host: "..." // point to your bknd instance
|
|
});
|
|
|
|
// make sure to verify auth
|
|
await api.verifyAuth();
|
|
```
|
|
|
|
The `Api` class is the main entry point for interacting with the bknd API. It provides methods
|
|
for all available modules described below.
|
|
|
|
## Data (`api.data`)
|
|
Access the `Data` specific API methods at `api.data`.
|
|
|
|
### `data.readMany([entity], [query])`
|
|
To retrieve a list of records from an entity, use the `readMany` method:
|
|
```ts
|
|
const { data } = await api.data.readMany("posts");
|
|
```
|
|
|
|
You can also add additional query instructions:
|
|
```ts
|
|
const { data } = await api.data.readMany("posts", {
|
|
limit: 10,
|
|
offset: 0,
|
|
select: ["id", "title", "views"],
|
|
with: ["comments"],
|
|
where: {
|
|
title: "Hello, World!",
|
|
views: {
|
|
$gt: 100
|
|
}
|
|
},
|
|
sort: { by: "views", order: "desc" }
|
|
});
|
|
```
|
|
The `with` property automatically adds the related entries to the response.
|
|
|
|
### `data.readOne([entity], [id])`
|
|
To retrieve a single record from an entity, use the `readOne` method:
|
|
```ts
|
|
const { data } = await api.data.readOne("posts", 1);
|
|
```
|
|
|
|
### `data.createOne([entity], [data])`
|
|
To create a single record of an entity, use the `createOne` method:
|
|
```ts
|
|
const { data } = await api.data.createOne("posts", {
|
|
title: "Hello, World!",
|
|
content: "This is a test post.",
|
|
views: 0
|
|
});
|
|
```
|
|
|
|
### `data.updateOne([entity], [id], [data])`
|
|
To update a single record of an entity, use the `updateOne` method:
|
|
```ts
|
|
const { data } = await api.data.updateOne("posts", 1, {
|
|
views: 1
|
|
});
|
|
```
|
|
|
|
### `data.deleteOne([entity], [id])`
|
|
To delete a single record of an entity, use the `deleteOne` method:
|
|
```ts
|
|
const { data } = await api.data.deleteOne("posts", 1);
|
|
```
|
|
|
|
## Auth (`api.auth`)
|
|
Access the `Auth` specific API methods at `api.auth`. If there is successful authentication, the
|
|
API will automatically save the token and use it for subsequent requests.
|
|
|
|
### `auth.loginWithPassword([input])`
|
|
To log in with a password, use the `loginWithPassword` method:
|
|
```ts
|
|
const { data } = await api.auth.loginWithPassword({
|
|
email: "...",
|
|
password: "..."
|
|
});
|
|
```
|
|
|
|
### `auth.registerWithPassword([input])`
|
|
To register with a password, use the `registerWithPassword` method:
|
|
```ts
|
|
const { data } = await api.auth.registerWithPassword({
|
|
email: "...",
|
|
password: "..."
|
|
});
|
|
```
|
|
|
|
### `auth.me()`
|
|
To retrieve the current user, use the `me` method:
|
|
```ts
|
|
const { data } = await api.auth.me();
|
|
```
|
|
|
|
### `auth.strategies()`
|
|
To retrieve the available authentication strategies, use the `strategies` method:
|
|
```ts
|
|
const { data } = await api.auth.strategies();
|
|
``` |