retablejs v1.0.0
ℹ️ Introduction
Official Node client for Retable API v1.
Note
For the API documentation, please visit API Document.
🚧Development Guide
To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer.
For building the package, from your command line:
# Clone this repository
$ git clone https://github.com/retable-io/retablejs
# Go into the repository
$ cd retablejs
# Install dependencies
$ npm install
# Build the package
$ npm run buildFor testing, from your command line:
# Go into the repository $ cd retablejs # Run the test script $ npm run test
💾Installation
npm install retablejs⚡Client Usage
Authorization
Warning
Your API requests are authenticated using API keys. Any request that doesn't include an API key will return an error. You can generate an API Key from your User page at any time on Retable.io. This generated API Key is constant, when it is generated it never changes or is deleted. Though you can change its usable state on the same page. After obtaining your API Key (starts with RTBL-v1 prefix) you have to provide an apiKey header to every request. Otherwise, you will get an Unauthorized error.// CommonJS Import const Retable = require('retable'); // ES6 Import // Using TypeScript? Pass `esModuleInterop` in tsconfig.json import Retable from 'retable'; const client = new Retable({ apiKey: "RTBLv1-xxxxxxxxxxxxxxxxxxx" });Error Handling
client.getWorkspace(workspace_id: string).then((p) => { // Do something }).catch(err => { err.detail; // Error detail err.status; // Error status code });Function Detail
Workspace
Function Description getWorkspaceGet a specific Workspace and its Projects getAllWorkspacesGet user's all Workspaces createWorkspaceCreate a new Workspace with a default Project deleteWorkspaceDelete a specific Workspace getWorkspaceProjectsGet all Projects that belong to a specific Workspace Project
Function Description createProjectCreate a Project under the given Workspace with a default Retable getProjectGet a specific Project with Retables deleteProjectDelete a specific Project getProjectTablesGet all Retables that belong to a specific Project Table
Function Description createTableCreate a new Retable under a specific Project getTableGet information about a specific Retable deleteColumnDelete column from a specific Retable addColumnCreate a new column on the specific Retable getRowReturns data of a specific Retable insertRowInsert row to a specific Retable updateRowUpdate row of a specific Retable deleteRowDelete row from a specific Retable
#### **Get a Workspace**
>  https://api.retable.io/v1/public/workspace/{workspace_id}
```javascript
client.getWorkspace(workspace_id: string).then(res => {
res.data // workspace data object
});
```
#### **Get All Workspaces**
>  https://api.retable.io/v1/public/workspace
```javascript
client.getAllWorkspaces().then(res => {
res.data // workspace data object
});
```
#### **Create a Workspace**
>  https://api.retable.io/v1/public/workspace
```javascript
client.createWorkspace(
{
name: 'string',
description: 'string'
}).then(res => {
res.data // workspace data object
});
```
#### **Delete a Workspace**
>  https://api.retable.io/v1/public/workspace/{workspace_id}
```javascript
client.deleteWorkspace(workspace_id: string).then(res => {
res.data // workspace data object
});
```
#### **Get Workspace's Projects**
>  https://api.retable.io/v1/public/workspace/{workspace_id}/project
```javascript
client.getWorkspaceProjects(workspace_id: string).then(res => {
res.data // workspace data object
});
```
#### **Create a Project**
>  https://api.retable.io/v1/public/workspace/{workspace_id}/project
```javascript
client.createProject(workspace_id: string, {
name: 'string',
description: 'string',
color: 'string';
}).then(res => {
res.data // project data object
});
```
#### **Get a Project**
>  https://api.retable.io/v1/public/project/{project_id}
```javascript
client.getProject(project_id: string).then(res => {
res.data // project data object
});
```
#### **Delete a Project**
>  https://api.retable.io/v1/project/{project_id}
```javascript
client.deleteProject(project_id: string).then(res => {
res.data //project data object
});
```
#### **Get Project's Tables**
>  https://api.retable.io/v1/public/project/{project_id}/retable
```javascript
client.getProjectTables(project_id: string).then(res => {
res.data // project data object
});
```
#### **Create a Table**
>  https://api.retable.io/v1/public/project/{project_id}/retable
```javascript
client.createTable(project_id: string).then(res => {
res.data // retable data object
});
```
#### **Get a Table**
>  https://api.retable.io/v1/public/retable/{retable_id}
```javascript
client.getTable(retable_id: string).then(res => {
res.data // retable data object
});
```
#### **Delete Column**
>  https://api.retable.io/v1/public/retable/{retable_id}/column
```javascript
client.deleteColumn(retable_id: string,{
column_ids: [
"<column_id>",
"<column_id>"
]
}).then(res => {
res.data // column data array
});
```
#### **Add Column**
>  https://api.retable.io/v1/public/retable/{retable_id}/column
```javascript
client.addColumn(retable_id: string,{
columns: [
{
title: "hello",
type: "text"
}
]
}).then(res => {
res.data // column data array
});
```
#### **Get Row**
>  https://api.retable.io/v1/public/retable/{retable_id}/data
```javascript
client.getRow(retable_id: string).then(res => {
res.data // row data object
});
```
#### **Insert Row**
>  https://api.retable.io/v1/public/retable/{retable_id}/data
```javascript
client.insertRow(retable_id: string,{
data: [
{
columns: [
{
column_id: "Bvt1FQhTyAPjmDx",
cell_value: "Isengard"
}
]
},
{
columns: [
{
column_id: "Bvt1FQhTyAPjmDx",
cell_value: "Rivendell"
}
]
}
]
}).then(res => {
res.data // row data object
});
```
#### **Update Row**
>  https://api.retable.io/v1/public/retable/{retable_id}/data
```javascript
client.updateRow(retable_id: string,{
rows: [
{
row_id: 2,
columns: [
{
column_id: "Bvt1FtQhTyAPjmDx",
update_cell_value: "Mordor"
}
]
},
]
}).then(res => {
res.data // row data array
});
```
#### **Delete Row**
>  https://api.retable.io/v1/public/retable/{retable_id}/data
```javascript
client.deleteRow(retable_id: string,{
row_ids: [
1
]
}).then(res => {
res.data // row data object
});
```2 years ago