retablejs
v1.0.0
Published
Retable API Client for Node
Downloads
1
Readme
ℹ️ 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 build
For 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 |
| :--------------------- | :---------------------------------------------------------------------------------- |
|getWorkspace
| Get a specific Workspace and its Projects | |getAllWorkspaces
| Get user's all Workspaces | |createWorkspace
| Create a new Workspace with a default Project | |deleteWorkspace
| Delete a specific Workspace | |getWorkspaceProjects
| Get all Projects that belong to a specific Workspace |Project
| Function | Description |
| :--------------------- | :--------------------------------------------------------------------------------------- |
|createProject
| Create a Project under the given Workspace with a default Retable |
|getProject
| Get a specific Project with Retables | |deleteProject
| Delete a specific Project | |getProjectTables
| Get all Retables that belong to a specific Project |Table
| Function | Description |
| :--------------------- | :----------------------------------------------------------------- |
|createTable
| Create a new Retable under a specific Project |
|getTable
| Get information about a specific Retable | |deleteColumn
| Delete column from a specific Retable | |addColumn
| Create a new column on the specific Retable | |getRow
| Returns data of a specific Retable | |insertRow
| Insert row to a specific Retable | |updateRow
| Update row of a specific Retable | |deleteRow
| Delete row from a specific Retable |Get a Workspace
https://api.retable.io/v1/public/workspace/{workspace_id}
client.getWorkspace(workspace_id: string).then(res => { res.data // workspace data object });
Get All Workspaces
https://api.retable.io/v1/public/workspace
client.getAllWorkspaces().then(res => { res.data // workspace data object });
Create a Workspace
https://api.retable.io/v1/public/workspace
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}
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
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
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}
client.getProject(project_id: string).then(res => { res.data // project data object });
Delete a Project
https://api.retable.io/v1/project/{project_id}
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
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
client.createTable(project_id: string).then(res => { res.data // retable data object });
Get a Table
https://api.retable.io/v1/public/retable/{retable_id}
client.getTable(retable_id: string).then(res => { res.data // retable data object });
Delete Column
https://api.retable.io/v1/public/retable/{retable_id}/column
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
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
client.getRow(retable_id: string).then(res => { res.data // row data object });
Insert Row
https://api.retable.io/v1/public/retable/{retable_id}/data
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
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
client.deleteRow(retable_id: string,{ row_ids: [ 1 ] }).then(res => { res.data // row data object });