Workerbase SDK for JavaScript
Installing
Install with npm
npm install @workerbase/sdk
Typescript
Workerbase SDK fully supports typescript with .d.ts
files and the types will be maintained in the next releases.
Usage
You can use a default import with typescript
import Workerbase from '@workerbase/sdk';
However we recommend using the following syntax with CommonJS to get the typings for autocomplete.
const { Workerbase } = require('@workerbase/sdk');
Authentication setup
You can configure the Workerbase SDK authentication options wiht the auth
mehtod:
Workerbase.auth({
url: 'https://myWorkerbaseDomain.workerbase.io',
token: TOKEN,
});
However if you are using the Workerbase SDK directly in a Workerbase Function, you don't need to use the auth
method as the SDK will use directly environment variables within the Workerbase Function.
Example
const { Workerbase } = require('@workerbase/sdk');
const updateUserName = async (userId) => {
const { firstName } = await Workerbase.users.get(userId);
await Workerbase.users.update(userId, { firstName: firstName + "v2" });
};
const createDbAndInsertItems = async () => {
const database = await Workerbase.databases.create({
name: "test",
columns: [
{ name: "field1", type: "String" },
{ name: "value", type: "Integer" },
],
});
await database.items.create({ field1: "abc" }, "item1");
await database.items.update("item1", { payload: { value: "5" } });
await database.items.create({ field1: "abcd" }, "item2");
await database.items.delete("item2");
};
};
Methods
Users
Workerbase.users.list([listConfig])
Workerbase.users.get(id)
Workerbase.users.create(value)
Workerbase.users.update(id,value)
Workerbase.users.delete(id)
Roles
Workerbase.roles.list([listConfig])
Workerbase.roles.get(id)
Workerbase.roles.create(value)
Workerbase.roles.update(id,value)
Workerbase.roles.delete(id)
Skills
Workerbase.skills.list([listConfig])
Workerbase.skills.get(id)
Workerbase.skills.create(value)
Workerbase.skills.update(id,value)
Workerbase.skills.delete(id)
Databases
Workerbase.databases.list([listConfig])
Workerbase.databases.get(id)
Workerbase.databases.create(value)
Workerbase.databases.update(id,value)
Workerbase.databases.delete(id)
Database Items
Database.items.list([listConfig])
Database.items.get(id)
Database.items.create(value[,externalId])
Database.items.createMany(values)
Database.items.update(id,value)
Database.items.delete(id)
List Config
interface ListConfig {
page?: number;
perpage?: number;
sort?: string;
order?: 'desc' | 'asc';
fields?: string;
}