Skip to content

Commit

Permalink
Baserow integration (ToolJet#2773)
Browse files Browse the repository at this point in the history
* Baserow integration

* Added JSON5 & updated code
  • Loading branch information
kavinvenkatachalam authored Apr 11, 2022
1 parent 9fd3599 commit 7711a34
Show file tree
Hide file tree
Showing 22 changed files with 1,427 additions and 0 deletions.
250 changes: 250 additions & 0 deletions docs/docs/data-sources/baserow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
---
sidebar_position: 3
---

# Baserow

## Connection

ToolJet can connect to your Baserow account to read and write data. Baserow API token is required to create an Baserow data source on ToolJet. You can follow the steps to create API token from [this link](https://baserow.io/api-docs).

<img class="screenshot-full" src="/img/datasource-reference/baserow/baserow-intro.gif" alt="ToolJet - Data source - Baserow" height="420" />

:::tip
This guide assumes that you have already gone through [Adding a data source](/docs/tutorial/adding-a-datasource) tutorial.
:::

Supported queries:

- List fields
- List rows
- Get row
- Create row
- Update row
- Move row
- Delete row

## List fields

This query lists all the fields in a table.

Required parameters:

- Table ID

<img class="screenshot-full" src="/img/datasource-reference/baserow/baserow-list-fields.png" alt="ToolJet - Baserow List Fields Operarion" height="420" />

Example response from Baserow:

```json
[
{
"id": 331156,
"table_id": 57209,
"name": "Name",
"order": 0,
"type": "text",
"primary": true,
"text_default": ""
},
{
"id": 331157,
"table_id": 57209,
"name": "Last name",
"order": 1,
"type": "text",
"primary": false,
"text_default": ""
},
{
"id": 331158,
"table_id": 57209,
"name": "Notes",
"order": 2,
"type": "long_text",
"primary": false
},
{
"id": 331159,
"table_id": 57209,
"name": "Active",
"order": 3,
"type": "boolean",
"primary": false
}
]
```

## List rows

This query lists all the rows in a table.

Required parameters:

- Table ID

<img class="screenshot-full" src="/img/datasource-reference/baserow/baserow-list-rows.png" alt="ToolJet - Baserow List Rows Operarion" height="420" />

Example response from Baserow:

```json
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": 2,
"order": "0.99999999999999999991",
"Name": "Bill",
"Last name": "Gates",
"Notes": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce dignissim, urna eget rutrum sollicitudin, sapien diam interdum nisi, quis malesuada nibh eros a est.",
"Active": false
},
{
"id": 3,
"order": "0.99999999999999999992",
"Name": "Mark",
"Last name": "Zuckerburg",
"Notes": null,
"Active": true
},
{
"id": 1,
"order": "0.99999999999999999997",
"Name": "Elon",
"Last name": "Musk",
"Notes": null,
"Active": true
}
]
}
```

## Get row

Required parameters:

- Table ID
- Row ID

<img class="screenshot-full" src="/img/datasource-reference/baserow/baserow-get-row.png" alt="ToolJet - Baserow Row List Row Operarion" height="420" />

Example response from Baserow:

```json
{
"id": 1,
"order": "0.99999999999999999997",
"Name": "Elon",
"Last name": "Musk",
"Notes": null,
"Active": true
}
```

## Create row

Required parameters:

- Table ID

Optional parameters:

- Before ID (The created row will be placed before the entered ID)

<img class="screenshot-full" src="/img/datasource-reference/baserow/baserow-create-row.png" alt="ToolJet - Baserow Create Row Operarion" height="420" />

#### Example Records:

```json
{
"Name": "Test",
"Last name": "Test Name",
"Notes": "Test Note",
"Active": true
}
```

Example response from Baserow:

```json
{
"id": 19,
"order": "0.99999999999999999996",
"Name": "Test",
"Last name": "Test Name",
"Notes": "Test Note",
"Active": true
}
```

## Update row

Required parameters:

- Table ID
- Row ID

<img class="screenshot-full" src="/img/datasource-reference/baserow/baserow-update-row.png" alt="ToolJet - Baserow Update Row Operarion" height="420" />

#### Example Records:

```json
{
"Name": "Test",
"Last name": "Test Name",
"Notes": "Test Note",
"Active": true
}
```

Example response from Baserow:

```json
{
"id": 19,
"order": "0.99999999999999999996",
"Name": "Test",
"Last name": "Test Name",
"Notes": "Test Note",
"Active": true
}
```

## Move row

Required parameters:

- Table ID
- Row ID

Optional parameters:

- Before ID (The row will be moved before the entered ID. If not provided, then the row will be moved to the end )

<img class="screenshot-full" src="/img/datasource-reference/baserow/baserow-move-row.png" alt="ToolJet - Baserow Move Row Operarion" height="420" />

Example response from Baserow:

```json
{
"id": 3,
"order": "2.00000000000000000000",
"Name": "Mark",
"Last name": "Zuckerburg",
"Notes": null,
"Active": true
}
```

## Delete row

Required parameters:

- Table ID
- Row ID

<img class="screenshot-full" src="/img/datasource-reference/baserow/baserow-delete-row.png" alt="ToolJet - Baserow Delete List Row Operarion" height="420" />

While deleting a row, the response will be either success or failure from Baserow
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions plugins/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions plugins/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"dependencies": {
"@tooljet-plugins/airtable": "file:packages/airtable",
"@tooljet-plugins/appwrite": "file:packages/appwrite",
"@tooljet-plugins/baserow": "file:packages/baserow",
"@tooljet-plugins/bigquery": "file:packages/bigquery",
"@tooljet-plugins/common": "file:packages/common",
"@tooljet-plugins/couchdb": "file:packages/couchdb",
Expand Down
4 changes: 4 additions & 0 deletions plugins/packages/baserow/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
lib/*.d.*
lib/*.js
lib/*.js.map
4 changes: 4 additions & 0 deletions plugins/packages/baserow/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

# Baserow

Documentation on: https://docs.tooljet.com/docs/data-sources/baserow
7 changes: 7 additions & 0 deletions plugins/packages/baserow/__tests__/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
'use strict';

// const baserow = require('../lib');

describe('baserow', () => {
it.todo('needs tests');
});
16 changes: 16 additions & 0 deletions plugins/packages/baserow/lib/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 7711a34

Please sign in to comment.